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 | 121 ++++++++++++++++++++++++++++++++++------ 1 files changed, 102 insertions(+), 19 deletions(-) diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java index 5040508..ced2bc2 100644 --- a/src/test/java/cc/mrbird/febs/ProfitTest.java +++ b/src/test/java/cc/mrbird/febs/ProfitTest.java @@ -1,12 +1,12 @@ 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.*; import cc.mrbird.febs.pay.model.*; @@ -16,8 +16,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 +42,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; // @@ -94,23 +177,23 @@ private NBYHService nbyhService; @Autowired private IAdminMallMemberService mallMemberService; + @Autowired + private MallProductNftMapper mallProductNftMapper; @Test public void agentProfitTrade() { -// try { -// System.out.println(resourceLoader.getResource("classpath:lkl/api_private_key.pem").getInputStream()); -// } catch (IOException e) { -// e.printStackTrace(); -// } -// nbyhService.tradeSinge(306L); -// nbyhService.tradeSingeOuterTransfer(306L); -// nbyhService.accountInfoQuery(306L); -// nbyhService.transferResultInfoQuery(315L); - -// mallMemberService.chargeAgree(307L); -// mallMemberService.searchInfo(307L); - - agentService.perkAgent(); + 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() { -- Gitblit v1.9.1