From fcbbc52e992f435cbe9576fcf73f8222bdece2b1 Mon Sep 17 00:00:00 2001 From: Guoqs <123456@jsowell.com> Date: Sat, 25 Jul 2026 12:58:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=88=B7=E5=8D=A1/=E5=B9=B6?= =?UTF-8?q?=E5=85=85=E4=BD=99=E9=A2=9D=E6=A0=A1=E9=AA=8C=E9=97=AE=E9=A2=98?= =?UTF-8?q?=EF=BC=9A=E4=BD=99=E9=A2=9D=E4=B8=8D=E8=B6=B3=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E5=85=85=E7=94=B5=E9=87=91=E9=A2=9D=E6=97=B6=E6=94=B9=E7=94=A8?= =?UTF-8?q?=E5=85=A8=E9=83=A8=E4=BD=99=E9=A2=9D=EF=BC=8C=E8=80=8C=E9=9D=9E?= =?UTF-8?q?=E7=9B=B4=E6=8E=A5=E6=8B=92=E7=BB=9D=E5=90=AF=E5=8A=A8=E5=85=85?= =?UTF-8?q?=E7=94=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ConfirmStartChargingRequestHandler: 云快充刷卡预校验,余额小于默认金额时降级为全部余额 - resolveBalanceChargeAmount: 订单生成共享校验方法,余额不足默认金额时降级为全部余额 - 并充生成订单: 同逻辑修复 - 扫码支付(NotDelayMerchant/DelayMerchant)不受影响,独立的余额校验逻辑保持不变 --- .../ConfirmStartChargingRequestHandler.java | 8 +++++++- .../service/impl/OrderBasicInfoServiceImpl.java | 14 +++++++++++++- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/ConfirmStartChargingRequestHandler.java b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/ConfirmStartChargingRequestHandler.java index 855ce3f88..8a66600e2 100644 --- a/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/ConfirmStartChargingRequestHandler.java +++ b/jsowell-netty/src/main/java/com/jsowell/netty/handler/yunkuaichong/ConfirmStartChargingRequestHandler.java @@ -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"); diff --git a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java index 65806e58f..0ddddbbc2 100644 --- a/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java +++ b/jsowell-pile/src/main/java/com/jsowell/pile/service/impl/OrderBasicInfoServiceImpl.java @@ -4730,7 +4730,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { BigDecimal totalBalance = memberVO.getTotalBalance() == null ? BigDecimal.ZERO : memberVO.getTotalBalance(); + // 账户余额小于默认充电金额时,使用全部余额 if (totalBalance.compareTo(chargeAmount) < 0) { + logger.info("充电桩主动申请启动充电生成订单 余额不足默认金额,使用全部余额, memberId:{}, chargeAmount:{}, totalBalance:{}", + memberId, chargeAmount, totalBalance); + chargeAmount = totalBalance; + } + if (!ChargeAmountUtils.isPositive(chargeAmount)) { logger.info("充电桩主动申请启动充电生成订单 余额不足, memberId:{}, chargeAmount:{}, totalBalance:{}", memberId, chargeAmount, totalBalance); throw new BusinessException(ReturnCodeEnum.CODE_BALANCE_IS_INSUFFICIENT); @@ -6777,7 +6783,13 @@ public class OrderBasicInfoServiceImpl implements OrderBasicInfoService { BigDecimal totalBalance = memberWalletVO.getTotalBalance() == null ? BigDecimal.ZERO : memberWalletVO.getTotalBalance(); - if (!ChargeAmountUtils.isPositive(chargeAmount) || totalBalance.compareTo(chargeAmount) < 0) { + // 账户余额小于默认充电金额时,使用全部余额 + if (totalBalance.compareTo(chargeAmount) < 0) { + logger.info("并充生成订单----余额不足默认金额,使用全部余额, memberId:{}, chargeAmount:{}, totalBalance:{}", + memberWalletVO.getMemberId(), chargeAmount, totalBalance); + chargeAmount = totalBalance; + } + if (!ChargeAmountUtils.isPositive(chargeAmount)) { map.put("transactionCode", Constants.ILLEGAL_TRANSACTION_CODE); map.put("accountBalance", accountBalance); map.put("defeatReasonCode", "03");