From 8307fca087f0137587f14691c5ca0b0f4a94762a Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Sun, 28 Aug 2022 00:23:12 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java |   24 ++++++++++++++++++++++++
 src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml               |    3 +--
 src/main/resources/application-dev.yml                                    |    4 ++--
 src/test/java/cc/mrbird/febs/TreeTest.java                                |   15 +++++++++++++++
 src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java          |    2 +-
 src/main/resources/mapper/dapp/DappSystemDao.xml                          |    2 +-
 src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java                |    2 +-
 7 files changed, 45 insertions(+), 7 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java b/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java
index 691235b..0e21738 100644
--- a/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java
+++ b/src/main/java/cc/mrbird/febs/dapp/dto/RecordInPageDto.java
@@ -18,6 +18,6 @@
     @ApiModelProperty(value = "每页数量")
     private Integer pageSize = 10;
 
-    @ApiModelProperty(value = "类型", example = "1-买入 2-矩阵收益 3-直推收益 4-保险池 5-提现 6-手续费充值 7-手续费扣除")
+    @ApiModelProperty(value = "类型", example = "1-买入 2-矩阵收益 3-直推收益 4-保险池 5-提现 6-手续费充值 7-手续费扣除 8-结算")
     private Integer type;
 }
diff --git a/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java b/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
index 128a766..f87f085 100644
--- a/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
+++ b/src/main/java/cc/mrbird/febs/dapp/entity/DappFundFlowEntity.java
@@ -47,7 +47,7 @@
     private BigDecimal amount;
 
     /**
-     * 类型 1-买入 2-矩阵收益 3-直推收益 4-保险池 5-提现 6-手续费充值 7-手续费扣除
+     * 类型 1-买入 2-矩阵收益 3-直推收益 4-保险池 5-提现 6-手续费充值 7-手续费扣除 8-结算
      */
     private Integer type;
 
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 bb18c7b..a43e135 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
@@ -3,6 +3,7 @@
 import cc.mrbird.febs.common.contants.AppContants;
 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.dto.SystemDto;
 import cc.mrbird.febs.dapp.entity.*;
 import cc.mrbird.febs.dapp.mapper.*;
@@ -11,6 +12,7 @@
 import cc.mrbird.febs.rabbit.producer.ChainProducer;
 import cc.mrbird.febs.tree.MatrixTree;
 import cc.mrbird.febs.tree.MemberNode;
+import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateUnit;
 import cn.hutool.core.date.DateUtil;
 import lombok.RequiredArgsConstructor;
@@ -19,6 +21,7 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.math.BigDecimal;
+import java.math.RoundingMode;
 import java.util.*;
 
 /**
@@ -73,7 +76,13 @@
 
         // 在内存树(大树)中插入当前节点,并返回父节点
         MemberNode node = new MemberNode(member.getId(), member.getAddress(), member.getInviteId(), member.getRefererId());
+
         MatrixTree tree = MatrixTree.getInstance();
+        MemberNode exist = tree.getNode(member.getId());
+        if (exist != null) {
+            return;
+        }
+
         MemberNode parentNode = tree.addNode(node);
 
         // 创建该节点的矩阵
@@ -199,6 +208,21 @@
         if (days < 7) {
             return;
         }
+        DappMineDataEntity mineDataEntity = dappSystemDao.selectMineDataForOne();
+
+        List<DappAchieveTreeEntity> list = dappAchieveTreeDao.selectLastCountTreeNode(500);
+        if (CollUtil.isNotEmpty(list)) {
+            BigDecimal preAmount = mineDataEntity.getSafePool().divide(new BigDecimal(list.size()), 2, RoundingMode.HALF_UP);
+
+            list.forEach(item -> {
+                dappWalletService.updateWalletCoinWithLock(preAmount, item.getMidNode());
+                DappFundFlowEntity flow = new DappFundFlowEntity(item.getMidNode(), preAmount, 8, 2, null, null);
+                dappFundFlowDao.insert(flow);
+            });
+        }
+
+        mineDataEntity.setSafePool(BigDecimal.ZERO);
+        dappSystemDao.updateMineData(mineDataEntity);
 
         dappAchieveTreeDao.updateNodeValidState();
         dappAchieveMemberTreeDao.emptyTable();
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 60d3c52..275c7c3 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -48,7 +48,7 @@
     publisher-confirm-type: correlated
 
 system:
-  online-transfer: true
+  online-transfer: false
   chain-listener: false
   reset-job: false
-  debug: false
\ No newline at end of file
+  debug: true
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml b/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml
index 552bdc3..0dc4e65 100644
--- a/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml
+++ b/src/main/resources/mapper/dapp/DappAchieveMemberTreeDao.xml
@@ -38,7 +38,6 @@
     </update>
 
     <delete id="emptyTable">
-        delete from dapp_achieve_member_tree
-        where 1=1
+        delete from dapp_achieve_member_tree where 1=1
     </delete>
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/dapp/DappSystemDao.xml b/src/main/resources/mapper/dapp/DappSystemDao.xml
index 95ba411..65cfa33 100644
--- a/src/main/resources/mapper/dapp/DappSystemDao.xml
+++ b/src/main/resources/mapper/dapp/DappSystemDao.xml
@@ -9,6 +9,6 @@
     <update id="updateMineData">
         update dapp_mine_data
             set safe_pool=#{record.safePool}
-        where id=#{record.id}
+        where 1=1
     </update>
 </mapper>
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/TreeTest.java b/src/test/java/cc/mrbird/febs/TreeTest.java
index a744d34..56278f6 100644
--- a/src/test/java/cc/mrbird/febs/TreeTest.java
+++ b/src/test/java/cc/mrbird/febs/TreeTest.java
@@ -1,9 +1,12 @@
 package cc.mrbird.febs;
 
+import cc.mrbird.febs.dapp.mapper.DappAchieveMemberTreeDao;
+import cc.mrbird.febs.dapp.service.DappSystemService;
 import cc.mrbird.febs.tree.MatrixTree;
 import cc.mrbird.febs.tree.MemberNode;
 import cn.hutool.core.util.RandomUtil;
 import org.junit.jupiter.api.Test;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.boot.test.context.SpringBootTest;
 
 /**
@@ -33,4 +36,16 @@
         }
         System.out.println(System.currentTimeMillis());
     }
+
+    @Autowired
+    private DappSystemService dappSystemService;
+
+    @Autowired
+    private DappAchieveMemberTreeDao dappAchieveMemberTreeDao;
+
+    @Test
+    public void resetMatrix() {
+        dappSystemService.resetMatrix();
+//        dappAchieveMemberTreeDao.emptyTable();
+    }
 }

--
Gitblit v1.9.1