From e30b02a52e2cd185b37e99669499be6a2aff53be Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 30 Jan 2024 15:34:45 +0800
Subject: [PATCH] 团队人数和直推人数

---
 src/main/resources/templates/febs/views/modules/system/profitSetting.html |    3 +++
 src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java      |    6 +++++-
 src/main/java/cc/mrbird/febs/mall/dto/TeamPerkDto.java                    |    2 ++
 3 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/dto/TeamPerkDto.java b/src/main/java/cc/mrbird/febs/mall/dto/TeamPerkDto.java
index e54174c..935db56 100644
--- a/src/main/java/cc/mrbird/febs/mall/dto/TeamPerkDto.java
+++ b/src/main/java/cc/mrbird/febs/mall/dto/TeamPerkDto.java
@@ -14,6 +14,8 @@
 public class TeamPerkDto {
     //直推人数
     private Integer directCnt;
+    //直推人数
+    private Integer teamCnt;
     //团队收益比例
     private String PerkPercent;
     //平级比例
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 eb52989..2c1de2c 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
@@ -1377,6 +1377,7 @@
             //上级
             String referrerId = mallMember.getReferrerId();
             MallMember mallMemberRef = memberMapper.selectInfoByInviteId(referrerId);
+            List<MallMember> mallMembersAll = memberMapper.selectAllChildAgentListByInviteId(referrerId);
 
             List<MallMember> mallMembers = memberMapper.selectByRefererId(referrerId);
             Set<Long> mallMembersSet = mallMembers.stream().map(MallMember::getId).collect(Collectors.toSet());
@@ -1390,6 +1391,7 @@
             /**
              * 从会员等级最低到最高,比较intersection与会员设置的直推人数directCntLevel比较
              * directCntLevel >= intersection.size(),则满足升级会员等级条件,跳出循环
+             * teamCnt >= mallMembersAll.size(),则满足升级会员等级条件,跳出循环
              * 达到最高级别后,升级会员等级,跳出循环
              */
             String level = MemberLevelNewEnum.ZERO_LEVEL.getType();
@@ -1400,7 +1402,9 @@
                 );
                 TeamPerkDto teamPerkDto = JSONObject.parseObject(levelDic.getValue(), TeamPerkDto.class);
                 Integer directCntLevel = teamPerkDto.getDirectCnt();
-                if(directCntLevel >= intersection.size()){
+                Integer teamCnt = teamPerkDto.getTeamCnt();
+                if(directCntLevel >= intersection.size() &&
+                        teamCnt >= mallMembersAll.size()){
                     mallMemberRef.setLevel(level);
                     memberMapper.updateById(mallMemberRef);
                     flag = true;
diff --git a/src/main/resources/templates/febs/views/modules/system/profitSetting.html b/src/main/resources/templates/febs/views/modules/system/profitSetting.html
index c746a78..afba80a 100644
--- a/src/main/resources/templates/febs/views/modules/system/profitSetting.html
+++ b/src/main/resources/templates/febs/views/modules/system/profitSetting.html
@@ -47,6 +47,7 @@
             ,cols: [[ //表头
                 {field: 'description', title: '名称'}
                 ,{field: 'directCnt', title: '直推(个)', edit:'text'}
+                ,{field: 'teamCnt', title: '团队(个)', edit:'text'}
                 ,{field: 'PerkPercent', title: '团队补贴', edit:'text'}
                 ,{field: 'equalsPerkPercent', title: '平级补贴', edit:'text'}
                 ,{field: 'type', title: '比例', edit:'text', hide:'true'}
@@ -63,6 +64,7 @@
                 if (agentBonusArr[i].code === data.code) {
                     let valueData = {};
                     valueData.directCnt = data.directCnt;
+                    valueData.teamCnt = data.teamCnt;
                     valueData.PerkPercent = data.PerkPercent;
                     valueData.equalsPerkPercent = data.equalsPerkPercent;
                     agentBonusArr[i].value = JSON.stringify(valueData);
@@ -77,6 +79,7 @@
                     let data = r.data;
                     for (let i = 0; i < data.length; i++) {
                         data[i].directCnt = JSON.parse(data[i].value).directCnt;
+                        data[i].teamCnt = JSON.parse(data[i].value).teamCnt;
                         data[i].PerkPercent = JSON.parse(data[i].value).PerkPercent;
                         data[i].equalsPerkPercent = JSON.parse(data[i].value).equalsPerkPercent;
                         data[i].description = data[i].description;

--
Gitblit v1.9.1