From b8b4af4d7b913e668a245f6f3c821eda0df85dc8 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Fri, 05 Jul 2024 15:37:56 +0800
Subject: [PATCH] 逻辑

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   43 ++++++++++++++++++++++++++++---------------
 1 files changed, 28 insertions(+), 15 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
index fb26134..4b8cb4e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -635,10 +635,11 @@
             if(1 != activeStatus){
                 continue;
             }
-            //获取上级全部的直推
+            //获取上级全部的激活直推
             String inviteId = dappMemberEntityRef.getInviteId();
             QueryWrapper<DappMemberEntity> memberInviteQuery = new QueryWrapper<>();
             memberInviteQuery.eq("referer_id",inviteId);
+            memberInviteQuery.eq("active_status",1);
             List<DappMemberEntity> memberInviteList = dappMemberDao.selectList(memberInviteQuery);
 
             //如果没有直推,则跳过
@@ -657,17 +658,12 @@
             BigDecimal perkPercent = new BigDecimal(rule.getPerkPercent()).multiply(new BigDecimal("0.01"));
             BigDecimal perkAmount = perkPercent.multiply(amount);
             Long perkMemberId = dappMemberEntityRef.getId();
-            //生成一条流水
-            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(
-                    perkMemberId,
+
+            this.updateBalanceInsertFlow(
                     perkAmount,
-                    15,
-                    2,
-                    null,
-                    null);
-            dappFundFlowDao.insert(rePutInFlow);
-            //更新用户的金额
-            dappWalletService.updateWalletCoinWithLock(perkAmount, perkMemberId, 1);
+                    perkMemberId,
+                    MoneyFlowEnum.DYNAMIC_PERK.getValue(),
+                    StrUtil.format(MoneyFlowEnum.DYNAMIC_PERK.getDescrition(),amount,memberInviteList.size(),perkAmount));
         }
     }
 
@@ -721,11 +717,25 @@
         }
         BigDecimal daoNodeAmount = daoNodeAmountTotal.divide(new BigDecimal(dappMemberEntities.size()),2,BigDecimal.ROUND_DOWN);
         for(DappMemberEntity nodeMember : dappMemberEntities){
-            this.updateBalanceInsertFlow(
-                    daoNodeAmount,
+//            this.updateBalanceInsertFlow(
+//                    daoNodeAmount,
+//                    nodeMember.getId(),
+//                    MoneyFlowEnum.NODE_PERK.getValue(),
+//                    StrUtil.format(MoneyFlowEnum.NODE_PERK.getDescrition(),amount,dappMemberEntities.size(),daoNodeAmount));
+
+
+
+            //生成一条流水
+            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(
                     nodeMember.getId(),
+                    daoNodeAmount,
                     MoneyFlowEnum.NODE_PERK.getValue(),
+                    2,
+                    null,
                     StrUtil.format(MoneyFlowEnum.NODE_PERK.getDescrition(),amount,dappMemberEntities.size(),daoNodeAmount));
+            dappFundFlowDao.insert(rePutInFlow);
+            //更新用户的金额
+            dappWalletService.updateWalletCoinWithLock(daoNodeAmount, nodeMember.getId(), 1);
         }
     }
 
@@ -834,6 +844,9 @@
     @Override
     public void teamPerk(Long id) {
         DappFundFlowEntity dappFundFlowEntity = dappFundFlowDao.selectById(id);
+        if(ObjectUtil.isEmpty(dappFundFlowEntity)){
+            return;
+        }
 
         if(MoneyFlowEnum.CUN_CHU.getValue() != dappFundFlowEntity.getType()){
             return;
@@ -878,7 +891,7 @@
         }
 
         QueryWrapper<DappMemberEntity> daoThreeQuery = new QueryWrapper<>();
-        daoThreeQuery.eq("level", MemberLevelEnum.DAO_2.getCode());
+        daoThreeQuery.eq("level", MemberLevelEnum.DAO_3.getCode());
         List<DappMemberEntity> daoThrees = dappMemberDao.selectList(daoThreeQuery);
         if(CollUtil.isNotEmpty(daoThrees)){
             BigDecimal bigDecimal = totalAmount.multiply(new BigDecimal("0.2")).setScale(2, BigDecimal.ROUND_DOWN);
@@ -904,7 +917,7 @@
         }
         //获取全部上级
         ArrayList<DappMemberEntity> activeMembers = new ArrayList<>();
-        List<String> refererIds = Arrays.asList(StrUtil.split(",", dappMemberEntity.getRefererIds()));
+        List<String> refererIds = Arrays.asList(StrUtil.split(dappMemberEntity.getRefererIds(),","));
         for(String inviteId : refererIds){
             DappMemberEntity memberEntity = dappMemberDao.selectMemberInfoByInviteId(inviteId);
             if(ObjectUtil.isNotEmpty(memberEntity)){

--
Gitblit v1.9.1