From 4f1ee115be474ff9b6621fa24a23c0fc2be8c963 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Sat, 27 Aug 2022 23:23:43 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 69 +++++++++++++++------------------- 1 files changed, 31 insertions(+), 38 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 1d60942..bb18c7b 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,45 +3,22 @@ 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.dapp.chain.ChainEnum; -import cc.mrbird.febs.dapp.chain.ChainService; -import cc.mrbird.febs.dapp.chain.ContractChainService; import cc.mrbird.febs.dapp.dto.SystemDto; import cc.mrbird.febs.dapp.entity.*; -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; -import cc.mrbird.febs.job.SystemTradeJob; 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.DateTime; import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.RandomUtil; -import cn.hutool.core.util.StrUtil; -import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.jsoup.Jsoup; -import org.jsoup.nodes.Document; -import org.jsoup.nodes.Element; -import org.jsoup.select.Elements; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import java.io.IOException; import java.math.BigDecimal; -import java.math.BigInteger; -import java.math.RoundingMode; -import java.net.MalformedURLException; -import java.net.URL; import java.util.*; /** @@ -54,16 +31,9 @@ public class DappSystemServiceImpl implements DappSystemService { private final DappSystemDao dappSystemDao; - private final DappReturnRatioDao dappReturnRatioDao; private final RedisUtils redisUtils; private final DappFundFlowDao dappFundFlowDao; private final DappMemberDao dappMemberDao; - private final DataDictionaryCustomMapper dataDictionaryCustomMapper; - private final DappOnlineTransferDao dappOnlineTransferDao; - private final ChainProducer chainProducer; - private final DappSymbolDailyPriceMapper dappSymbolDailyPriceMapper; - private final DappMemberBoxRecordMapper dappMemberBoxRecordMapper; - private final DappWalletCoinDao dappWalletCoinDao; private final DappAchieveTreeDao dappAchieveTreeDao; private final DappAchieveMemberTreeDao dappAchieveMemberTreeDao; @@ -79,20 +49,26 @@ return system; } - // 最低容量(百分比) - private final BigDecimal volProp = new BigDecimal("2"); - // 每日增/减百分比 - private final BigDecimal changeProp = new BigDecimal("1"); - @Override @Transactional(rollbackFor = Exception.class) public synchronized void achieveTree(Long memberId) { DappMemberEntity member = dappMemberDao.selectById(memberId); + int batchNo = 0; + DappAchieveTreeEntity newestTreeNode = dappAchieveTreeDao.selectNewestTreeNode(); + if (newestTreeNode != null) { + if (newestTreeNode.getValidState() == 2) { + batchNo = newestTreeNode.getBatchNo() + 1; + } else { + batchNo = newestTreeNode.getBatchNo(); + } + } + // 在大树中,插入当前节点 DappAchieveTreeEntity achieveTree = new DappAchieveTreeEntity(); achieveTree.setMidNode(memberId); achieveTree.setValidState(1); + achieveTree.setBatchNo(batchNo); dappAchieveTreeDao.insert(achieveTree); // 在内存树(大树)中插入当前节点,并返回父节点 @@ -177,9 +153,6 @@ DappMemberEntity member = dappMemberDao.selectById(memberId); DappMemberEntity parent = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId()); - member.setOutCnt(member.getOutCnt() + 1); - dappMemberDao.updateById(member); - if (parent != null) { BigDecimal directProfit = new BigDecimal("100").multiply(new BigDecimal("0.15")); dappWalletService.updateWalletCoinWithLock(directProfit, parent.getId()); @@ -190,6 +163,9 @@ // 如果是复投的,则需奖励 if (isReIn == 1) { + member.setOutCnt(member.getOutCnt() + 1); + dappMemberDao.updateById(member); + dappWalletService.updateWalletCoinWithLock(new BigDecimal(190), member.getId()); DappFundFlowEntity matrixProfitFlow = new DappFundFlowEntity(memberId, new BigDecimal("190"), 2, 2, null, null); @@ -211,4 +187,21 @@ public void tfcNewPrice(String data) { redisUtils.set(AppContants.REDIS_KEY_TFC_NEW_PRICE, new BigDecimal(data)); } + + @Override + public void resetMatrix() { + DappAchieveTreeEntity node = dappAchieveTreeDao.selectNewestTreeNode(); + if (node.getValidState() == 2) { + return; + } + + long days = DateUtil.between(node.getCreateTime(), new Date(), DateUnit.DAY); + if (days < 7) { + return; + } + + dappAchieveTreeDao.updateNodeValidState(); + dappAchieveMemberTreeDao.emptyTable(); + dappMemberDao.updateMemberActive(); + } } -- Gitblit v1.9.1