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 | 51 | public CommonResult<Boolean> updateWalletRechargeRefunded(@RequestBody PayRefundNotifyReqDTO notifyReqDTO) { |
| 52 | 52 | walletRechargeService.updateWalletRechargeRefunded( |
| 53 | 53 | Long.valueOf(notifyReqDTO.getMerchantOrderId()), |
| 54 | - Long.valueOf(notifyReqDTO.getMerchantRefundId()), | |
| 54 | + notifyReqDTO.getMerchantRefundId(), | |
| 55 | 55 | notifyReqDTO.getPayRefundId()); |
| 56 | 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 | 56 | * 更新钱包充值记录为已退款 |
| 57 | 57 | * |
| 58 | 58 | * @param id 钱包充值记录编号 |
| 59 | - * @param refundId 钱包充值退款编号(实际和 id 相同) | |
| 59 | + * @param refundId 钱包充值退款编号(格式:{id}-refund) | |
| 60 | 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 | 220 | |
| 221 | 221 | @Override |
| 222 | 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 | 224 | // 1.1 获取钱包充值记录 |
| 225 | - // 说明:因为 id 和 refundId 是相同的,所以直接使用 id 查询即可! | |
| 226 | 225 | PayWalletRechargeDO walletRecharge = walletRechargeMapper.selectById(id); |
| 227 | 226 | if (walletRecharge == null) { |
| 228 | 227 | log.error("[updateWalletRechargerPaid][钱包充值记录不存在,钱包充值记录 id({})]", id); |
| ... | ... | @@ -274,8 +273,8 @@ public class PayWalletRechargeServiceImpl implements PayWalletRechargeService { |
| 274 | 273 | walletRecharge.getId(), payRefundId, toJsonString(walletRecharge), toJsonString(payRefund)); |
| 275 | 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 | 278 | log.error("[validateWalletRechargeCanRefunded][钱包({}) 退款单不匹配({}),请进行处理!payRefund 数据是:{}]", |
| 280 | 279 | walletRecharge.getId(), payRefundId, toJsonString(payRefund)); |
| 281 | 280 | throw exception(WALLET_RECHARGE_REFUND_FAIL_REFUND_ORDER_ID_ERROR); | ... | ... |