| | |
| | | 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); |
| | |
| | | continue; |
| | | } |
| | | |
| | | // if (!agentCntFinish(parent, adminAgentInfo)) { |
| | | // continue; |
| | | // } |
| | | |
| | | if (!teamIncome(parent, adminAgentInfo)) { |
| | | continue; |
| | | } |
| | | |
| | | parent.setLevel(newLevelDic.getCode()); |
| | | parent.setLevel(nextLevelName); |
| | | memberMapper.updateById(parent); |
| | | } |
| | | } |
| | |
| | | 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){ |
| | |
| | | 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) { |