From 49fe390d3e59b22a20cd520da3c520c2ee670ebb Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Sun, 07 Apr 2024 17:16:05 +0800
Subject: [PATCH] 每人每日质押设置

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java |   73 +++++++++++++++++++++---------------
 1 files changed, 43 insertions(+), 30 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
index a2bc8c7..3734f1e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
@@ -310,7 +310,11 @@
         //可以获取奖励的用户
         Map<Long, BigDecimal> memberPerkMap = new HashMap<>();
         //总团队业绩
-        BigDecimal memberPerkTotal = BigDecimal.ZERO;
+//        BigDecimal memberPerkTotal = BigDecimal.ZERO;
+        BigDecimal memberPerkTotal = dappAchieves.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        if(BigDecimal.ZERO.compareTo(memberPerkTotal) >= 0){
+            return;
+        }
         //获取全部会员
         Set<Long> allMembers = dappMemberEntities.stream().map(DappMemberEntity::getId).collect(Collectors.toSet());
         //获取正在质押的会员ID
@@ -352,11 +356,8 @@
             if(BigDecimal.ZERO.compareTo(teamAchieveMemberSum) >= 0){
                 continue;
             }
-            memberPerkTotal = memberPerkTotal.add(teamAchieveMemberSum);
+//            memberPerkTotal = memberPerkTotal.add(teamAchieveMemberSum);
             memberPerkMap.put(memberId,teamAchieveMemberSum);
-        }
-        if(BigDecimal.ZERO.compareTo(memberPerkTotal) >= 0){
-            return;
         }
 
         BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
@@ -368,28 +369,31 @@
             //这个人实际可以分到的数量USDT
             BigDecimal multiplyUsdt = amountMember.multiply(everyUsdt).setScale(4, BigDecimal.ROUND_DOWN);
             //这个人实际可以分到的数量COIN
-            BigDecimal multiplyCoin = divideEveryCoin.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
-
+            BigDecimal multiplyCoin = amountMember.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
+            DappMemberEntity dappMemberEntityExit = dappMemberDao.selectById(memberId);
+            if(ObjectUtil.isEmpty(dappMemberEntityExit)){
+                continue;
+            }
             createFlow(
                     multiplyUsdt,
                     memberId,
                     FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getValue(),
-                    FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getDescrition(),
+                    StrUtil.format(FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getDescrition(), amountMember),
                     4,
                     1,
                     ChainEnum.BSC_TFC_REWARD.name(),
                     DataDicEnum.USDT_COIN.getValue(),
                     2);
-            createFlow(
-                    multiplyCoin,
-                    memberId,
-                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getValue(),
-                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getDescrition(),
-                    4,
-                    1,
-                    ChainEnum.BSC_TFC_REWARD.name(),
-                    DataDicEnum.USDT_COIN.getValue(),
-                    1);
+//            createFlow(
+//                    multiplyCoin,
+//                    memberId,
+//                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getValue(),
+//                    StrUtil.format(FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getDescrition(), amountMember),
+//                    4,
+//                    1,
+//                    ChainEnum.BSC_TFC_REWARD.name(),
+//                    DataDicEnum.USDT_COIN.getValue(),
+//                    1);
 
         }
     }
@@ -420,31 +424,40 @@
             //这个人实际可以分到的数量USDT
             BigDecimal multiplyUsdt = amountMember.multiply(everyUsdt).setScale(4, BigDecimal.ROUND_DOWN);
             //这个人实际可以分到的数量COIN
-            BigDecimal multiplyCoin = divideEveryCoin.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
+            BigDecimal multiplyCoin = amountMember.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
 
+            DappMemberEntity dappMemberEntityExit = dappMemberDao.selectById(memberId);
+            if(ObjectUtil.isEmpty(dappMemberEntityExit)){
+                continue;
+            }
             createFlow(
                     multiplyUsdt,
                     memberId,
                     FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
-                    FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(),
+                    StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), amountMember),
                     4,
                     1,
                     ChainEnum.BSC_TFC_REWARD.name(),
                     DataDicEnum.USDT_COIN.getValue(),
                     2);
-            createFlow(
-                    multiplyCoin,
-                    memberId,
-                    FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
-                    FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(),
-                    4,
-                    1,
-                    ChainEnum.BSC_TFC_REWARD.name(),
-                    DataDicEnum.GFA_COIN.getValue(),
-                    1);
+//            createFlow(
+//                    multiplyCoin,
+//                    memberId,
+//                    FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
+//                    StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), amountMember),
+//                    4,
+//                    1,
+//                    ChainEnum.BSC_TFC_REWARD.name(),
+//                    DataDicEnum.GFA_COIN.getValue(),
+//                    1);
         }
     }
 
+    public static void main(String[] args) {
+        String format = StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), 100);
+        System.out.println(format);
+    }
+
     /**
      * 插入流水记录,增加转账记录,发送线上转账的消息
      * @param multiplyUsdt

--
Gitblit v1.9.1