From 65cf739fe077c398d35e58a083a1c7be40a3b7a2 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Sun, 06 Aug 2023 23:32:39 +0800
Subject: [PATCH] 数据修改
---
src/main/java/cc/mrbird/febs/dapp/service/impl/MatrixTreeNodeServiceImpl.java | 23 +++++++++++++++++++----
1 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/MatrixTreeNodeServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/MatrixTreeNodeServiceImpl.java
index bd7895b..2fc58bd 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/MatrixTreeNodeServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/MatrixTreeNodeServiceImpl.java
@@ -7,6 +7,7 @@
import cc.mrbird.febs.dapp.mapper.DappMemberDao;
import cc.mrbird.febs.dapp.mapper.MatrixTreeNodeMapper;
import cc.mrbird.febs.dapp.service.IMatrixTreeNodeService;
+import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.RequiredArgsConstructor;
@@ -30,16 +31,26 @@
MatrixTree instance = MatrixTree.getInstance();
MemberNode node = instance.getNode(memberId);
+ //节点存在则直接返回
if (node != null) {
return null;
}
-
+ //未找到节点
if (StrUtil.isNotBlank(mallMember.getRefererId())) {
+ //返回直推上级所在节点
MemberNode parentNode = instance.getNode(mallMember.getRefererId());
MemberNode notWholeNode = null;
if (parentNode != null) {
- notWholeNode = instance.findNotWholeNode(parentNode);
+ Long parentNodeMemberId = parentNode.getMemberId();
+ MatrixTreeNode matrixTreeNode = matrixTreeNodeMapper.selectByParentNodeAndType(parentNodeMemberId,mallMember.getNodeType());
+ if(ObjectUtil.isNotEmpty(matrixTreeNode)){
+ //直推上级的第一代子节点
+ MemberNode nodeParentChild = instance.getNode(matrixTreeNode.getTreeNode());
+ notWholeNode = instance.findNotWholeNode(nodeParentChild);
+ }else{
+ notWholeNode = instance.findNotWholeNode(parentNode);
+ }
} else {
notWholeNode = instance.findNotWholeNode();
}
@@ -47,17 +58,21 @@
MatrixTreeNode treeNode = new MatrixTreeNode();
treeNode.setTreeNode(mallMember.getId());
treeNode.setParentNode(notWholeNode.getMemberId());
+ treeNode.setType(mallMember.getNodeType());
matrixTreeNodeMapper.insert(treeNode);
} else {
MatrixTreeNode treeNode = new MatrixTreeNode();
treeNode.setTreeNode(mallMember.getId());
+ treeNode.setType(0);
matrixTreeNodeMapper.insert(treeNode);
}
-
+ MatrixTreeNode matrixTreeNode = matrixTreeNodeMapper.selectByTreeNode(memberId);
+ DappMemberEntity dappMemberEntity = mallMemberMapper.selectById(matrixTreeNode.getParentNode());
node = new MemberNode();
node.setMemberId(memberId);
node.setInviteId(mallMember.getInviteId());
- node.setRefererId(mallMember.getRefererId());
+ node.setRefererId(dappMemberEntity.getInviteId());
+ node.setType(mallMember.getNodeType());
return instance.addNode(node);
}
}
--
Gitblit v1.9.1