From 64cba015ae067baefb8bf6de3ef94c1940119d3b Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 23 Feb 2024 11:41:31 +0800 Subject: [PATCH] 抽奖 --- src/test/java/cc/mrbird/febs/ProfitTest.java | 130 +++++++++++++++++++++--------------------- 1 files changed, 65 insertions(+), 65 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index f1ce186..f0519ec 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -54,71 +54,71 @@ @Test public void dynamicProfit(){ - QueryWrapper<MallProductBuy> query = new QueryWrapper<>(); - query.eq("state", ProductEnum.PRODUCT_BUY_SUCCESS.getValue()); - query.eq("mate_state",ProductEnum.PRODUCT_BUY_MATE_STATE_FAIL.getValue()); - List<MallProductBuy> mallProductBuys = mallProductBuyMapper.selectList(query); - if(CollUtil.isEmpty(mallProductBuys)){ - return; - } - - Set<Long> collect = mallProductBuys.stream().map(MallProductBuy::getMemberId).collect(Collectors.toSet()); - if(CollUtil.isEmpty(collect)){ - return; - } - for(Long memberId : collect){ - MallMember mallMember = memberMapper.selectById(memberId); - if(ObjectUtil.isEmpty(mallMember)){ - continue; - } - //上级 - String referrerId = mallMember.getReferrerId(); - MallMember mallMemberRef = memberMapper.selectInfoByInviteId(referrerId); - if(ObjectUtil.isEmpty(mallMemberRef)){ - continue; - } - List<MallMember> mallMembersAll = memberMapper.selectAllChildAgentListByInviteId(referrerId); - - List<MallMember> mallMembers = memberMapper.selectByRefererId(referrerId); - Set<Long> mallMembersSet = mallMembers.stream().map(MallMember::getId).collect(Collectors.toSet()); - mallMembersSet.retainAll(collect); - List<Long> intersection = new ArrayList<>(mallMembersSet);//上级直推有效人数 - if(CollUtil.isEmpty(intersection)){ - mallMemberRef.setLevel(MemberLevelNewEnum.ZERO_LEVEL.getType()); - memberMapper.updateById(mallMemberRef); - continue; - } - /** - * 从会员等级最低到最高,比较intersection与会员设置的直推人数directCntLevel比较 - * directCntLevel >= intersection.size(),则满足升级会员等级条件,跳出循环 - * teamCnt >= mallMembersAll.size(),则满足升级会员等级条件,跳出循环 - * 达到最高级别后,升级会员等级,跳出循环 - */ - String level = MemberLevelNewEnum.ZERO_LEVEL.getType(); - boolean flag = false; - while (!flag){ - DataDictionaryCustom levelDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( - level, level - ); - TeamPerkDto teamPerkDto = JSONObject.parseObject(levelDic.getValue(), TeamPerkDto.class); - Integer directCntLevel = teamPerkDto.getDirectCnt(); - Integer teamCnt = teamPerkDto.getTeamCnt(); - if(directCntLevel >= intersection.size() && - teamCnt >= mallMembersAll.size()){ - mallMemberRef.setLevel(level); - memberMapper.updateById(mallMemberRef); - flag = true; - } - String nextLevel = MemberLevelNewEnum.ZERO_LEVEL.getNextLevel(level); - level = nextLevel; - if(level.equals(MemberLevelNewEnum.WU_LEVEL.getType()) && - nextLevel.equals(MemberLevelNewEnum.WU_LEVEL.getType()) ){ - mallMemberRef.setLevel(level); - memberMapper.updateById(mallMemberRef); - flag = true; - } - } - } +// QueryWrapper<MallProductBuy> query = new QueryWrapper<>(); +// query.eq("state", ProductEnum.PRODUCT_BUY_SUCCESS.getValue()); +// query.eq("mate_state",ProductEnum.PRODUCT_BUY_MATE_STATE_FAIL.getValue()); +// List<MallProductBuy> mallProductBuys = mallProductBuyMapper.selectList(query); +// if(CollUtil.isEmpty(mallProductBuys)){ +// return; +// } +// +// Set<Long> collect = mallProductBuys.stream().map(MallProductBuy::getMemberId).collect(Collectors.toSet()); +// if(CollUtil.isEmpty(collect)){ +// return; +// } +// for(Long memberId : collect){ +// MallMember mallMember = memberMapper.selectById(memberId); +// if(ObjectUtil.isEmpty(mallMember)){ +// continue; +// } +// //上级 +// String referrerId = mallMember.getReferrerId(); +// MallMember mallMemberRef = memberMapper.selectInfoByInviteId(referrerId); +// if(ObjectUtil.isEmpty(mallMemberRef)){ +// continue; +// } +// List<MallMember> mallMembersAll = memberMapper.selectAllChildAgentListByInviteId(referrerId); +// +// List<MallMember> mallMembers = memberMapper.selectByRefererId(referrerId); +// Set<Long> mallMembersSet = mallMembers.stream().map(MallMember::getId).collect(Collectors.toSet()); +// mallMembersSet.retainAll(collect); +// List<Long> intersection = new ArrayList<>(mallMembersSet);//上级直推有效人数 +// if(CollUtil.isEmpty(intersection)){ +// mallMemberRef.setLevel(MemberLevelNewEnum.ZERO_LEVEL.getType()); +// memberMapper.updateById(mallMemberRef); +// continue; +// } +// /** +// * 从会员等级最低到最高,比较intersection与会员设置的直推人数directCntLevel比较 +// * directCntLevel >= intersection.size(),则满足升级会员等级条件,跳出循环 +// * teamCnt >= mallMembersAll.size(),则满足升级会员等级条件,跳出循环 +// * 达到最高级别后,升级会员等级,跳出循环 +// */ +// String level = MemberLevelNewEnum.ZERO_LEVEL.getType(); +// boolean flag = false; +// while (!flag){ +// DataDictionaryCustom levelDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode( +// level, level +// ); +// TeamPerkDto teamPerkDto = JSONObject.parseObject(levelDic.getValue(), TeamPerkDto.class); +// Integer directCntLevel = teamPerkDto.getDirectCnt(); +// Integer teamCnt = teamPerkDto.getTeamCnt(); +// if(directCntLevel >= intersection.size() && +// teamCnt >= mallMembersAll.size()){ +// mallMemberRef.setLevel(level); +// memberMapper.updateById(mallMemberRef); +// flag = true; +// } +// String nextLevel = MemberLevelNewEnum.ZERO_LEVEL.getNextLevel(level); +// level = nextLevel; +// if(level.equals(MemberLevelNewEnum.WU_LEVEL.getType()) && +// nextLevel.equals(MemberLevelNewEnum.WU_LEVEL.getType()) ){ +// mallMemberRef.setLevel(level); +// memberMapper.updateById(mallMemberRef); +// flag = true; +// } +// } +// } } // @Autowired // private AgentConsumer agentConsumer; -- Gitblit v1.9.1