From 11e160c6ac65cba824596b0f4b718d766878ed82 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 03 Jan 2025 17:37:47 +0800 Subject: [PATCH] fix(mall): 修复跑级计算错误 --- src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 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 8e99a59..cf29d0c 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 @@ -546,16 +546,21 @@ runVipGrow.setAmount(amount); runVipGrowMapper.updateById(runVipGrow); }else{ + + BigDecimal presentPrice = runVip.getPresentPrice(); + BigDecimal add = presentPrice.add(amount); + + BigDecimal presentPriceNext = runVipNext.getPresentPrice(); runVipGrow = new RunVipGrow(); runVipGrow.setMemberId(memberId); runVipGrow.setLevelNow(memberLevel); runVipGrow.setLevelNext(runVipNext.getVipCode()); - runVipGrow.setAmountAll(runVipNext.getPresentPrice()); - runVipGrow.setAmount(amount); - runVipGrow.setAmountNow(amount); + runVipGrow.setAmountAll(presentPriceNext); + runVipGrow.setAmount(add); + runVipGrow.setAmountNow(add); runVipGrowMapper.insert(runVipGrow); - if(runVipGrow.getAmountAll().compareTo(amount) <= 0){ + if(presentPriceNext.compareTo(add) <= 0){ mallCharge.setVipCode(runVipGrow.getLevelNext()); } } @@ -663,7 +668,8 @@ mallCharge.setVipCode(runVipGrow.getLevelNext()); } }else{ - if(runVipNext.getPresentPrice().compareTo(amount) <= 0){ + BigDecimal add = runVip.getPresentPrice().add(amount); + if(runVipNext.getPresentPrice().compareTo(add) <= 0){ mallCharge.setVipCode(runVipNext.getVipCode()); } } -- Gitblit v1.9.1