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);