From a64d6284082665f9a27add91edc0f7dc7e31afb7 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 08 Nov 2022 11:23:00 +0800
Subject: [PATCH] 20221021

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   46 ++++++++++++++++++++++++++++++++--------------
 1 files changed, 32 insertions(+), 14 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 ad5521a..3d6bb3b 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
@@ -4,6 +4,8 @@
 import cc.mrbird.febs.common.utils.LoginUserUtil;
 import cc.mrbird.febs.common.utils.RedisUtils;
 import cc.mrbird.febs.common.utils.SpringContextUtil;
+import cc.mrbird.febs.dapp.chain.ChainEnum;
+import cc.mrbird.febs.dapp.chain.ChainService;
 import cc.mrbird.febs.dapp.dto.SystemDto;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.mapper.*;
@@ -12,6 +14,7 @@
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cc.mrbird.febs.tree.MatrixTree;
 import cc.mrbird.febs.tree.MemberNode;
+import cc.mrbird.febs.tree.TreeConstants;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
@@ -172,29 +175,44 @@
 
         // 如果是复投的,则需奖励
         if (isReIn == 1) {
-            member.setOutCnt(member.getOutCnt() + 1);
-            dappMemberDao.updateById(member);
+            List<DappMemberEntity> directCnt = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1, 1);
 
-            dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId(), 1);
+            /**
+             * 复投后,推一个拿一轮,推两个拿两轮,推三个后终身有效。
+             * 200u单。
+             * 无直推则收益200U
+             * 一人加一轮400u,二人二轮
+             * 三人永久。
+             */
+            if (directCnt.size() < 3 && member.getOutCnt() != 0 && member.getOutCnt() - 1 == directCnt.size()) {
+                return;
+            } else {
+                BigDecimal amount = null;
+                if (directCnt.size() < 1) {
+                    amount = TreeConstants.PUT_IN_AMOUNT;
+                } else {
+                    amount = TreeConstants.FULL_PROFIT_AMOUNT;
+                }
 
-            DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, new BigDecimal("190"), 2, 2, null, null);
-            dappFundFlowDao.insert(matrixProfitFlow);
+                dappWalletService.releaseFrozenAmountWithLock(memberId);
 
-            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(memberId, new BigDecimal("100").negate(), 1, 2, null, null);
+                member.setOutCnt(member.getOutCnt() + 1);
+                dappMemberDao.updateById(member);
+
+                dappWalletService.updateWalletCoinWithLock(amount, member.getId(), 1);
+
+                DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, amount, 2, 2, null, null);
+                dappFundFlowDao.insert(matrixProfitFlow);
+            }
+
+            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(memberId, TreeConstants.PUT_IN_AMOUNT.negate(), 1, 2, null, null);
             dappFundFlowDao.insert(rePutInFlow);
-
-            DappFundFlowEntity safePoolFlow = new DappFundFlowEntity(memberId, new BigDecimal("10").negate(), 4, 2, null, null);
-            dappFundFlowDao.insert(safePoolFlow);
-
-            DappMineDataEntity mineData = dappSystemDao.selectMineDataForOne();
-            mineData.setSafePool(mineData.getSafePool().add(BigDecimal.TEN));
-            dappSystemDao.updateMineData(mineData);
         }
     }
 
     @Override
     public void tfcNewPrice(String data) {
-        redisUtils.set(AppContants.REDIS_KEY_TFC_NEW_PRICE, new BigDecimal(data));
+//        redisUtils.set(AppContants.REDIS_KEY_TFC_NEW_PRICE, new BigDecimal(data));
     }
 
     @Override

--
Gitblit v1.9.1