From c542c56572ea8936301a6bdc736e23b846c8c006 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期六, 04 一月 2025 18:01:58 +0800
Subject: [PATCH] 修改保级功能bug

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java |  104 +++++++++++++++------------------------------------
 1 files changed, 31 insertions(+), 73 deletions(-)

diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
index 89e3779..3926014 100644
--- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
+++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/CommissionServiceImpl.java
@@ -8,6 +8,7 @@
 import com.ruoyi.account.api.model.BalanceChangeRecord;
 import com.ruoyi.account.api.model.UserPoint;
 import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
 import com.ruoyi.order.service.CommissionService;
 import com.ruoyi.order.service.OrderGoodService;
 import com.ruoyi.order.service.OrderService;
@@ -97,26 +98,30 @@
                 BigDecimal superiorSubcommission = orderGood.getSuperiorSubcommission();
                 //上级获得分佣积分(直推上级|直帮上级)
                 Integer superiorRebatePoints = orderGood.getSuperiorRebatePoints();
-                String[] split = orderGood.getSuperiorPriceType().split(",");
-                for (String s : split) {
-                    //直推上级
-                    if("1".equals(s)){
-                        ztsj_price = ztsj_price.add(superiorSubcommission);
-                    }
-                    //直帮上级
-                    if("2".equals(s)){
-                        zbsj_price = zbsj_price.add(superiorSubcommission);
+                if(StringUtils.isNotEmpty(orderGood.getSuperiorPriceType())){
+                    String[] split = orderGood.getSuperiorPriceType().split(",");
+                    for (String s : split) {
+                        //直推上级
+                        if("1".equals(s)){
+                            ztsj_price = ztsj_price.add(superiorSubcommission);
+                        }
+                        //直帮上级
+                        if("2".equals(s)){
+                            zbsj_price = zbsj_price.add(superiorSubcommission);
+                        }
                     }
                 }
-                split = orderGood.getSuperiorType().split(",");
-                for (String s : split) {
-                    //直推上级
-                    if("1".equals(s)){
-                        ztsj_point += superiorRebatePoints;
-                    }
-                    //直帮上级
-                    if("2".equals(s)){
-                        zbsj_point += superiorRebatePoints;
+                if(StringUtils.isNotEmpty(orderGood.getSuperiorType())){
+                    String[] split = orderGood.getSuperiorType().split(",");
+                    for (String s : split) {
+                        //直推上级
+                        if("1".equals(s)){
+                            ztsj_point += superiorRebatePoints;
+                        }
+                        //直帮上级
+                        if("2".equals(s)){
+                            zbsj_point += superiorRebatePoints;
+                        }
                     }
                 }
                 
@@ -157,6 +162,7 @@
                     inviteUser.setSharePoint(inviteUser.getSharePoint() + ztsj_point);
                     inviteUser.setLavePoint(inviteUser.getLavePoint() + ztsj_point);
                     inviteUser.setAvailablePoint(inviteUser.getAvailablePoint() + earnPoint1);
+                    inviteUser.setTotalAvailablePoint(inviteUser.getTotalAvailablePoint() + earnPoint1);
                     if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                         inviteUser.setTransferablePoint(inviteUser.getTransferablePoint() + earnPoint1);
                     }
@@ -212,6 +218,7 @@
                     superiorLeader.setSharePoint(superiorLeader.getSharePoint() + zbsj_point);
                     superiorLeader.setLavePoint(superiorLeader.getLavePoint() + zbsj_point);
                     superiorLeader.setAvailablePoint(superiorLeader.getAvailablePoint() + earnPoint1);
+                    superiorLeader.setTotalAvailablePoint(superiorLeader.getTotalAvailablePoint() + earnPoint1);
                     if(null != pointSetting && 1 == pointSetting.getSharePointGift()){
                         superiorLeader.setTransferablePoint(superiorLeader.getTransferablePoint() + earnPoint1);
                     }
@@ -252,15 +259,10 @@
             Shop shop = shopClient.getShopById(order.getShopId()).getData();
             AppUser shopAppUser = appUserClient.getAppUserById(shop.getAppUserId());
             if(null != shopAppUser){
-                BigDecimal balance = shopAppUser.getBalance();
                 BigDecimal shopBalance = shop.getBalance();
                 Integer lavePoint = shopAppUser.getLavePoint();
                 Integer shopLavePoint = shop.getLavePoint();
                 if(hxmd_price.compareTo(BigDecimal.ZERO) > 0){
-                    shopAppUser.setTotalDistributionAmount(shopAppUser.getTotalDistributionAmount().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                    shopAppUser.setBalance(shopAppUser.getBalance().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                    shopAppUser.setWithdrawableAmount(shopAppUser.getWithdrawableAmount().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                    shopAppUser.setShopServiceFee(shopAppUser.getShopServiceFee().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                     //门店返佣
                     shop.setGiveawayAllMoney(shop.getGiveawayAllMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                     shop.setServerGiveawayMoney(shop.getServerGiveawayMoney().add(hxmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
@@ -276,6 +278,7 @@
                     }
                     shopAppUser.setLavePoint(shopAppUser.getLavePoint() + hxmd_point);
                     shopAppUser.setAvailablePoint(shopAppUser.getAvailablePoint() + earnPoint1);
+                    shopAppUser.setTotalAvailablePoint(shopAppUser.getTotalAvailablePoint() + earnPoint1);
                     if(null != pointSetting && 1 == pointSetting.getShopPointGift()){
                         shopAppUser.setTransferablePoint(shopAppUser.getTransferablePoint() + earnPoint1);
                     }
@@ -289,19 +292,6 @@
                 appUserClient.editAppUserById(shopAppUser);
                 shopClient.updateShop(shop);
                 //添加明细记录
-                if(!shopAppUser.getBalance().equals(balance)){
-                    BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
-                    balanceChangeRecord.setAppUserId(shopAppUser.getId());
-                    balanceChangeRecord.setOrderId(order.getId());
-                    balanceChangeRecord.setChangeType(4);
-                    balanceChangeRecord.setBeforeAmount(balance);
-                    balanceChangeRecord.setChangeAmount(hxmd_price);
-                    balanceChangeRecord.setAfterAmount(shopAppUser.getBalance());
-                    balanceChangeRecord.setDelFlag(0);
-                    balanceChangeRecord.setCreateTime(LocalDateTime.now());
-                    balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
-                }
-                
                 if(!shop.getBalance().equals(shopBalance)){
                     ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                     shopBalanceStatement.setShopId(shop.getId());
@@ -334,7 +324,7 @@
                 if(!shop.getLavePoint().equals(shopLavePoint)){
                     ShopPoint shopPoint = new ShopPoint();
                     shopPoint.setShopId(shop.getId());
-                    shopPoint.setType(4);
+                    shopPoint.setType(1);
                     shopPoint.setHistoricalPoint(shopLavePoint);
                     shopPoint.setVariablePoint(hxmd_point);
                     shopPoint.setBalance(shop.getLavePoint());
@@ -361,6 +351,7 @@
                         }
                         technicianAppUser.setLavePoint(technicianAppUser.getLavePoint() + js_point);
                         technicianAppUser.setAvailablePoint(technicianAppUser.getAvailablePoint() + earnPoint1);
+                        technicianAppUser.setTotalAvailablePoint(technicianAppUser.getTotalAvailablePoint() + earnPoint1);
                         if(null != pointSetting && 1 == pointSetting.getPersonPointGift()){
                             technicianAppUser.setTransferablePoint(technicianAppUser.getTransferablePoint() + earnPoint1);
                         }
@@ -391,15 +382,10 @@
             if(null != shop1){
                 AppUser bdShopAppUser = appUserClient.getAppUserById(shop1.getAppUserId());
                 if(null != bdShopAppUser){
-                    BigDecimal balance = bdShopAppUser.getBalance();
                     BigDecimal shopBalance = shop1.getBalance();
                     Integer lavePoint = bdShopAppUser.getLavePoint();
                     Integer shopLavePoint = shop1.getLavePoint();
                     if(bdmd_price.compareTo(BigDecimal.ZERO) > 0){
-                        bdShopAppUser.setTotalDistributionAmount(bdShopAppUser.getTotalDistributionAmount().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                        bdShopAppUser.setBalance(bdShopAppUser.getBalance().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                        bdShopAppUser.setWithdrawableAmount(bdShopAppUser.getWithdrawableAmount().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                        bdShopAppUser.setShopCommission(bdShopAppUser.getShopCommission().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                         //门店返佣
                         shop1.setGiveawayAllMoney(shop1.getGiveawayAllMoney().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                         shop1.setGiveawayMoney(shop1.getGiveawayMoney().add(bdmd_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
@@ -415,6 +401,7 @@
                         }
                         bdShopAppUser.setLavePoint(bdShopAppUser.getLavePoint() + bdmd_point);
                         bdShopAppUser.setAvailablePoint(bdShopAppUser.getAvailablePoint() + earnPoint1);
+                        bdShopAppUser.setTotalAvailablePoint(bdShopAppUser.getTotalAvailablePoint() + earnPoint1);
                         if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                             bdShopAppUser.setTransferablePoint(bdShopAppUser.getTransferablePoint() + earnPoint1);
                         }
@@ -428,23 +415,10 @@
                     appUserClient.editAppUserById(bdShopAppUser);
                     shopClient.updateShop(shop1);
                     //添加明细记录
-                    if(!bdShopAppUser.getBalance().equals(balance)){
-                        BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
-                        balanceChangeRecord.setAppUserId(bdShopAppUser.getId());
-                        balanceChangeRecord.setOrderId(order.getId());
-                        balanceChangeRecord.setChangeType(4);
-                        balanceChangeRecord.setBeforeAmount(balance);
-                        balanceChangeRecord.setChangeAmount(bdmd_price);
-                        balanceChangeRecord.setAfterAmount(bdShopAppUser.getBalance());
-                        balanceChangeRecord.setDelFlag(0);
-                        balanceChangeRecord.setCreateTime(LocalDateTime.now());
-                        balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
-                    }
-        
                     if(!shop1.getBalance().equals(shopBalance)){
                         ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                         shopBalanceStatement.setShopId(shop1.getId());
-                        shopBalanceStatement.setType(4);
+                        shopBalanceStatement.setType(1);
                         shopBalanceStatement.setHistoricalBalance(shopBalance);
                         shopBalanceStatement.setVariableAmount(bdmd_price);
                         shopBalanceStatement.setBalance(shop1.getBalance());
@@ -492,14 +466,10 @@
             if(null != shop2){
                 AppUser sjShopAppUser = appUserClient.getAppUserById(shop2.getAppUserId());
                 if(null != sjShopAppUser){
-                    BigDecimal balance = sjShopAppUser.getBalance();
                     BigDecimal shopBalance = shop2.getBalance();
                     Integer lavePoint = sjShopAppUser.getLavePoint();
                     Integer shopLavePoint = shop2.getLavePoint();
                     if(bdmdsj_price.compareTo(BigDecimal.ZERO) > 0){
-                        sjShopAppUser.setTotalDistributionAmount(sjShopAppUser.getTotalDistributionAmount().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                        sjShopAppUser.setBalance(sjShopAppUser.getBalance().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
-                        sjShopAppUser.setWithdrawableAmount(sjShopAppUser.getWithdrawableAmount().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                         //门店返佣
                         shop2.setGiveawayAllMoney(shop2.getGiveawayAllMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
                         shop2.setLowerLevelGiveawayMoney(shop2.getLowerLevelGiveawayMoney().add(bdmdsj_price).setScale(2, BigDecimal.ROUND_HALF_EVEN));
@@ -515,6 +485,7 @@
                         }
                         sjShopAppUser.setLavePoint(sjShopAppUser.getLavePoint() + bdmdsj_point);
                         sjShopAppUser.setAvailablePoint(sjShopAppUser.getAvailablePoint() + earnPoint1);
+                        sjShopAppUser.setTotalAvailablePoint(sjShopAppUser.getTotalAvailablePoint() + earnPoint1);
                         if(null != pointSetting && 1 == pointSetting.getShopSharePointGift()){
                             sjShopAppUser.setTransferablePoint(sjShopAppUser.getTransferablePoint() + earnPoint1);
                         }
@@ -528,19 +499,6 @@
                     appUserClient.editAppUserById(sjShopAppUser);
                     shopClient.updateShop(shop2);
                     //添加明细记录
-                    if(!sjShopAppUser.getBalance().equals(balance)){
-                        BalanceChangeRecord balanceChangeRecord = new BalanceChangeRecord();
-                        balanceChangeRecord.setAppUserId(sjShopAppUser.getId());
-                        balanceChangeRecord.setOrderId(order.getId());
-                        balanceChangeRecord.setChangeType(4);
-                        balanceChangeRecord.setBeforeAmount(balance);
-                        balanceChangeRecord.setChangeAmount(bdmdsj_price);
-                        balanceChangeRecord.setAfterAmount(sjShopAppUser.getBalance());
-                        balanceChangeRecord.setDelFlag(0);
-                        balanceChangeRecord.setCreateTime(LocalDateTime.now());
-                        balanceChangeRecordClient.saveBalanceChangeRecord(balanceChangeRecord);
-                    }
-        
                     if(!shop2.getBalance().equals(shopBalance)){
                         ShopBalanceStatement shopBalanceStatement = new ShopBalanceStatement();
                         shopBalanceStatement.setShopId(shop2.getId());

--
Gitblit v1.7.1