From 287772b46a32e5638602d677d793aef16f4e6739 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 15 Apr 2024 16:53:44 +0800
Subject: [PATCH] 每人每日质押设置

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java |   91 ++++++++++++++++++++++++++++-----------------
 1 files changed, 57 insertions(+), 34 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 9747141..1c47c8b 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
@@ -311,12 +311,16 @@
         Map<Long, BigDecimal> memberPerkMap = new HashMap<>();
         //总团队业绩
         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
-        Set<Long> achieveMembers = dappAchieves.stream().map(DappAchieve::getMemberId).collect(Collectors.toSet());
-        Collection<Long> intersection = CollUtil.intersection(allMembers, achieveMembers);
-        for(Long memberId : intersection){
+//        Set<Long> achieveMembers = dappAchieves.stream().map(DappAchieve::getMemberId).collect(Collectors.toSet());
+//        Collection<Long> intersection = CollUtil.intersection(allMembers, achieveMembers);
+        for(Long memberId : allMembers){
             /**
              * 获取每一个成员的四级直推
              */
@@ -355,9 +359,6 @@
             memberPerkTotal = memberPerkTotal.add(teamAchieveMemberSum);
             memberPerkMap.put(memberId,teamAchieveMemberSum);
         }
-        if(BigDecimal.ZERO.compareTo(memberPerkTotal) >= 0){
-            return;
-        }
 
         BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
         BigDecimal everyCoin = multiplyDivideEveryCoin.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
@@ -369,27 +370,45 @@
             BigDecimal multiplyUsdt = amountMember.multiply(everyUsdt).setScale(4, BigDecimal.ROUND_DOWN);
             //这个人实际可以分到的数量COIN
             BigDecimal multiplyCoin = amountMember.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
-
-//            createFlow(
-//                    multiplyUsdt,
-//                    memberId,
-//                    FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getValue(),
-//                    FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getDescrition(),
-//                    4,
-//                    1,
-//                    ChainEnum.BSC_TFC_REWARD.name(),
-//                    DataDicEnum.USDT_COIN.getValue(),
-//                    2);
+            DappMemberEntity dappMemberEntityExit = dappMemberDao.selectById(memberId);
+            if(ObjectUtil.isEmpty(dappMemberEntityExit)){
+                continue;
+            }
+            //如果没有进行中的质押,直接返回
+            QueryWrapper<DappAchieve> objectQueryWrappereq = new QueryWrapper<>();
+            objectQueryWrappereq.eq("state",DappAchieve.STATUS_ING);
+            objectQueryWrappereq.eq("member_id",memberId);
+            List<DappAchieve> dappAchieveseq = dappAchieveMapper.selectList(objectQueryWrappereq);
+            if(CollUtil.isEmpty(dappAchieveseq)){
+                DappFundFlowEntity fundFlowTuiJian = new DappFundFlowEntity(
+                        memberId,
+                        multiplyUsdt,
+                        FlowTypeEnum.TUAN_DUI_FAIL.getValue(),
+                        DappFundFlowEntity.WITHDRAW_STATUS_AGREE,
+                        StrUtil.format(FlowTypeEnum.TUAN_DUI_FAIL_DES.getDescrition(), amountMember));
+                dappFundFlowDao.insert(fundFlowTuiJian);
+                continue;
+            }
             createFlow(
-                    multiplyCoin,
+                    multiplyUsdt,
                     memberId,
-                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getValue(),
-                    StrUtil.format(FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getDescrition(), amountMember),
+                    FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getValue(),
+                    StrUtil.format(FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getDescrition(), amountMember),
                     4,
                     1,
                     ChainEnum.BSC_TFC_REWARD.name(),
                     DataDicEnum.USDT_COIN.getValue(),
-                    1);
+                    2);
+//            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);
 
         }
     }
@@ -422,26 +441,30 @@
             //这个人实际可以分到的数量COIN
             BigDecimal multiplyCoin = amountMember.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
 
-//            createFlow(
-//                    multiplyUsdt,
-//                    memberId,
-//                    FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
-//                    FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(),
-//                    4,
-//                    1,
-//                    ChainEnum.BSC_TFC_REWARD.name(),
-//                    DataDicEnum.USDT_COIN.getValue(),
-//                    2);
+            DappMemberEntity dappMemberEntityExit = dappMemberDao.selectById(memberId);
+            if(ObjectUtil.isEmpty(dappMemberEntityExit)){
+                continue;
+            }
             createFlow(
-                    multiplyCoin,
+                    multiplyUsdt,
                     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);
+                    DataDicEnum.USDT_COIN.getValue(),
+                    2);
+//            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);
         }
     }
 

--
Gitblit v1.9.1