skyline 2 жил өмнө
parent
commit
0743075c67

+ 4 - 2
service/src/main/java/com/kym/service/wechat/impl/WxPayServiceImpl.java

@@ -416,8 +416,10 @@ public class WxPayServiceImpl implements WxPayService {
         if (!CommUtil.isEmptyOrNull(payLogs) && payLogs.get(0).getTotal() >= refundAmount.get()) {
             // 退款日志
             var refundLog = new RefundLog().setUserId(payLogs.get(0).getUserId()).setOutTradeNo(payLogs.get(0).getOutTradeNo())
-                    .setTotal(payLogs.get(0).getTotal()).setRefund(payLogs.get(0).getTotal() - account.getDiscountAmount())
-                    .setDiscountAmount(account.getDiscountAmount()).setOutRefundNo(OrderUtils.getOrderNo());
+                    .setTotal(payLogs.get(0).getTotal())
+                    .setRefund(refundAmount.get() - account.getDiscountAmount())
+                    .setDiscountAmount(account.getDiscountAmount())
+                    .setOutRefundNo(OrderUtils.getOrderNo());
             refundLogService.save(refundLog);
         } else if (!CommUtil.isEmptyOrNull(payLogs) && payLogs.get(0).getTotal() < refundAmount.get()) {
             // 最后一次的充值金额不能覆盖退款金额,拆分成多笔退款