From 4764cd9515eb45f0481a72b18fb86290ef72cc49 Mon Sep 17 00:00:00 2001 From: Guoqs <123@jsowell.com> Date: Wed, 23 Apr 2025 11:11:55 +0800 Subject: [PATCH] =?UTF-8?q?=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/programlogic/DelayMerchantProgramLogic.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java index b17dbecaf..1917c7001 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/programlogic/DelayMerchantProgramLogic.java @@ -774,6 +774,7 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic { logger.info("执行订单退款-退款金额小于等于0,orderCode:{}, 退款金额:{}", orderBasicInfo.getOrderCode(), refundAmount); return; } + // 查询该笔订单的退款记录 2025年4月23日10点17分此判断移动到具体方法中了 // List orderRefundInfoList = orderBasicInfoService.getOrderRefundInfoList(orderBasicInfo); // if (CollectionUtils.isNotEmpty(orderRefundInfoList)) { @@ -1089,6 +1090,8 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic { return; } + // 更新退款金额为 退款金额 - 已退款金额 + refundAmount = refundAmount.subtract(orderRefundedAmount); // 微信退款逻辑 ApplyRefundDTO applyRefundDTO = new ApplyRefundDTO(); @@ -1134,11 +1137,12 @@ public class DelayMerchantProgramLogic extends AbstractProgramLogic { dto.getWechatAppId(), dto.getMemberId(), ScenarioEnum.ORDER.getValue(), dto.getOrderCode()); if (response != null && response.isNotFailed()) { // 交易退款金额 - BigDecimal refundAmt = new BigDecimal(response.getReverse_amt()); + BigDecimal refundAmt = new BigDecimal(response.getReverse_amt()); // 本次退款金额 memberAdapayRecordService.updateRefundAmountFromFreezeAmount(paymentId, refundAmt); // 更新订单支付记录的退款金额 - orderPayRecordService.updateRefundAmount(dto.getOrderCode(), paymentId, refundAmt); + BigDecimal refundedAmt = new BigDecimal(response.getRefunded_amt()); // 已退款金额 + orderPayRecordService.updateRefundAmount(dto.getOrderCode(), paymentId, refundedAmt); } logger.info("【{}】-汇付支付订单:{}, 执行退款逻辑 param:{}, result:{}", this.getClass().getSimpleName(), dto.getOrderCode(), JSON.toJSONString(dto), JSON.toJSONString(response)); }