修复刷卡/并充余额校验问题:余额不足默认充电金额时改用全部余额,而非直接拒绝启动充电

- ConfirmStartChargingRequestHandler: 云快充刷卡预校验,余额小于默认金额时降级为全部余额
- resolveBalanceChargeAmount: 订单生成共享校验方法,余额不足默认金额时降级为全部余额
- 并充生成订单: 同逻辑修复
- 扫码支付(NotDelayMerchant/DelayMerchant)不受影响,独立的余额校验逻辑保持不变
This commit is contained in:
Guoqs
2026-07-25 12:58:14 +08:00
parent 2078d78768
commit fcbbc52e99
2 changed files with 20 additions and 2 deletions

View File

@@ -317,7 +317,13 @@ public class ConfirmStartChargingRequestHandler extends AbstractYkcHandler {
BigDecimal totalBalance = memberWalletVO.getTotalBalance() == null
? BigDecimal.ZERO
: memberWalletVO.getTotalBalance();
if (!ChargeAmountUtils.isPositive(chargeAmount) || totalBalance.compareTo(chargeAmount) < 0) {
// 账户余额小于默认充电金额时,使用全部余额
if (totalBalance.compareTo(chargeAmount) < 0) {
log.info("余额不足默认金额,使用全部余额, memberId:{}, chargeAmount:{}, totalBalance:{}",
memberWalletVO.getMemberId(), chargeAmount, totalBalance);
chargeAmount = totalBalance;
}
if (!ChargeAmountUtils.isPositive(chargeAmount)) {
log.info("余额不足, memberId:{}, chargeAmount:{}, totalBalance:{}",
memberWalletVO.getMemberId(), chargeAmount, totalBalance);
return buildFailureResult("03");