From e7539cedd9d9bc4d3db7ee5aacff24f2e8bf1107 Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Fri, 23 Feb 2024 15:59:29 +0800 Subject: [PATCH] 抽奖 --- src/test/java/cc/mrbird/febs/ProfitTest.java | 95 +++++++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 91 insertions(+), 4 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index 473676f..77afc53 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -1,12 +1,15 @@ package cc.mrbird.febs; import cc.mrbird.febs.common.entity.FebsResponse; +import cc.mrbird.febs.common.enumerates.MemberLevelNewEnum; +import cc.mrbird.febs.common.enumerates.ProductEnum; import cc.mrbird.febs.common.utils.MallUtils; +import cc.mrbird.febs.mall.dto.TeamPerkDto; +import cc.mrbird.febs.mall.entity.DataDictionaryCustom; import cc.mrbird.febs.mall.entity.MallMember; import cc.mrbird.febs.mall.entity.MallOrderItem; -import cc.mrbird.febs.mall.mapper.MallMemberMapper; -import cc.mrbird.febs.mall.mapper.MallOrderInfoMapper; -import cc.mrbird.febs.mall.mapper.MallOrderItemMapper; +import cc.mrbird.febs.mall.entity.MallProductBuy; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.quartz.OrderSettlementJob; import cc.mrbird.febs.mall.service.*; import cc.mrbird.febs.pay.model.*; @@ -16,8 +19,11 @@ import cc.mrbird.febs.rabbit.producter.AgentProducer; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; @@ -39,6 +45,86 @@ @Autowired private IAgentService agentService; + @Autowired + private MallMemberMapper memberMapper; + @Autowired + private DataDictionaryCustomMapper dataDictionaryCustomMapper; + @Autowired + private MallProductBuyMapper mallProductBuyMapper; +// @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()){ +// if(teamCnt <= mallMembersAll.size()){ +// mallMemberRef.setLevel(level); +// memberMapper.updateById(mallMemberRef); +// +// 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; +// } +// }else{ +// flag = true; +// } +// }else{ +// flag = true; +// } +// } +// } +// } // @Autowired // private AgentConsumer agentConsumer; // @@ -97,7 +183,8 @@ @Test public void agentProfitTrade() { - agentService.BuyToSell(); +// agentService.timeGetOrderBuy(); +// agentService.BuyToSell(); // try { // System.out.println(resourceLoader.getResource("classpath:lkl/api_private_key.pem").getInputStream()); // } catch (IOException e) { -- Gitblit v1.9.1