From 1df98158a5b26c03db22c865ddb302946e6ccdca Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Wed, 10 Jul 2024 10:10:46 +0800
Subject: [PATCH] 后台

---
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 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 50efb38..8642dcf 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
@@ -1980,6 +1980,9 @@
             if(ObjectUtil.isEmpty(mallMemberRef)){
                 continue;
             }
+//            if(mallMemberRef.getId() != 2366L){
+//                continue;
+//            }
 //            List<MallMember> mallMembersAll = memberMapper.selectAllChildAgentListByInviteId(referrerId);
 //            if(ObjectUtil.isEmpty(mallMembersAll)){
 //                continue;
@@ -2009,7 +2012,23 @@
                 Integer directCntLevel = teamPerkDto.getDirectCnt();
                 Integer teamCnt = teamPerkDto.getTeamCnt();
                 if(directCntLevel <= intersection.size()){
-                    List<MallMember> mallMembersAll = memberMapper.selectMemberWithLevelAndMemberId(level,mallMemberRef.getInviteId());
+                    int levelCode = MemberLevelNewEnum.ZERO_LEVEL.getLevelCode(level);
+
+                    List<MallMember> mallMembersAll = new ArrayList<>();
+                    if(levelCode > 1){
+                        String levelType = MemberLevelNewEnum.ZERO_LEVEL.getLevelType(levelCode - 1);
+                        List<MallMember>  mallMembersDirects = memberMapper.selectByRefererId(mallMemberRef.getInviteId());
+                        for(MallMember memberDirect : mallMembersDirects){
+                            List<MallMember> mallMembers1 = memberMapper.selectMemberWithLevelAndMemberId(levelType, memberDirect.getInviteId());
+                            if(CollUtil.isEmpty(mallMembers1)){
+                                continue;
+                            }
+                            mallMembersAll.add(memberDirect);
+                        }
+                    }else{
+                        String levelType = MemberLevelNewEnum.ZERO_LEVEL.getLevelType(0);
+                        mallMembersAll = memberMapper.selectMemberWithLevelAndMemberId(levelType,mallMemberRef.getInviteId());
+                    }
                     if(teamCnt <= (CollUtil.isEmpty(mallMembersAll) ? 0 : mallMembersAll.size())){
                         mallMemberRef.setLevel(level);
                         memberMapper.updateById(mallMemberRef);

--
Gitblit v1.9.1