From e6be1946f0a669385d5c27743c3d96113af6bf5a Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 14 Jan 2025 09:43:21 +0800
Subject: [PATCH] fix(mall): 修复直推成员缓存逻辑

---
 src/main/java/cc/mrbird/febs/mall/service/impl/RunVipServiceImpl.java |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 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..d46432f 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){
@@ -544,7 +549,7 @@
 
             BigDecimal presentPriceNext = runVipNext.getPresentPrice();
             if(presentPriceNext.compareTo(add) <= 0){
-                mallCharge.setVipCode(runVipGrow.getLevelNext());
+                mallCharge.setVipCode(runVipNext.getVipCode());
             }
         }
         mallChargeMapper.insert(mallCharge);

--
Gitblit v1.9.1