From 13a83a82de868164ba4eb7d109e978d386df8ffa Mon Sep 17 00:00:00 2001
From: Hentua <wangdoubleone@gmail.com>
Date: Mon, 24 Apr 2023 22:24:48 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
index 76d9a66..a74ef42 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java
@@ -81,8 +81,12 @@
 
         matrixTreeNode = new MatrixTreeNode();
         matrixTreeNode.setTreeNode(memberId);
-        matrixTreeNode.setParentNode(parentNode.getMemberId());
+        matrixTreeNode.setParentNode(parentNode == null ? null : parentNode.getMemberId());
         matrixTreeNodeMapper.insert(matrixTreeNode);
+
+        if (parentNode == null) {
+            return;
+        }
 
         List<DataDictionaryCustom> dicList = dataDictionaryCustomMapper.selectDicByType(AppContants.AGENT_LEVEL);
         DataDictionaryCustom dic = null;
@@ -97,9 +101,12 @@
         }
 
         MallMember parentMember = memberMapper.selectById(parentNode.getMemberId());
-        parentMember.setChildNodeCnt(parentNode.CHILD.size());
-        parentMember.setLevel(dic.getCode());
-        memberMapper.updateById(parentMember);
+        int levelCode = MemberLevelEnum.getLevelCode(parentMember.getLevel());
+        if (Integer.parseInt(dic.getValue()) > levelCode) {
+            parentMember.setChildNodeCnt(parentNode.CHILD.size());
+            parentMember.setLevel(dic.getCode());
+            memberMapper.updateById(parentMember);
+        }
     }
 
     /**

--
Gitblit v1.9.1