From afe2e9a2da152a9b1a54d88b7637e811bf298749 Mon Sep 17 00:00:00 2001
From: wzy <wzy19931122ai@163.com>
Date: Sat, 27 Aug 2022 00:39:49 +0800
Subject: [PATCH] finish matrix profit

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 47 insertions(+), 1 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 9391ffb..19e4a35 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
@@ -11,6 +11,7 @@
 import cc.mrbird.febs.dapp.enumerate.CardPeriod;
 import cc.mrbird.febs.dapp.mapper.*;
 import cc.mrbird.febs.dapp.service.DappSystemService;
+import cc.mrbird.febs.dapp.service.DappWalletService;
 import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
 import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
 import cc.mrbird.febs.dapp.vo.SlipSettingVo;
@@ -66,6 +67,7 @@
 
     private final DappAchieveTreeDao dappAchieveTreeDao;
     private final DappAchieveMemberTreeDao dappAchieveMemberTreeDao;
+    private final DappWalletService dappWalletService;
 
 
     @Override
@@ -680,8 +682,19 @@
         achieveMemberTree.setTopNode(memberId);
         achieveMemberTree.setDeep(1);
         achieveMemberTree.setHasMoney(1);
-        achieveMemberTree.setParentNode(parentNode.getMemberId());
+        if (parentNode != null) {
+            achieveMemberTree.setParentNode(parentNode.getMemberId());
+        }
         dappAchieveMemberTreeDao.insert(achieveMemberTree);
+
+        // 激活用户状态
+        member.setActiveStatus(1);
+        dappMemberDao.updateById(member);
+
+        putIntoProfit(memberId, 2);
+        if (parentNode == null) {
+            return;
+        }
 
         // 修改父节点在数据库中的左/右节点数据
         DappAchieveTreeEntity treeMidNode = dappAchieveTreeDao.selectByMidNode(parentNode.getMemberId());
@@ -727,10 +740,43 @@
             dappAchieveMemberTreeDao.resetMatrixTree(memberId);
             dappAchieveMemberTreeDao.reentryMoney(memberId);
 
+            putIntoProfit(memberId, 1);
             DappAchieveMemberTreeEntity bottomNode = dappAchieveMemberTreeDao.selectNodeByDeep(memberId, 3);
             if (bottomNode != null) {
                 finishMatrixTree(bottomNode.getTopNode());
             }
         }
     }
+
+    @Override
+    public void putIntoProfit(Long memberId, int isReIn) {
+        DappMemberEntity member = dappMemberDao.selectById(memberId);
+        DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId());
+
+        if (parent != null) {
+            BigDecimal directProfit = new BigDecimal("100").multiply(new BigDecimal("0.15"));
+            dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId());
+
+            DappFundFlowEntity fundFlow = new DappFundFlowEntity(parent.getId(), directProfit, 3, 2, null, null);
+            dappFundFlowDao.insert(fundFlow);
+        }
+
+        // 如果是复投的,则需奖励
+        if (isReIn == 1) {
+            dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId());
+
+            DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, new BigDecimal("190"), 2, 2, null, null);
+            dappFundFlowDao.insert(matrixProfitFlow);
+
+            DappFundFlowEntity rePutInFlow = new DappFundFlowEntity(memberId, new BigDecimal("100").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);
+        }
+    }
 }

--
Gitblit v1.9.1