From 145387740af5acae7565d261162c5acc7722f73c Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 25 Oct 2022 01:28:15 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/dapp/mapper/DappWalletCoinDao.java           |    2 +
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   72 ++++++++++++++++++++++++++++-------
 src/main/resources/mapper/dapp/DappWalletCoinDao.xml                      |    9 ++++
 3 files changed, 68 insertions(+), 15 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/mapper/DappWalletCoinDao.java b/src/main/java/cc/mrbird/febs/dapp/mapper/DappWalletCoinDao.java
index 928f355..cefaac0 100644
--- a/src/main/java/cc/mrbird/febs/dapp/mapper/DappWalletCoinDao.java
+++ b/src/main/java/cc/mrbird/febs/dapp/mapper/DappWalletCoinDao.java
@@ -37,4 +37,6 @@
     int reduceFrozenBalance(@Param("id") Long id, @Param("amount") BigDecimal amount);
 
     List<DappMemberEntity> selectTotalAmount();
+
+    void addTotalAndaddAvailableByMemberId(@Param("memberId")Long id, @Param("balance")BigDecimal multiply);
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
index 1acda06..3efad30 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -866,8 +866,7 @@
             if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
                 BigDecimal multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 DappMemberEntity dappMemberEntityLEVEL_IB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_IB);
-
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_IB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_IB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_IB.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -884,7 +883,7 @@
 
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_FIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_FIB);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_FIB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_FIB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_FIB.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -895,12 +894,14 @@
                 BigDecimal multiply = BigDecimal.ZERO;
                 if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 }else{
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode());
                 }
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_CIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_CIB);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_CIB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_CIB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_CIB.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -911,12 +912,16 @@
                 BigDecimal multiply = BigDecimal.ZERO;
                 if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 }else{
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode());
                 }
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_AIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_AIB);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_AIB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_AIB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_AIB.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -927,12 +932,18 @@
                 BigDecimal multiply = BigDecimal.ZERO;
                 if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 }else{
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode());
                 }
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_GIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GIB);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GIB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_GIB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_GIB.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -943,12 +954,20 @@
                 BigDecimal multiply = BigDecimal.ZERO;
                 if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 }else{
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode());
                 }
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_BP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_BP);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_BP.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_BP.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_BP.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -959,12 +978,22 @@
                 BigDecimal multiply = BigDecimal.ZERO;
                 if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 }else{
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode());
                 }
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_SP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_SP);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_SP.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_SP.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_SP.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -975,12 +1004,24 @@
                 BigDecimal multiply = BigDecimal.ZERO;
                 if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
                     multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
+                }else if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                 }else{
-                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode());
+                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode());
                 }
                 multiply = totalProfit.multiply(multiply);
                 DappMemberEntity dappMemberEntityLEVEL_GP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GP);
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GP.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_GP.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_GP.getId(), multiply, "盈利分成", 8);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -996,7 +1037,7 @@
                 BigDecimal multiply = totalProfit.multiply(getRunningCommission(DataDictionaryEnum.LEVEL_AIB.getCode()));
                 DappMemberEntity dappMemberEntityLEVEL_AIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_AIB);
 
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_AIB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_AIB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_AIB.getId(), multiply, "流水佣金", 7);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -1008,7 +1049,7 @@
                 BigDecimal multiply = totalProfit.multiply(getRunningCommission(DataDictionaryEnum.LEVEL_GIB.getCode()));
                 DappMemberEntity dappMemberEntityLEVEL_GIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GIB);
 
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GIB.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_GIB.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_GIB.getId(), multiply, "流水佣金", 7);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -1020,7 +1061,7 @@
                 BigDecimal multiply = totalProfit.multiply(getRunningCommission(DataDictionaryEnum.LEVEL_BP.getCode()));
                 DappMemberEntity dappMemberEntityLEVEL_BP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_BP);
 
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_BP.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_BP.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_BP.getId(), multiply, "流水佣金", 7);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -1032,7 +1073,7 @@
                 BigDecimal multiply = totalProfit.multiply(getRunningCommission(DataDictionaryEnum.LEVEL_SP.getCode()));
                 DappMemberEntity dappMemberEntityLEVEL_SP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_SP);
 
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_SP.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_SP.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_SP.getId(), multiply, "流水佣金", 7);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -1044,7 +1085,7 @@
                 BigDecimal multiply = totalProfit.multiply(getRunningCommission(DataDictionaryEnum.LEVEL_GP.getCode()));
                 DappMemberEntity dappMemberEntityLEVEL_GP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GP);
 
-                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GP.getId(),multiply);
+                dappWalletCoinDao.addTotalAndaddAvailableByMemberId(dappMemberEntityLEVEL_GP.getId(),multiply);
                 DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                         dappMemberEntityLEVEL_GP.getId(), multiply, "流水佣金", 7);
                 dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
@@ -1071,6 +1112,7 @@
                 String identity = dappMemberEntity.getIdentity();
                 if(levelCode.equals(identity)){
                     flag = str;
+                    return flag;
                 }
             }
         }
diff --git a/src/main/resources/mapper/dapp/DappWalletCoinDao.xml b/src/main/resources/mapper/dapp/DappWalletCoinDao.xml
index 2b0a088..476d46f 100644
--- a/src/main/resources/mapper/dapp/DappWalletCoinDao.xml
+++ b/src/main/resources/mapper/dapp/DappWalletCoinDao.xml
@@ -122,4 +122,13 @@
         inner join dapp_member b on a.member_id = b.id
         where a.total_amount <![CDATA[ >= ]]> 51
     </select>
+
+    <update id="addTotalAndaddAvailableByMemberId">
+        update dapp_wallet_coin
+        set
+            total_amount = total_amount + #{balance},
+            available_amount = available_amount + #{balance}
+        where
+            member_id = #{memberId}
+    </update>
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.1