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 |   40 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 40 insertions(+), 0 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 21ccecd..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
@@ -685,6 +687,11 @@
         }
         dappAchieveMemberTreeDao.insert(achieveMemberTree);
 
+        // 激活用户状态
+        member.setActiveStatus(1);
+        dappMemberDao.updateById(member);
+
+        putIntoProfit(memberId, 2);
         if (parentNode == null) {
             return;
         }
@@ -733,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