From 0c68494f50d375a046e6a9d07321860984a7f805 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Thu, 13 Jun 2024 15:49:43 +0800 Subject: [PATCH] 星级矩阵 --- src/test/java/cc/mrbird/febs/TreeTest.java | 356 +++++++++++++++++++++++++++------------------------------- 1 files changed, 167 insertions(+), 189 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/TreeTest.java b/src/test/java/cc/mrbird/febs/TreeTest.java index 9b7821d..24f456b 100644 --- a/src/test/java/cc/mrbird/febs/TreeTest.java +++ b/src/test/java/cc/mrbird/febs/TreeTest.java @@ -1,28 +1,6 @@ package cc.mrbird.febs; -import cc.mrbird.febs.dapp.entity.DappFundFlowEntity; -import cc.mrbird.febs.dapp.entity.DappMemberEntity; -import cc.mrbird.febs.dapp.entity.DbMemberNode; -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.mapper.DbMemberNodeMapper; -import cc.mrbird.febs.dapp.service.DappSystemService; -import cc.mrbird.febs.dapp.vo.MemberNodeVo; -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 @@ -31,175 +9,175 @@ @SpringBootTest public class TreeTest { - @Test - public void matrixTest() { - MatrixTree matrixTree = MatrixTree.getInstance(); - - - String refererId = null; - for (int i = 0; i < 11; i++) { - String inviteId = RandomUtil.randomString(6); - if (i == 2) { - refererId = inviteId; - } - MemberNode memberNode = new MemberNode(); - memberNode.setMemberId(Long.parseLong(i + 1 + "")); - memberNode.setInviteId(inviteId); - memberNode.setAddress(RandomUtil.randomString(14)); - memberNode.setRefererId(refererId); - matrixTree.addNode(memberNode); - } - System.out.println(System.currentTimeMillis()); - } - - @Autowired - private DappSystemService dappSystemService; - @Autowired - private DbMemberNodeMapper dbMemberNodeMapper; - - @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)); +// public void matrixTest() { +// MatrixTree matrixTree = MatrixTree.getInstance(); +// +// +// String refererId = null; +// for (int i = 0; i < 11; i++) { +// String inviteId = RandomUtil.randomString(6); +// if (i == 2) { +// refererId = inviteId; +// } +// MemberNode memberNode = new MemberNode(); +// memberNode.setMemberId(Long.parseLong(i + 1 + "")); +// memberNode.setInviteId(inviteId); +// memberNode.setAddress(RandomUtil.randomString(14)); +// memberNode.setRefererId(refererId); +// matrixTree.addNode(memberNode); +// } +// System.out.println(System.currentTimeMillis()); +// } +// +// @Autowired +// private DappSystemService dappSystemService; +// @Autowired +// private DbMemberNodeMapper dbMemberNodeMapper; +// +// @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() { +// Long withoutId = 1L; +// BigDecimal amount = new BigDecimal(30); +// String nodeType = "1"; +// 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(), +// amount, +// 18, +// 2, +// BigDecimal.ZERO, +// null); +// fundFlow.setToHash(nodeType); +// dappFundFlowDao.insert(fundFlow); +// dappSystemService.achieveTreeV2(fundFlow.getId()); // } // } // } - - @Test - public void resetMatrixV2() { - dappSystemService.achieveTreeV2(136L); - } - - @Test - public void resetMatrix() { - Long withoutId = 1L; - BigDecimal amount = new BigDecimal(30); - String nodeType = "1"; - 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(), - amount, - 18, - 2, - BigDecimal.ZERO, - null); - fundFlow.setToHash(nodeType); - dappFundFlowDao.insert(fundFlow); - dappSystemService.achieveTreeV2(fundFlow.getId()); - } - } - } - - @Test - public void resetMatrixV4() { - Long memberId = 141L; - BigDecimal amount = new BigDecimal(30); - String nodeType = "1"; - DappFundFlowEntity fundFlow = new DappFundFlowEntity( - memberId, - amount, - 18, - 2, - BigDecimal.ZERO, - null); - fundFlow.setToHash(nodeType); - dappFundFlowDao.insert(fundFlow); - dappSystemService.achieveTreeV2(fundFlow.getId()); - - Long memberIds = 136L; - Integer type = 1; - - DappMemberEntity member = dappMemberDao.selectById(memberIds); - - QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); - objectQueryWrapper.eq("member_id",member.getId()); - objectQueryWrapper.eq("type", type); - objectQueryWrapper.eq("work_state", DbMemberNode.STATE_ONE); - DbMemberNode dbMemberNode = dbMemberNodeMapper.selectOne(objectQueryWrapper); - if(ObjectUtil.isEmpty(dbMemberNode)){ - return; - } - MemberNodeVo memberNodeVo = buildTeamMatrix(dbMemberNode); - System.out.println(JSONUtil.parseObj(memberNodeVo)); - } - @Test - public void resetMatrixV5() { - Long memberId = 136L; - Integer type = 1; - - DappMemberEntity member = dappMemberDao.selectById(memberId); - - QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); - objectQueryWrapper.eq("member_id",member.getId()); - objectQueryWrapper.eq("type", type); - objectQueryWrapper.eq("work_state", DbMemberNode.STATE_ONE); - DbMemberNode dbMemberNode = dbMemberNodeMapper.selectOne(objectQueryWrapper); - if(ObjectUtil.isEmpty(dbMemberNode)){ - return; - } - MemberNodeVo memberNodeVo = buildTeamMatrix(dbMemberNode); - System.out.println(JSONUtil.parseObj(memberNodeVo)); - } - - public MemberNodeVo buildTeamMatrix(DbMemberNode dbMemberNode) { - Long id = dbMemberNode.getId(); - - MemberNodeVo memberNodeVo = new MemberNodeVo(); - memberNodeVo.setInviteId(getInviteId(id)); - memberNodeVo.setId(id); - memberNodeVo.setParentNode(ObjectUtil.isEmpty(dbMemberNode.getParentNode()) ? 0L : dbMemberNode.getParentNode()); - memberNodeVo.setLeftNode(ObjectUtil.isEmpty(dbMemberNode.getLeftNode()) ? 0L : dbMemberNode.getLeftNode()); - memberNodeVo.setRightNode(ObjectUtil.isEmpty(dbMemberNode.getRightNode()) ? 0L : dbMemberNode.getRightNode()); - memberNodeVo.setLeftRight(ObjectUtil.isEmpty(dbMemberNode.getLeftRight()) ? 0 : dbMemberNode.getLeftRight()); - - QueryWrapper<DbMemberNode> childQuery = new QueryWrapper<>(); - childQuery.eq("parent_node",id); - childQuery.eq("type", dbMemberNode.getType()); - childQuery.eq("work_state", DbMemberNode.STATE_ONE); - List<DbMemberNode> childrenNode = dbMemberNodeMapper.selectList(childQuery); - if(CollUtil.isEmpty(childrenNode)){ - return memberNodeVo; - } - - List<MemberNodeVo> list = new ArrayList<>(); - for (DbMemberNode childNode : childrenNode) { - list.add(buildTeamMatrix(childNode)); - } - memberNodeVo.setChildren(list); - return memberNodeVo; - } - - public String getInviteId(Long memberNodeId){ - DbMemberNode dbMemberNode = dbMemberNodeMapper.selectById(memberNodeId); - Long memberId = dbMemberNode.getMemberId(); - DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId); - return dappMemberEntity.getInviteId(); - } - - @Test - public void limitResetProfitTest() { - dappSystemService.putIntoProfit(59L, 1); - } +// +// @Test +// public void resetMatrixV4() { +// Long memberId = 141L; +// BigDecimal amount = new BigDecimal(30); +// String nodeType = "1"; +// DappFundFlowEntity fundFlow = new DappFundFlowEntity( +// memberId, +// amount, +// 18, +// 2, +// BigDecimal.ZERO, +// null); +// fundFlow.setToHash(nodeType); +// dappFundFlowDao.insert(fundFlow); +// dappSystemService.achieveTreeV2(fundFlow.getId()); +// +// Long memberIds = 136L; +// Integer type = 1; +// +// DappMemberEntity member = dappMemberDao.selectById(memberIds); +// +// QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); +// objectQueryWrapper.eq("member_id",member.getId()); +// objectQueryWrapper.eq("type", type); +// objectQueryWrapper.eq("work_state", DbMemberNode.STATE_ONE); +// DbMemberNode dbMemberNode = dbMemberNodeMapper.selectOne(objectQueryWrapper); +// if(ObjectUtil.isEmpty(dbMemberNode)){ +// return; +// } +// MemberNodeVo memberNodeVo = buildTeamMatrix(dbMemberNode); +// System.out.println(JSONUtil.parseObj(memberNodeVo)); +// } +// @Test +// public void resetMatrixV5() { +// Long memberId = 136L; +// Integer type = 1; +// +// DappMemberEntity member = dappMemberDao.selectById(memberId); +// +// QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>(); +// objectQueryWrapper.eq("member_id",member.getId()); +// objectQueryWrapper.eq("type", type); +// objectQueryWrapper.eq("work_state", DbMemberNode.STATE_ONE); +// DbMemberNode dbMemberNode = dbMemberNodeMapper.selectOne(objectQueryWrapper); +// if(ObjectUtil.isEmpty(dbMemberNode)){ +// return; +// } +// MemberNodeVo memberNodeVo = buildTeamMatrix(dbMemberNode); +// System.out.println(JSONUtil.parseObj(memberNodeVo)); +// } +// +// public MemberNodeVo buildTeamMatrix(DbMemberNode dbMemberNode) { +// Long id = dbMemberNode.getId(); +// +// MemberNodeVo memberNodeVo = new MemberNodeVo(); +// memberNodeVo.setInviteId(getInviteId(id)); +// memberNodeVo.setId(id); +// memberNodeVo.setParentNode(ObjectUtil.isEmpty(dbMemberNode.getParentNode()) ? 0L : dbMemberNode.getParentNode()); +// memberNodeVo.setLeftNode(ObjectUtil.isEmpty(dbMemberNode.getLeftNode()) ? 0L : dbMemberNode.getLeftNode()); +// memberNodeVo.setRightNode(ObjectUtil.isEmpty(dbMemberNode.getRightNode()) ? 0L : dbMemberNode.getRightNode()); +// memberNodeVo.setLeftRight(ObjectUtil.isEmpty(dbMemberNode.getLeftRight()) ? 0 : dbMemberNode.getLeftRight()); +// +// QueryWrapper<DbMemberNode> childQuery = new QueryWrapper<>(); +// childQuery.eq("parent_node",id); +// childQuery.eq("type", dbMemberNode.getType()); +// childQuery.eq("work_state", DbMemberNode.STATE_ONE); +// List<DbMemberNode> childrenNode = dbMemberNodeMapper.selectList(childQuery); +// if(CollUtil.isEmpty(childrenNode)){ +// return memberNodeVo; +// } +// +// List<MemberNodeVo> list = new ArrayList<>(); +// for (DbMemberNode childNode : childrenNode) { +// list.add(buildTeamMatrix(childNode)); +// } +// memberNodeVo.setChildren(list); +// return memberNodeVo; +// } +// +// public String getInviteId(Long memberNodeId){ +// DbMemberNode dbMemberNode = dbMemberNodeMapper.selectById(memberNodeId); +// Long memberId = dbMemberNode.getMemberId(); +// DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId); +// return dappMemberEntity.getInviteId(); +// } +// +// @Test +// public void limitResetProfitTest() { +// dappSystemService.putIntoProfit(59L, 1); +// } } -- Gitblit v1.9.1