From 0a41407a35c47cba38c75f13eae69ebd49c0dfac Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 28 Sep 2021 17:29:28 +0800
Subject: [PATCH] fix agent auto level up

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 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 42c478f..c4040e6 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
@@ -56,6 +56,11 @@
         List<String> ids = StrUtil.split(member.getReferrerIds(), ',');
         List<MallMember> parentMembers = memberMapper.selectByInviteIds(ids);
         for (MallMember parent : parentMembers) {
+            // 未激活用户无法升级
+            if (AgentLevelEnum.ZERO_LEVEL.name().equals(member.getLevel())) {
+                continue;
+            }
+
             DataDictionaryCustom nextLevel = dataDictionaryCustomMapper.selectNextAgentLevelInfo(parent.getLevel());
             if (nextLevel == null) {
                 log.info("当前层级无下一级:{}", parent.getLevel());
@@ -102,7 +107,7 @@
      * @return
      */
     private boolean agentCntFinish(MallMember member, AgentInfo agentInfo) {
-        if (agentInfo.getLastCnt() == null) {
+        if (agentInfo.getLastCnt() == null || agentInfo.getLastCnt() == 0) {
             return true;
         }
 
@@ -151,7 +156,7 @@
      */
     private void directReturnMoney(MallMember member, MallOrderInfo orderInfo) {
         MallMember parent = memberMapper.selectInfoByInviteId(member.getReferrerId());
-        if (AgentLevelEnum.FIRST_LEVEL.name().equals(parent.getLevel())) {
+        if (AgentLevelEnum.FIRST_LEVEL.name().equals(parent.getLevel()) || AgentLevelEnum.ZERO_LEVEL.name().equals(parent.getLevel())) {
             return;
         }
 

--
Gitblit v1.9.1