KKSU
2024-06-13 391be926e4d98387ed92fa80b2b5a218264073d2
星级矩阵
1 files modified
76 ■■■■■ changed files
src/test/java/cc/mrbird/febs/TreeTest.java 76 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/TreeTest.java
@@ -1,13 +1,27 @@
package cc.mrbird.febs;
import cc.mrbird.febs.dapp.entity.DappAchieveMemberTreeEntity;
import cc.mrbird.febs.dapp.entity.DappFundFlowEntity;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.mapper.DappAchieveMemberTreeDao;
import cc.mrbird.febs.dapp.mapper.DappFundFlowDao;
import cc.mrbird.febs.dapp.mapper.DappMemberDao;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.dapp.vo.TeamListVo;
import cc.mrbird.febs.tree.MatrixTree;
import cc.mrbird.febs.tree.MemberNode;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
/**
 * @author wzy
@@ -43,11 +57,67 @@
    @Autowired
    private DappAchieveMemberTreeDao dappAchieveMemberTreeDao;
    @Autowired
    private DappMemberDao dappMemberDao;
    @Autowired
    private DappFundFlowDao dappFundFlowDao;
    @Test
    public void resetMatrixV3() {
        Long memberId = 136L;
        QueryWrapper<DappFundFlowEntity> objectQueryWrappers = new QueryWrapper<>();
        objectQueryWrappers.eq("member_id", memberId);
        objectQueryWrappers.orderByDesc("create_time");
        List<DappFundFlowEntity> dappFundFlowEntitiess = dappFundFlowDao.selectList(objectQueryWrappers);
        if(ObjectUtil.isNotEmpty(dappFundFlowEntitiess)){
            DappAchieveMemberTreeEntity topNode = dappAchieveMemberTreeDao.selectNodeByDeep(dappFundFlowEntitiess.get(0).getId(), 1);
            if (ObjectUtil.isNotEmpty(topNode)) {
                TeamListVo teamListVo = buildTeamMatrix(topNode);
                System.out.println(JSONUtil.parseObj(teamListVo));
            }
        }
    }
    @Test
    public void resetMatrixV2() {
        dappSystemService.achieveTreeV2(136L);
    }
    @Test
    public void resetMatrix() {
        dappSystemService.achieveTree(Long.parseLong("134"));
//        dappSystemService.resetMatrix();
//        dappAchieveMemberTreeDao.emptyTable();
        Long withoutId = 1L;
        QueryWrapper<DappMemberEntity> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.orderByAsc("create_time");
        List<DappMemberEntity> dappMemberEntities = dappMemberDao.selectList(objectQueryWrapper);
        for(DappMemberEntity member : dappMemberEntities){
            System.out.println(member.getId());
            if(withoutId != member.getId()){
                DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), new BigDecimal("1"), 1, 2,
                        BigDecimal.ZERO, "测试");
                dappFundFlowDao.insert(fundFlow);
                dappSystemService.achieveTreeV2(fundFlow.getId());
            }
        }
    }
    public TeamListVo buildTeamMatrix(DappAchieveMemberTreeEntity node) {
        List<DappAchieveMemberTreeEntity> childNodes = dappAchieveMemberTreeDao.selectMatrixChildNode(node.getTopNode(), node.getTreeNode());
        TeamListVo teamListVo = new TeamListVo();
        teamListVo.setName(node.getInviteId());
        teamListVo.setHasMoney(node.getHasMoney());
        if (CollUtil.isEmpty(childNodes)) {
            return teamListVo;
        }
        List<TeamListVo> list = new ArrayList<>();
        for (DappAchieveMemberTreeEntity childNode : childNodes) {
            list.add(buildTeamMatrix(childNode));
        }
        teamListVo.setChildren(list);
        return teamListVo;
    }
    @Test