From 32e9c17f1272b9bdd06e7252814b63bed4ecb10d Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sat, 13 Dec 2025 11:40:26 +0800 Subject: [PATCH] =?UTF-8?q?fix=EF=BC=9A=E3=80=90pay=E3=80=91=E6=94=AF?= =?UTF-8?q?=E4=BB=98=E9=92=B1=E5=8C=85=E9=80=80=E6=AC=BE=E6=97=B6=EF=BC=8C?= =?UTF-8?q?merchantRefundId=20=E4=BC=A0=E9=80=92=E4=B8=8D=E6=AD=A3?= =?UTF-8?q?=E7=A1=AE=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/wallet/PayWalletRechargeController.java | 2 +- .../pay/service/wallet/PayWalletRechargeService.java | 4 ++-- .../pay/service/wallet/PayWalletRechargeServiceImpl.java | 7 +++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargeController.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargeController.java index c5e84aa700..2626323843 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargeController.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargeController.java @@ -51,7 +51,7 @@ public class PayWalletRechargeController { public CommonResult updateWalletRechargeRefunded(@RequestBody PayRefundNotifyReqDTO notifyReqDTO) { walletRechargeService.updateWalletRechargeRefunded( Long.valueOf(notifyReqDTO.getMerchantOrderId()), - Long.valueOf(notifyReqDTO.getMerchantRefundId()), + notifyReqDTO.getMerchantRefundId(), notifyReqDTO.getPayRefundId()); return success(true); } diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java index f2ab50ed68..d837b9acd6 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java @@ -56,9 +56,9 @@ public interface PayWalletRechargeService { * 更新钱包充值记录为已退款 * * @param id 钱包充值记录编号 - * @param refundId 钱包充值退款编号(实际和 id 相同) + * @param refundId 钱包充值退款编号(格式:{id}-refund) * @param payRefundId 退款单id */ - void updateWalletRechargeRefunded(Long id, Long refundId, Long payRefundId); + void updateWalletRechargeRefunded(Long id, String refundId, Long payRefundId); } diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java index 95539b28d5..a49936d9f0 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java @@ -220,9 +220,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { @Override @Transactional(rollbackFor = Exception.class) - public void updateWalletRechargeRefunded(Long id, Long refundId, Long payRefundId) { + public void updateWalletRechargeRefunded(Long id, String refundId, Long payRefundId) { // 1.1 获取钱包充值记录 - // 说明:因为 id 和 refundId 是相同的,所以直接使用 id 查询即可! PayWalletRechargeDO walletRecharge = walletRechargeMapper.selectById(id); if (walletRecharge == null) { log.error("[updateWalletRechargerPaid][钱包充值记录不存在,钱包充值记录 id({})]", id); @@ -274,8 +273,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { walletRecharge.getId(), payRefundId, toJsonString(walletRecharge), toJsonString(payRefund)); throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_PRICE_NOT_MATCH); } - // 2.3 校验退款订单商户订单是否匹配 - if (notEqual(payRefund.getMerchantRefundId(), walletRecharge.getId().toString())) { + // 2.3 校验退款订单商户退款单是否匹配 + if (notEqual(payRefund.getMerchantRefundId(), walletRecharge.getId() + "-refund")) { log.error("[validateWalletRechargeCanRefunded][钱包({}) 退款单不匹配({}),请进行处理!payRefund 数据是:{}]", walletRecharge.getId(), payRefundId, toJsonString(payRefund)); throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_ORDER_ID_ERROR);