From f0922bc416fad3aa6121ffdbdd217bffb94f518f Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 08 Jul 2024 15:11:07 +0800
Subject: [PATCH] 逻辑

---
 src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java |   74 +++++++++++++++++++++++++++---------
 1 files changed, 55 insertions(+), 19 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java b/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
index 17dfb85..228ca55 100644
--- a/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
+++ b/src/main/java/cc/mrbird/febs/job/ProfitDailyJob.java
@@ -10,6 +10,7 @@
 import cc.mrbird.febs.dapp.mapper.DappStorageMapper;
 import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
 import cc.mrbird.febs.dapp.service.DappSystemService;
+import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
@@ -39,6 +40,8 @@
     private DappStorageMapper dappStorageMapper;
     @Resource
     private DappMemberDao dappMemberDao;
+    @Resource
+    private ChainProducer chainProducer;
 
     /**
      * 每天释放1%的静态释放
@@ -55,6 +58,13 @@
         for(DappStorage storage : dappStorages){
             Long memberId = storage.getMemberId();
             BigDecimal releaseAmount = storage.getReleaseAmount();
+
+            /**
+             * DAO成员动态:
+             *      * 1.直推1个拿2代,直推10个拿20代,直推15个拿30代,最高30代
+             */
+            chainProducer.sendMemberDynamicPerkMsg(storage.getId());
+
             dappSystemService.updateBalanceInsertFlow(
                     releaseAmount,
                     memberId,
@@ -163,45 +173,45 @@
             BigDecimal everyAmount = daDanTotal.divide(new BigDecimal(count));
 
             if(everyAmount.compareTo(BigDecimal.ZERO) > 0){
-                DappStorage dappStorageOne = dappStorageMapper.selectAmountByDesc(new Date(),0,1);
-                if(ObjectUtil.isNotEmpty(dappStorageOne)){
+                List<DappStorage> dappStorageOne = dappStorageMapper.selectSumByAmountDesc(new Date(),0,1);
+                if(CollUtil.isNotEmpty(dappStorageOne)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(oneCount));
                     dappSystemService.updateBalanceInsertFlow(
                             multiply,
-                            dappStorageOne.getMemberId(),
+                            dappStorageOne.get(0).getMemberId(),
                             MoneyFlowEnum.DA_DAN_JI_LI_PERK.getValue(),
                             StrUtil.format(MoneyFlowEnum.DA_DAN_JI_LI_PERK.getDescrition(),daDanTotal,multiply));
 
                     realAmount = realAmount.add(multiply);
                 }
-                DappStorage dappStorageTwo = dappStorageMapper.selectAmountByDesc(new Date(),1,1);
-                if(ObjectUtil.isNotEmpty(dappStorageTwo)){
+                List<DappStorage> dappStorageTwo = dappStorageMapper.selectSumByAmountDesc(new Date(),1,1);
+                if(CollUtil.isNotEmpty(dappStorageTwo)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(twoCount));
                     dappSystemService.updateBalanceInsertFlow(
                             multiply,
-                            dappStorageTwo.getMemberId(),
+                            dappStorageTwo.get(0).getMemberId(),
                             MoneyFlowEnum.DA_DAN_JI_LI_PERK.getValue(),
                             StrUtil.format(MoneyFlowEnum.DA_DAN_JI_LI_PERK.getDescrition(),daDanTotal,multiply));
 
                     realAmount = realAmount.add(multiply);
                 }
-                DappStorage dappStorageThree = dappStorageMapper.selectAmountByDesc(new Date(),2,1);
-                if(ObjectUtil.isNotEmpty(dappStorageThree)){
+                List<DappStorage> dappStorageThree = dappStorageMapper.selectSumByAmountDesc(new Date(),2,1);
+                if(CollUtil.isNotEmpty(dappStorageThree)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(threeCount));
                     dappSystemService.updateBalanceInsertFlow(
                             multiply,
-                            dappStorageThree.getMemberId(),
+                            dappStorageThree.get(0).getMemberId(),
                             MoneyFlowEnum.DA_DAN_JI_LI_PERK.getValue(),
                             StrUtil.format(MoneyFlowEnum.DA_DAN_JI_LI_PERK.getDescrition(),daDanTotal,multiply));
 
                     realAmount = realAmount.add(multiply);
                 }
-                DappStorage dappStorageFour = dappStorageMapper.selectAmountByDesc(new Date(),3,1);
-                if(ObjectUtil.isNotEmpty(dappStorageFour)){
+                List<DappStorage> dappStorageFour = dappStorageMapper.selectSumByAmountDesc(new Date(),3,1);
+                if(CollUtil.isNotEmpty(dappStorageFour)){
                     BigDecimal multiply = everyAmount.multiply(new BigDecimal(fourCount));
                     dappSystemService.updateBalanceInsertFlow(
                             multiply,
-                            dappStorageFour.getMemberId(),
+                            dappStorageFour.get(0).getMemberId(),
                             MoneyFlowEnum.DA_DAN_JI_LI_PERK.getValue(),
                             StrUtil.format(MoneyFlowEnum.DA_DAN_JI_LI_PERK.getDescrition(),daDanTotal,multiply));
 
@@ -214,15 +224,41 @@
          * 另外50% 给予当天直推总业绩排名激励前10名,第1名40%,2-4名30%,5-10名30%
          */
         BigDecimal directTotal = jiLiTotal.multiply(new BigDecimal("0.5")).setScale(2, BigDecimal.ROUND_DOWN);
+//        /**
+//         * 存放直推业绩<上级的memberId,直推总业绩>
+//         */
+//        HashMap<Long, BigDecimal> map = new HashMap<>();
+//
+//        List<DappStorage> dappStorages = dappStorageMapper.selectListByDate(new Date());
+//        if(CollUtil.isNotEmpty(dappStorages)){
+//            for(DappStorage dappStorage : dappStorages){
+//                DappMemberEntity member = dappMemberDao.selectById(dappStorage.getMemberId());
+//                if(StrUtil.isEmpty(member.getRefererId())){
+//                    continue;
+//                }
+//                DappMemberEntity memberRef = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId());
+//                if(ObjectUtil.isEmpty(memberRef)){
+//                    continue;
+//                }
+//                Long id = memberRef.getId();
+//                if(map.containsKey(id)){
+//                    BigDecimal bigDecimal = map.get(id);
+//                    BigDecimal add = bigDecimal.add(dappStorage.getAmount());
+//                    map.put(id,add);
+//                }else{
+//                    map.put(id,dappStorage.getAmount());
+//                }
+//            }
+//        }
+
         /**
-         * 存放直推业绩<上级的memberId,直推总业绩>
+         * 存放直推人数<上级的memberId,直推人数>
          */
         HashMap<Long, BigDecimal> map = new HashMap<>();
 
-        List<DappStorage> dappStorages = dappStorageMapper.selectListByDate(new Date());
-        if(CollUtil.isNotEmpty(dappStorages)){
-            for(DappStorage dappStorage : dappStorages){
-                DappMemberEntity member = dappMemberDao.selectById(dappStorage.getMemberId());
+        List<DappMemberEntity> dappMemberEntityList = dappMemberDao.selectListByDate(new Date());
+        if(CollUtil.isNotEmpty(dappMemberEntityList)){
+            for(DappMemberEntity member : dappMemberEntityList){
                 if(StrUtil.isEmpty(member.getRefererId())){
                     continue;
                 }
@@ -233,10 +269,10 @@
                 Long id = memberRef.getId();
                 if(map.containsKey(id)){
                     BigDecimal bigDecimal = map.get(id);
-                    BigDecimal add = bigDecimal.add(dappStorage.getAmount());
+                    BigDecimal add = bigDecimal.add(new BigDecimal("1"));
                     map.put(id,add);
                 }else{
-                    map.put(id,dappStorage.getAmount());
+                    map.put(id,new BigDecimal("1"));
                 }
             }
         }

--
Gitblit v1.9.1