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
|
* @date 2022-08-24
|
**/
|
@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 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;
|
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
|
public void limitResetProfitTest() {
|
dappSystemService.putIntoProfit(59L, 1);
|
}
|
}
|