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 ++++++++++++++++++++++++ 1 files changed, 24 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 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(); -- Gitblit v1.9.1