From ad9d61bc5a10becf6aaf87baf7832bcdd10e561e Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 30 Aug 2022 14:20:54 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 28 ++++++++++++++++++++++++++-- 1 files changed, 26 insertions(+), 2 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..ad5521a 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); // 创建该节点的矩阵 @@ -155,7 +164,7 @@ if (parent != null) { BigDecimal directProfit = new BigDecimal("100").multiply(new BigDecimal("0.15")); - dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId()); + dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId(), 1); DappFundFlowEntity fundFlow = new DappFundFlowEntity(parent.getId(), directProfit, 3, 2, null, null); dappFundFlowDao.insert(fundFlow); @@ -166,7 +175,7 @@ member.setOutCnt(member.getOutCnt() + 1); dappMemberDao.updateById(member); - dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId()); + dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId(), 1); DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, new BigDecimal("190"), 2, 2, null, null); dappFundFlowDao.insert(matrixProfitFlow); @@ -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(), 1); + 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