浏览代码

fix:支付中,修改余额

liujunchi 2 年之前
父节点
当前提交
ca17e25fe2

+ 4 - 3
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentOrderServiceImpl.java

@@ -1132,7 +1132,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         studentPaymentOrder.setVersion(studentPaymentOrder.getVersion());
 
         // 余额支付
-        if (model.isUseBalance() && amount.compareTo(BigDecimal.ZERO) > 0 ) {
+        if (model.isUseBalance() && studentPaymentOrder.getActualAmount().compareTo(BigDecimal.ZERO) > 0 ) {
             if (!StringUtils.isEmpty(model.getOldOrderNo())) {
                 studentPaymentOrder.setActualAmount(amount);
                 studentPaymentOrder.setBalancePaymentAmount(balance);
@@ -1141,6 +1141,7 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
                 if (userCashAccount == null) {
                     throw new BizException("用户账户不存在");
                 }
+                amount = studentPaymentOrder.getActualAmount();
                 if (userCashAccount.getBalance() != null && userCashAccount.getBalance().compareTo(BigDecimal.ZERO) > 0) {
                     balance = amount.compareTo(userCashAccount.getBalance()) >= 0 ? userCashAccount.getBalance() : amount;
                     amount = amount.subtract(balance);
@@ -1168,8 +1169,8 @@ public class StudentPaymentOrderServiceImpl extends BaseServiceImpl<Long, Studen
         studentGoodsSellDao.insert(studentGoodsSell);
 
 
-        if (amount.compareTo(BigDecimal.ZERO) == 0) {
-            studentPaymentRouteOrderService.addRouteOrder(model.getOrderNo(), student.getOrganId(), balance);
+        if (studentPaymentOrder.getActualAmount().compareTo(BigDecimal.ZERO) == 0) {
+            studentPaymentRouteOrderService.addRouteOrder(model.getOrderNo(), student.getOrganId(), studentPaymentOrder.getBalancePaymentAmount());
             Map<String, String> notifyMap = new HashMap<>();
             notifyMap.put("tradeState", "1");
             notifyMap.put("balanceAmount",studentPaymentOrder.getBalancePaymentAmount() == null?"0":studentPaymentOrder.getBalancePaymentAmount().toString());