From e7b0de5c535ee7750c80f15ce662b72a46b42400 Mon Sep 17 00:00:00 2001 From: xiaoyong931011 <15274802129@163.com> Date: Mon, 10 Apr 2023 09:58:56 +0800 Subject: [PATCH] 设置内转开关 --- src/main/java/cc/mrbird/febs/mall/service/impl/AgentServiceImpl.java | 63 +++++++++++++++++++------------ 1 files changed, 38 insertions(+), 25 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 06c2285..7c3e128 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 @@ -50,24 +50,27 @@ 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; -// } /** * 升级到董事就无法升级了 */ String nextLevelName = MemberLevelEnum.NORMAL.getNextLevel(parent.getLevel()); int levelCode = MemberLevelEnum.NORMAL.getLevelCode(nextLevelName); - if(levelCode >= 7){ + if(levelCode == 8){ + continue; + } + if(levelCode == 7){ + //level为v6,升级董事,则看团队下有没有两个V6 + List<MallMember> mallMemberTeamMembers = memberMapper.selectAllChildAgentListByInviteId(parent.getInviteId()); + List<MallMember> levelV6List = mallMemberTeamMembers.stream() + .filter(teamMember -> teamMember.getLevel().equals(MemberLevelEnum.V6.getType())) + .collect(Collectors.toList()); + if(CollUtil.isNotEmpty(levelV6List) && levelV6List.size() >= 2){ + parent.setLevel(MemberLevelEnum.V_DIRECTOR.getType()); + memberMapper.updateById(parent); + } continue; } -// DataDictionaryCustom nextLevel = dataDictionaryCustomMapper.selectNextAgentLevelInfo(parent.getLevel()); -// if (nextLevel == null) { -// log.info("当前层级无下一级:{}", parent.getLevel()); -// continue; -// } DataDictionaryCustom newLevelDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode("AGENT_PERK_SET", nextLevelName); AdminAgentInfo adminAgentInfo = JSONObject.parseObject(newLevelDic.getValue(), AdminAgentInfo.class); @@ -75,15 +78,11 @@ continue; } -// if (!agentCntFinish(parent, adminAgentInfo)) { -// continue; -// } - if (!teamIncome(parent, adminAgentInfo)) { continue; } - parent.setLevel(newLevelDic.getCode()); + parent.setLevel(nextLevelName); memberMapper.updateById(parent); } } @@ -155,7 +154,7 @@ List<BigDecimal> list = new ArrayList<>(); //总业绩 BigDecimal teamIncomeMax = BigDecimal.ZERO; - //所有直推团队 + //所有直推团队,就是这个会员的所有区域的业绩。 List<MallMember> mallMembers = mallMemberMapper.selectByRefererId(member.getInviteId()); List<String> mallMemberInviteIds = mallMembers.stream().map(MallMember::getInviteId).collect(Collectors.toList()); for(String inviteId : mallMemberInviteIds){ @@ -163,19 +162,33 @@ teamIncomeMax = teamIncomeMax.add(totalIncomeMember); list.add(totalIncomeMember); } + //去掉一个最大区的业绩 + BigDecimal bigMax = list.stream().max(BigDecimal::compareTo).get(); + teamIncomeMax = teamIncomeMax.subtract(bigMax); - - - -// BigDecimal targetIncome = agentInfo.getTeamIncome().multiply(new BigDecimal("10000")); -// if (totalIncome.compareTo(targetIncome) >= 0) { -// return true; -// } -// -// log.info("用户:{}团队业绩未达标, 当前等级:{}, 当前数量:{}, 目标数量:{}", member.getPhone(), member.getLevel(), totalIncome, targetIncome); + if (teamIncomeMax.compareTo(teamIncome) >= 0) { + return true; + } + log.info("用户:{}团队业绩未达标, 当前等级:{}, 当前业绩:{}, 目标业绩:{}", member.getPhone(), member.getLevel(), teamIncomeMax, teamIncome); return false; } + public static void main(String[] args) { + BigDecimal q = new BigDecimal("100"); + BigDecimal q1 = new BigDecimal("99"); + BigDecimal q2 = new BigDecimal("100"); + BigDecimal q3= new BigDecimal("88"); + + List<BigDecimal> list = new ArrayList<>(); + list.add(q); + list.add(q1); + list.add(q2); + list.add(q3); + + BigDecimal bigMax = list.stream().max(BigDecimal::compareTo).get(); + System.out.println(bigMax); + } + @Override @Transactional(rollbackFor = Exception.class) public void returnMoneyToAgent(Long orderId) { -- Gitblit v1.9.1