From ceef4d902103ef92cf660ce3ff589c7fbd15b190 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 16 May 2023 10:06:49 +0800
Subject: [PATCH] twoCoin项目修改

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
index 42c051f..6d3256e 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -150,8 +150,8 @@
             }
             member = insertMember(connectDto.getAddress(), connectDto.getInviteId());
             //升级用户的代理等级
-            DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
-            chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
+//            DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(connectDto.getInviteId());
+//            chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
         }
 
         String key = LoginUserUtil.getLoginKey(connectDto.getAddress(), connectDto.getNonce(), connectDto.getSign());
@@ -201,7 +201,23 @@
         if (currentUser.getDeptId() == null) {
             member.setCurrentUser(currentUser.getUserId());
         }
-        return dappMemberDao.selectInPage(member, page);
+        IPage<DappMemberEntity> dappMemberEntityIPage = dappMemberDao.selectInPage(member, page);
+        List<DappMemberEntity> records = dappMemberEntityIPage.getRecords();
+        if(CollUtil.isNotEmpty(records)){
+            for(DappMemberEntity memberEntity : records){
+                Long memberId = memberEntity.getId();
+
+                DappSystemProfit dappSystemProfit = dappSystemProfitDao.selectByMemberIdAndState(memberId,DappSystemProfit.STATE_IN);
+                memberEntity.setSystemProfitId(ObjectUtil.isEmpty(dappSystemProfit) ? 0L : dappSystemProfit.getId());
+                BigDecimal directProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,3,2);
+                memberEntity.setDirectProfit(directProfit);
+                BigDecimal levelProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,4,2);
+                memberEntity.setLevelProfit(levelProfit);
+                BigDecimal luckyProfit = dappFundFlowDao.selectSumAmountByMemberIdAndTypeAndStatus(memberId,7,2);
+                memberEntity.setLuckyProfit(luckyProfit);
+            }
+        }
+        return dappMemberEntityIPage;
     }
 
     @Override
@@ -353,6 +369,9 @@
         if(ObjectUtil.isEmpty(dappSystemProfit)){
             return null;
         }
+        //升级用户的代理等级
+        DappMemberEntity dappMemberEntity = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId());
+        chainProducer.sendAgentUpMsg(dappMemberEntity.getId());
         return buildTeamMatrix(member.getId());
     }
 
@@ -387,7 +406,7 @@
         String memberOutCount = redisUtils.getString(redisKey);
         DataDictionaryCustom queueCountSet = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.QUEUE_COUNT.getType(), DataDictionaryEnum.QUEUE_COUNT.getCode());
         String queueCount = queueCountSet.getValue();
-        if(StrUtil.isBlank(memberOutCount)){
+        if(StrUtil.isBlank(memberOutCount)|| !queueCount.equals(memberOutCount)){
             redisUtils.set(redisKey,queueCount,0L);
             memberOutCount = queueCount;
         }
@@ -405,8 +424,11 @@
         objectQueryWrapper.eq("state",DappSystemProfit.STATE_IN);
         //实际投资人数
         Integer selectCount = dappSystemProfitDao.selectCount(objectQueryWrapper);
-        BigDecimal runPercent = new BigDecimal(selectCount).divide(new BigDecimal(memberCount), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));
-        apiRunListInfoVo.setRunPercent(runPercent);
+        int runPercentNum = memberCount - selectCount;
+        runPercentNum = 5-runPercentNum > 0 ? 5-runPercentNum : 1;
+        apiRunListInfoVo.setRunPercent(new BigDecimal(runPercentNum).multiply(new BigDecimal(0.4)).setScale(BigDecimal.ROUND_DOWN,1));
+//        BigDecimal runPercent = new BigDecimal(selectCount).divide(new BigDecimal(memberCount), 2, BigDecimal.ROUND_DOWN).multiply(new BigDecimal(100));
+//        apiRunListInfoVo.setRunPercent(runPercent);
         //实际投资人数小于出局条件人数
         //符合则出局 实际投资人数等于出局条件人数
         DappSystemProfit dappSystemProfitIn = dappSystemProfitDao.selectSystemProfitInByState(DappSystemProfit.STATE_IN);

--
Gitblit v1.9.1