Commit 32e9c17f1272b9bdd06e7252814b63bed4ecb10d
1 parent
bfff8f5e
fix:【pay】支付钱包退款时,merchantRefundId 传递不正确的问题
Showing
3 changed files
with
6 additions
and
7 deletions
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/controller/admin/wallet/PayWalletRechargeController.java
| @@ -51,7 +51,7 @@ public class PayWalletRechargeController { | @@ -51,7 +51,7 @@ public class PayWalletRechargeController { | ||
| 51 | public CommonResult<Boolean> updateWalletRechargeRefunded(@RequestBody PayRefundNotifyReqDTO notifyReqDTO) { | 51 | public CommonResult<Boolean> updateWalletRechargeRefunded(@RequestBody PayRefundNotifyReqDTO notifyReqDTO) { |
| 52 | walletRechargeService.updateWalletRechargeRefunded( | 52 | walletRechargeService.updateWalletRechargeRefunded( |
| 53 | Long.valueOf(notifyReqDTO.getMerchantOrderId()), | 53 | Long.valueOf(notifyReqDTO.getMerchantOrderId()), |
| 54 | - Long.valueOf(notifyReqDTO.getMerchantRefundId()), | 54 | + notifyReqDTO.getMerchantRefundId(), |
| 55 | notifyReqDTO.getPayRefundId()); | 55 | notifyReqDTO.getPayRefundId()); |
| 56 | return success(true); | 56 | return success(true); |
| 57 | } | 57 | } |
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeService.java
| @@ -56,9 +56,9 @@ public interface PayWalletRechargeService { | @@ -56,9 +56,9 @@ public interface PayWalletRechargeService { | ||
| 56 | * 更新钱包充值记录为已退款 | 56 | * 更新钱包充值记录为已退款 |
| 57 | * | 57 | * |
| 58 | * @param id 钱包充值记录编号 | 58 | * @param id 钱包充值记录编号 |
| 59 | - * @param refundId 钱包充值退款编号(实际和 id 相同) | 59 | + * @param refundId 钱包充值退款编号(格式:{id}-refund) |
| 60 | * @param payRefundId 退款单id | 60 | * @param payRefundId 退款单id |
| 61 | */ | 61 | */ |
| 62 | - void updateWalletRechargeRefunded(Long id, Long refundId, Long payRefundId); | 62 | + void updateWalletRechargeRefunded(Long id, String refundId, Long payRefundId); |
| 63 | 63 | ||
| 64 | } | 64 | } |
yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletRechargeServiceImpl.java
| @@ -220,9 +220,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { | @@ -220,9 +220,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { | ||
| 220 | 220 | ||
| 221 | @Override | 221 | @Override |
| 222 | @Transactional(rollbackFor = Exception.class) | 222 | @Transactional(rollbackFor = Exception.class) |
| 223 | - public void updateWalletRechargeRefunded(Long id, Long refundId, Long payRefundId) { | 223 | + public void updateWalletRechargeRefunded(Long id, String refundId, Long payRefundId) { |
| 224 | // 1.1 获取钱包充值记录 | 224 | // 1.1 获取钱包充值记录 |
| 225 | - // 说明:因为 id 和 refundId 是相同的,所以直接使用 id 查询即可! | ||
| 226 | PayWalletRechargeDO walletRecharge = walletRechargeMapper.selectById(id); | 225 | PayWalletRechargeDO walletRecharge = walletRechargeMapper.selectById(id); |
| 227 | if (walletRecharge == null) { | 226 | if (walletRecharge == null) { |
| 228 | log.error("[updateWalletRechargerPaid][钱包充值记录不存在,钱包充值记录 id({})]", id); | 227 | log.error("[updateWalletRechargerPaid][钱包充值记录不存在,钱包充值记录 id({})]", id); |
| @@ -274,8 +273,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { | @@ -274,8 +273,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { | ||
| 274 | walletRecharge.getId(), payRefundId, toJsonString(walletRecharge), toJsonString(payRefund)); | 273 | walletRecharge.getId(), payRefundId, toJsonString(walletRecharge), toJsonString(payRefund)); |
| 275 | throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_PRICE_NOT_MATCH); | 274 | throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_PRICE_NOT_MATCH); |
| 276 | } | 275 | } |
| 277 | - // 2.3 校验退款订单商户订单是否匹配 | ||
| 278 | - if (notEqual(payRefund.getMerchantRefundId(), walletRecharge.getId().toString())) { | 276 | + // 2.3 校验退款订单商户退款单是否匹配 |
| 277 | + if (notEqual(payRefund.getMerchantRefundId(), walletRecharge.getId() + "-refund")) { | ||
| 279 | log.error("[validateWalletRechargeCanRefunded][钱包({}) 退款单不匹配({}),请进行处理!payRefund 数据是:{}]", | 278 | log.error("[validateWalletRechargeCanRefunded][钱包({}) 退款单不匹配({}),请进行处理!payRefund 数据是:{}]", |
| 280 | walletRecharge.getId(), payRefundId, toJsonString(payRefund)); | 279 | walletRecharge.getId(), payRefundId, toJsonString(payRefund)); |
| 281 | throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_ORDER_ID_ERROR); | 280 | throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_ORDER_ID_ERROR); |