From cf41edf287a88574bf955bda8f4d6aa6fef27720 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Sat, 22 Jun 2024 22:00:33 +0800 Subject: [PATCH] 后台矩阵列表 --- src/main/java/cc/mrbird/febs/job/MatrixResetJob.java | 53 ++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 40 insertions(+), 13 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java b/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java index 0c1c206..7ce4569 100644 --- a/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java +++ b/src/main/java/cc/mrbird/febs/job/MatrixResetJob.java @@ -1,22 +1,18 @@ package cc.mrbird.febs.job; -import cc.mrbird.febs.common.contants.AppContants; -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.entity.DataDictionaryCustom; -import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper; +import cc.mrbird.febs.dapp.entity.DbMemberNode; +import cc.mrbird.febs.dapp.mapper.DbMemberNodeMapper; import cc.mrbird.febs.dapp.service.DappSystemService; -import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.ObjectUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; -import javax.annotation.Resource; -import java.math.BigDecimal; -import java.math.RoundingMode; +import java.util.List; /** * @author wzy @@ -28,11 +24,42 @@ public class MatrixResetJob { @Autowired - private DappSystemService systemService; + private DappSystemService dappSystemService; + @Autowired + private DbMemberNodeMapper dbMemberNodeMapper; @Scheduled(cron = "0 0 0 * * ?") public void resetMatrix() { -// log.info("重置"); -// systemService.resetMatrix(); + /** + * 获取所有左右节点都有值,轮数为 1,未复投work_state = 1 的节点 + * 判断右节点有值 + * 有继续向判断右节点 + * 有,原纪录复投逻辑 + */ + QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); + objectQueryWrapper.eq("count_fund", 1); + objectQueryWrapper.eq("work_state", 1); + List<DbMemberNode> dbMemberNodes = dbMemberNodeMapper.selectList(objectQueryWrapper); + if(CollUtil.isEmpty(dbMemberNodes)){ + return; + } + for(DbMemberNode dbMemberNode : dbMemberNodes){ + if(ObjectUtil.isEmpty(dbMemberNode.getRightNode())){ + continue; + } + //子节点 + Long rightNode = dbMemberNode.getRightNode(); + DbMemberNode dbMemberNode1 = dbMemberNodeMapper.selectById(rightNode); + if(ObjectUtil.isEmpty(dbMemberNode1)){ + continue; + } + + if(ObjectUtil.isEmpty(dbMemberNode1.getRightNode())){ + continue; + } + + //有,则上级节点出局复投,轮数加1,复投逻辑 + dappSystemService.memberNodeNext(dbMemberNode); + } } } -- Gitblit v1.9.1