From ca4cfb6e80c47be9fcb3a3e1d4575cf2ed9f1f62 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 03 Jan 2025 22:38:36 +0800 Subject: [PATCH] fix(mall): 修复余额不足时的支付异常 --- src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java | 9 +++++++-- 1 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java index eb9f258..ea2a489 100644 --- a/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java @@ -107,6 +107,9 @@ reduceAmount = runVipGrow.getAmountNow(); } presentAmount = presentAmount.subtract(reduceAmount); + if(BigDecimal.ZERO.compareTo(presentAmount) >= 0){ + throw new FebsException("支付异常,请刷新页面重试"); + } Long addressId = apiGoChargeDto.getAddressId(); MallMemberPayment mallMemberPayment = mallMemberPaymentMapper.selectById(addressId); @@ -200,10 +203,12 @@ .orderByDesc(RunVipGrow::getId) ).stream().findFirst().orElse(null); if(runVipGrow != null){ - BigDecimal amountNow = runVipGrow.getAmountNow(); - reduceAmount = reduceAmount.add(amountNow); + reduceAmount = runVipGrow.getAmountNow(); } presentAmount = presentAmount.subtract(reduceAmount); + if(BigDecimal.ZERO.compareTo(presentAmount) >= 0){ + throw new FebsException("支付异常,请刷新页面重试"); + } MallMemberWallet mallMemberWallet = mallMemberWalletMapper.selectWalletByMemberId(memberId); if(mallMemberWallet.getCommission().compareTo(BigDecimal.ZERO) <= 0){ -- Gitblit v1.9.1