From 17ec78f68a5a1eae7a985d7a1c207cf6a517e912 Mon Sep 17 00:00:00 2001 From: YunaiV Date: Sun, 18 Jan 2026 17:58:34 +0800 Subject: [PATCH] fix:【pay】修复钱包流水生成逻辑,区分充值退款与消费支付情况,对应 https://t.zsxq.com/OJk9m --- yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java index 58036ee..445f06a 100644 --- a/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java +++ b/yudao-module-pay/src/main/java/cn/iocoder/yudao/module/pay/service/wallet/PayWalletServiceImpl.java @@ -174,7 +174,11 @@ public class PayWalletServiceImpl implements PayWalletService { } // 3. 生成钱包流水 - Integer afterBalance = payWallet.getBalance() - price; + // 情况一:充值退款:balance 在冻结时已扣,updateWhenRechargeRefund 只扣 freeze_price,所以 afterBalance 不变。https://t.zsxq.com/OJk9m + // 情况二:消费支付:updateWhenConsumption 从 balance 扣,所以 afterBalance = balance - price + Integer afterBalance = bizType == PayWalletBizTypeEnum.RECHARGE_REFUND + ? payWallet.getBalance() + : payWallet.getBalance() - price; WalletTransactionCreateReqBO bo = new WalletTransactionCreateReqBO().setWalletId(payWallet.getId()) .setPrice(-price).setBalance(afterBalance).setBizId(String.valueOf(bizId)) .setBizType(bizType.getType()).setTitle(bizType.getDescription()); -- libgit2 0.21.4