|
@@ -49,6 +49,8 @@ import java.util.*;
|
|
|
import java.util.concurrent.atomic.AtomicInteger;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
+import static com.ym.mec.biz.dal.enums.DealStatusEnum.CLOSE;
|
|
|
+
|
|
|
@Service
|
|
|
public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, StudentPaymentOrder> implements StudentPaymentOrderService {
|
|
|
|
|
@@ -1032,6 +1034,18 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
@Override
|
|
|
public Map createOrder(MallCreateOrderModel model) throws Exception {
|
|
|
|
|
|
+ if (StringUtils.isNotEmpty(model.getOldOrderNo())) {
|
|
|
+ StudentPaymentOrder orderByOrderNo = studentPaymentOrderService.findOrderByOrderNo(model.getOldOrderNo());
|
|
|
+ // 已有订单,先关单
|
|
|
+ orderByOrderNo.setStatus(CLOSE);
|
|
|
+ studentPaymentOrderService.update(orderByOrderNo);
|
|
|
+ if (orderByOrderNo.getBalancePaymentAmount() != null && orderByOrderNo.getBalancePaymentAmount().compareTo(BigDecimal.ZERO) > 0) {
|
|
|
+ sysUserCashAccountService.updateBalance(orderByOrderNo.getUserId(), orderByOrderNo.getBalancePaymentAmount(), PlatformCashAccountDetailTypeEnum.REFUNDS, "关闭订单");
|
|
|
+ }
|
|
|
+ //退优惠券
|
|
|
+ sysCouponCodeService.quit(orderByOrderNo.getCouponCodeId());
|
|
|
+ }
|
|
|
+
|
|
|
SysUser student = studentDao.getUser(model.getUserId());
|
|
|
Map payMap = new HashMap();
|
|
|
if (student == null) {
|
|
@@ -1055,7 +1069,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
|
|
|
|
|
|
String baseApiUrl = sysConfigDao.findConfigValue("base_api_url");
|
|
|
|
|
|
- // todo receiver类型
|
|
|
+ // receiver类型
|
|
|
payMap = payService.getPayMap(
|
|
|
studentPaymentOrder.getExpectAmount(),
|
|
|
studentPaymentOrder.getActualAmount(),
|