From 391be926e4d98387ed92fa80b2b5a218264073d2 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 13 Jun 2024 10:35:38 +0800 Subject: [PATCH] 星级矩阵 --- src/test/java/cc/mrbird/febs/TreeTest.java | 76 ++++++++++++++++++++++++++++++++++++- 1 files changed, 73 insertions(+), 3 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/TreeTest.java b/src/test/java/cc/mrbird/febs/TreeTest.java index d250032..cb47a9f 100644 --- a/src/test/java/cc/mrbird/febs/TreeTest.java +++ b/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 -- Gitblit v1.9.1