From e323f70b56b7ddcfe91d8112cf46873f626b7cfb Mon Sep 17 00:00:00 2001 From: KKSU <15274802129@163.com> Date: Mon, 22 Apr 2024 15:56:16 +0800 Subject: [PATCH] 初始化代币价格 --- src/test/java/cc/mrbird/febs/ProfitTest.java | 138 ++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 121 insertions(+), 17 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index 71c386a..ced2bc2 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -1,26 +1,26 @@ 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.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.dto.TeamPerkDto; +import cc.mrbird.febs.mall.entity.*; +import cc.mrbird.febs.mall.mapper.*; import cc.mrbird.febs.mall.quartz.OrderSettlementJob; -import cc.mrbird.febs.mall.service.IAgentService; -import cc.mrbird.febs.mall.service.IApiMallOrderInfoService; -import cc.mrbird.febs.mall.service.IMallAchieveService; -import cc.mrbird.febs.mall.service.IMemberProfitService; +import cc.mrbird.febs.mall.service.*; import cc.mrbird.febs.pay.model.*; import cc.mrbird.febs.pay.service.LaKaLaService; +import cc.mrbird.febs.pay.service.NBYHService; import cc.mrbird.febs.pay.service.UnipayService; -import cc.mrbird.febs.rabbit.consumer.AgentConsumer; 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; @@ -40,6 +40,88 @@ @SpringBootTest public class ProfitTest { + @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; // @@ -91,6 +173,28 @@ private LaKaLaService laKaLaService; @Autowired ResourceLoader resourceLoader; + @Autowired + private NBYHService nbyhService; + @Autowired + private IAdminMallMemberService mallMemberService; + @Autowired + private MallProductNftMapper mallProductNftMapper; + + @Test + public void agentProfitTrade() { + MallProductNft mallProductNft = mallProductNftMapper.selectById(4L); + BigDecimal profitPercent = mallProductNft.getProfit(); + System.out.println(profitPercent); + MallProductBuy mallProductBuy = mallProductBuyMapper.selectById(184L); + BigDecimal nftTotal = mallProductBuy.getNftTotal(); + System.out.println(nftTotal); + BigDecimal totalPerk = mallProductBuy.getTotalPerk(); + System.out.println(totalPerk); + BigDecimal profit = nftTotal.multiply(profitPercent.multiply(new BigDecimal(0.01))).setScale(2,BigDecimal.ROUND_DOWN); + System.out.println(profit); + BigDecimal bigDecimal = totalPerk.subtract(profit).setScale(2, BigDecimal.ROUND_DOWN); + System.out.println(bigDecimal); + } @Test public void agentProfit() { // try { @@ -98,13 +202,13 @@ // } catch (IOException e) { // e.printStackTrace(); // } - LaKaLaCreateOrderReqDate laKaLaCreateOrderReqDate = new LaKaLaCreateOrderReqDate(); - //订单编号 - laKaLaCreateOrderReqDate.setOut_order_no("2023041918302032901"); - //订单金额,分计 - laKaLaCreateOrderReqDate.setTotal_amount(new BigDecimal(1).longValue()); - laKaLaCreateOrderReqDate.setOrder_info("礼品一"); - laKaLaService.verifyCreateOrder(laKaLaCreateOrderReqDate); +// LaKaLaCreateOrderReqDate laKaLaCreateOrderReqDate = new LaKaLaCreateOrderReqDate(); +// //订单编号 +// laKaLaCreateOrderReqDate.setOut_order_no("2023041918302032901"); +// //订单金额,分计 +// laKaLaCreateOrderReqDate.setTotal_amount(new BigDecimal(1).longValue()); +// laKaLaCreateOrderReqDate.setOrder_info("礼品一"); +// laKaLaService.verifyCreateOrder(laKaLaCreateOrderReqDate); } // // -- Gitblit v1.9.1