KKSU
2024-06-22 cf41edf287a88574bf955bda8f4d6aa6fef27720
后台矩阵列表
2 files modified
56 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 3 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/MatrixResetJob.java 53 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -417,6 +417,9 @@
            if(ObjectUtil.isEmpty(dbMemberNodeRoot)){
                return;
            }
            if(dbMemberNodeRoot.getLeftRight() == 1){
                return;
            }
            //每个星团,只复投10轮
            if(10 < dbMemberNodeRoot.getCountFund()){
                return;
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);
        }
    }
}