| | |
| | | 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.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.TeamListVo; |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private DappSystemService dappSystemService; |
| | | @Autowired |
| | | private DbMemberNodeMapper dbMemberNodeMapper; |
| | | |
| | | @Autowired |
| | | private DappAchieveMemberTreeDao dappAchieveMemberTreeDao; |
| | |
| | | @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 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() { |
| | |
| | | @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(), new BigDecimal("1"), 1, 2, |
| | | BigDecimal.ZERO, "测试"); |
| | | DappFundFlowEntity fundFlow = new DappFundFlowEntity( |
| | | member.getId(), |
| | | amount, |
| | | 18, |
| | | 2, |
| | | BigDecimal.ZERO, |
| | | null); |
| | | fundFlow.setToHash(nodeType); |
| | | dappFundFlowDao.insert(fundFlow); |
| | | dappSystemService.achieveTreeV2(fundFlow.getId()); |
| | | } |
| | | } |
| | | } |
| | | |
| | | public TeamListVo buildTeamMatrix(DappAchieveMemberTreeEntity node) { |
| | | List<DappAchieveMemberTreeEntity> childNodes = dappAchieveMemberTreeDao.selectMatrixChildNode(node.getTopNode(), node.getTreeNode()); |
| | | @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()); |
| | | |
| | | TeamListVo teamListVo = new TeamListVo(); |
| | | teamListVo.setName(node.getInviteId()); |
| | | teamListVo.setHasMoney(node.getHasMoney()); |
| | | Long memberIds = 136L; |
| | | Integer type = 1; |
| | | |
| | | if (CollUtil.isEmpty(childNodes)) { |
| | | return teamListVo; |
| | | 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)); |
| | | } |
| | | |
| | | List<TeamListVo> list = new ArrayList<>(); |
| | | for (DappAchieveMemberTreeEntity childNode : childNodes) { |
| | | 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)); |
| | | } |
| | | teamListVo.setChildren(list); |
| | | return teamListVo; |
| | | 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 |