From 5b62e19c16973f9c2668ebdce39acf3caf5cbf18 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Thu, 27 Jun 2024 09:43:41 +0800
Subject: [PATCH] 后台矩阵列表
---
src/test/java/cc/mrbird/febs/TreeTest.java | 228 +++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 165 insertions(+), 63 deletions(-)
diff --git a/src/test/java/cc/mrbird/febs/TreeTest.java b/src/test/java/cc/mrbird/febs/TreeTest.java
index b4d3aa6..7ea9ddd 100644
--- a/src/test/java/cc/mrbird/febs/TreeTest.java
+++ b/src/test/java/cc/mrbird/febs/TreeTest.java
@@ -1,6 +1,26 @@
package cc.mrbird.febs;
+import cc.mrbird.febs.common.utils.RedisUtils;
+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.*;
+import cc.mrbird.febs.dapp.service.DappSystemService;
+import cc.mrbird.febs.dapp.service.DappWalletService;
+import cc.mrbird.febs.dapp.vo.MemberNodeVo;
+import cc.mrbird.febs.rabbit.producer.ChainProducer;
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.ObjectUtil;
+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 javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
/**
* @author wzy
@@ -8,18 +28,106 @@
**/
@SpringBootTest
public class TreeTest {
+
+
+ @Resource
+ private RedisUtils redisUtils;
+ @Resource
+ private DappFundFlowDao dappFundFlowDao;
+ @Resource
+ private DappMemberDao dappMemberDao;
+ @Resource
+ private DataDictionaryCustomMapper dataDictionaryCustomMapper;
+ @Resource
+ private DappWalletService dappWalletService;
+ @Resource
+ private DappWalletCoinDao dappWalletCoinDao;
+ @Resource
+ private ChainProducer chainProducer;
//
-// @Autowired
-// DappSystemService dappSystemService;
-// @Autowired
-// DbMemberNodeMapper dbMemberNodeMapper;
-//
-// @Test
-// public void matrixTest() {
-// DbMemberNode dbMemberNode = dbMemberNodeMapper.selectById(171L);
-//
-// dappSystemService.memberNodeNext(dbMemberNode);
-// }
+ @Autowired
+ DappSystemService dappSystemService;
+ @Autowired
+ DbMemberNodeMapper dbMemberNodeMapper;
+ @Test
+ public void matrixTestV7() {
+ ArrayList<Integer> objects = new ArrayList<>();
+ objects.add(2);
+ objects.add(3);
+
+ QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.in("type",objects);
+ List<DbMemberNode> dbMemberNodes = dbMemberNodeMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isEmpty(dbMemberNodes)){
+ return;
+ }
+ for(DbMemberNode dbMemberNode : dbMemberNodes){
+ Integer workState = dbMemberNode.getWorkState();
+ if(2 == workState){
+ dbMemberNodeMapper.deleteById(dbMemberNode.getId());
+ continue;
+ }
+ BigDecimal amount = dbMemberNode.getAmount();
+ Long memberId = dbMemberNode.getMemberId();
+
+ dappWalletService.updateWalletCoinWithLock(amount, memberId, 1);
+ dbMemberNodeMapper.deleteById(dbMemberNode.getId());
+ }
+ }
+
+ @Test
+ public void matrixTest() {
+ DappFundFlowEntity fundFlow = dappFundFlowDao.selectById(4641L);
+ DappMemberEntity fromMember = dappMemberDao.selectById(fundFlow.getMemberId());
+
+ // 更改状态为已同步
+ fundFlow.setStatus(2);
+ dappFundFlowDao.updateById(fundFlow);
+ //激活用户
+ fromMember.setActiveStatus(1);
+ dappMemberDao.updateById(fromMember);
+
+ chainProducer.sendNodeMsg(fundFlow.getId());
+ //发送推荐规则奖励
+ chainProducer.sendInvitePerkMsg(fundFlow.getId());
+ //发送节点投资
+ chainProducer.sendNodePerkMsg(fundFlow.getId());
+
+ }
+ @Test
+ public void matrixTestv2() {
+
+ /**
+ * 获取所有左右节点都有值,轮数为 1,未复投work_state = 1 的节点
+ * 判断右节点有值
+ * 有继续向判断右节点
+ * 有,原纪录复投逻辑
+ */
+ QueryWrapper<DbMemberNode> objectQueryWrapper = new QueryWrapper<>();
+ objectQueryWrapper.eq("work_state", 1);
+ List<DbMemberNode> dbMemberNodes = dbMemberNodeMapper.selectList(objectQueryWrapper);
+ if(CollUtil.isEmpty(dbMemberNodes)){
+ return;
+ }
+ for(DbMemberNode dbMemberNode : dbMemberNodes){
+ if(ObjectUtil.isEmpty(dbMemberNode.getRightNode())){
+ continue;
+ }
+ //子节点
+ Long rightNode = dbMemberNode.getRightNode();
+ DbMemberNode dbMemberNode1 = dbMemberNodeMapper.selectById(rightNode);
+ if(ObjectUtil.isEmpty(dbMemberNode1)){
+ continue;
+ }
+
+ if(ObjectUtil.isEmpty(dbMemberNode1.getRightNode())){
+ continue;
+ }
+
+ //有,则上级节点出局复投,轮数加1,复投逻辑
+ dappSystemService.memberNodeNext(dbMemberNode);
+ }
+ }
//
// @Autowired
// private DappSystemService dappSystemService;
@@ -113,59 +221,53 @@
// 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());
+ @Test
+ public void resetMatrixV5() {
+ Long memberId = 300L;
+ 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));
+ 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();
-// }
+ 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() {
--
Gitblit v1.9.1