From 3e39512dfde0035f556f177dac58052baf686853 Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Tue, 30 Jan 2024 15:38:42 +0800
Subject: [PATCH] 一代5%是他入金额的5% 团队5%是团队收益的5%

---
 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 eb52989..2640d2a 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
@@ -882,7 +882,8 @@
                                     DataDictionaryEnum.BASIC_PERK_DIRECT.getType(),
                                     DataDictionaryEnum.BASIC_PERK_DIRECT.getCode()
                             ).getValue()).multiply(new BigDecimal("0.01"));
-                            BigDecimal basicPerkDirect = profit.multiply(basicPerkDirectPercent).setScale(2, BigDecimal.ROUND_DOWN);
+//                            BigDecimal basicPerkDirect = profit.multiply(basicPerkDirectPercent).setScale(2, BigDecimal.ROUND_DOWN);
+                            BigDecimal basicPerkDirect = nftTotal.multiply(basicPerkDirectPercent).setScale(2, BigDecimal.ROUND_DOWN);
                             /**
                              * 先插入流水记录,然后定时器每小时,循环一次找寻对应的数据执行
                              */
@@ -1377,6 +1378,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 +1392,7 @@
             /**
              * 从会员等级最低到最高,比较intersection与会员设置的直推人数directCntLevel比较
              * directCntLevel >= intersection.size(),则满足升级会员等级条件,跳出循环
+             * teamCnt >= mallMembersAll.size(),则满足升级会员等级条件,跳出循环
              * 达到最高级别后,升级会员等级,跳出循环
              */
             String level = MemberLevelNewEnum.ZERO_LEVEL.getType();
@@ -1400,7 +1403,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;

--
Gitblit v1.9.1