KKSU
2024-03-27 0131654bead2f8a4a9f4824f56dd13708f828298
滑点
5 files modified
84 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java 12 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 4 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java 2 ●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/MemberTest.java 64 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java
@@ -271,9 +271,9 @@
            if(CollUtil.isEmpty(downMembersList)){
                continue;
            }
            Set<Long> collect = downMembersList.stream().map(DappMemberEntity::getId).collect(Collectors.toSet());
            QueryWrapper<DappAchieve> queryWrapper = new QueryWrapper<>();
            queryWrapper.in("member_id",downMembersList);
            queryWrapper.in("member_id",collect);
            queryWrapper.eq("state",DappAchieve.STATUS_ING);
            List<DappAchieve> dappAchieveSumList = dappAchieveMapper.selectList(queryWrapper);
            //个人团队总业绩
@@ -285,8 +285,8 @@
            memberPerkMap.put(memberId,teamAchieveMemberSum);
        }
        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal);
        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(memberPerkTotal);
        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
        Set<Long> set = memberPerkMap.keySet(); // 得到所有key的集合
        for (Long memberId : set) {
            //当前生效中的团队业绩
@@ -332,8 +332,8 @@
        BigDecimal multiplyDivideEveryCoin = divideEveryCoin.multiply(selfPercentMultiply);
        //当前生效中的质押总数
        BigDecimal amountMemberTotal = dappAchieves.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(amountMemberTotal);
        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(amountMemberTotal);
        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(amountMemberTotal,4,BigDecimal.ROUND_DOWN);
        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(amountMemberTotal,4,BigDecimal.ROUND_DOWN);
        Map<Long, List<DappAchieve>> collect = dappAchieves.stream().collect(Collectors.groupingBy(DappAchieve::getMemberId));
        Set<Long> set = collect.keySet(); // 得到所有key的集合
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -236,10 +236,12 @@
        DappMemberEntity member = LoginUserUtil.getAppUser();
        String hasStart = redisUtils.getString(DataDicEnum.SYSTEM_START_FLAG.getValue());
        BigDecimal minAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MIN_AMOUNT.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal minAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MIN_AMOUNT.getValue()));
        BigDecimal maxAmount = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_BUY_MAX_AMOUNT.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal gfaDays = new BigDecimal(redisUtils.getString(DataDicEnum.GFA_DAYS.getValue())).setScale(2,BigDecimal.ROUND_DOWN);
        minAmount = minAmount.divide(transferDto.getPrice(),2,BigDecimal.ROUND_DOWN);
        maxAmount = maxAmount.divide(transferDto.getPrice(),2,BigDecimal.ROUND_DOWN);;
        if (transferDto.getId() == null) {
            if (DappFundFlowEntity.TYPE_BUY == transferDto.getType()) {
                //系统开始标识
src/main/java/cc/mrbird/febs/rabbit/QueueConstants.java
@@ -19,6 +19,6 @@
    public static final String QUEUE_GFA_ZY_TIME_TTL = "queue_gfa_zy_time_ttl";
    public static final String ONLINE_TRANSFER = "queue_online_transfer";
    public static final String DISTRIB_PROFIT = "queue_distrib_profit";
    public static final String DISTRIB_PROFIT = "queue_gfa_distrib_profit";
    public static final String USER_BUY_REWARD = "queue_user_buy_reward";
}
src/main/java/cc/mrbird/febs/rabbit/QueueEnum.java
@@ -27,7 +27,7 @@
            QueueConstants.QUEUE_GFA_ZY_TIME_TTL),
    ONLINE_TRANSFER("exchange_online_transfer", "route_key_online_transfer", QueueConstants.ONLINE_TRANSFER),
    DISTRIB_PROFIT("exchange_distrib_profit", "route_key_distrib_profit", QueueConstants.DISTRIB_PROFIT),
    DISTRIB_PROFIT("exchange_gfa_distrib_profit", "route_key_gfa_distrib_profit", QueueConstants.DISTRIB_PROFIT),
    USER_BUY_REWARD("exchange_user_buy_reward", "route_key_user_buy_reward", QueueConstants.USER_BUY_REWARD);
    private String exchange;
src/test/java/cc/mrbird/febs/MemberTest.java
@@ -1,16 +1,22 @@
package cc.mrbird.febs;
import cc.mrbird.febs.common.contants.AppContants;
import cc.mrbird.febs.common.enumerates.DataDicEnum;
import cc.mrbird.febs.common.utils.RedisUtils;
import cc.mrbird.febs.dapp.entity.DappMemberEntity;
import cc.mrbird.febs.dapp.entity.DataDictionaryCustom;
import cc.mrbird.febs.dapp.mapper.DappMemberDao;
import cc.mrbird.febs.dapp.mapper.DataDictionaryCustomMapper;
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.util.StrUtil;
import org.apache.commons.lang3.StringUtils;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.scheduling.annotation.Scheduled;
import java.math.BigDecimal;
import java.util.List;
/**
@@ -21,51 +27,27 @@
public class MemberTest {
    @Autowired
    private DappMemberDao dappMemberDao;
    private ChainProducer chainProducer;
    @Autowired
    private RedisUtils redisUtils;
    @Autowired
    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
    private DappSystemService dappSystemService;
    @Test
    public void refererIdsTest() {
        DappMemberEntity member = dappMemberDao.selectById(24);
        boolean flag = false;
        String parentId = "35087336";
        String ids = "";
        String feeProfitIds = "";
        int i = 1;
        List<DataDictionaryCustom> feeProfitDic = dataDictionaryCustomMapper.selectDicByType(AppContants.DIC_TYPE_DISTRIBUTE_PROP);
        while (!flag && StringUtils.isNotBlank(parentId)) {
            if (StrUtil.isBlank(ids)) {
                ids += parentId;
            } else {
                ids += ("," + parentId);
            }
            if (i <= 4) {
                if (StrUtil.isBlank(feeProfitIds)) {
                    feeProfitIds += parentId;
                } else {
                    feeProfitIds += ("," + parentId);
                }
            }
            i++;
            DappMemberEntity parentMember = dappMemberDao.selectMemberInfoByInviteId(parentId);
            if (parentMember == null) {
                break;
            }
            parentId = parentMember.getRefererId();
            if(StringUtils.isBlank(parentId) || "0".equals(parentId)){
                break;
            }
            if (parentMember.getRefererId().equals(parentMember.getInviteId())) {
                flag = true;
            }
    public void mineJob() {
        BigDecimal usdtAmount = new BigDecimal(
                redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue())
        ).setScale(2,BigDecimal.ROUND_DOWN);
        BigDecimal coinAmount = new BigDecimal(
                redisUtils.getString(DataDicEnum.GFA_HUA_DIAN_WALLET_COIN_AMOUNT.getValue())
        ).setScale(2,BigDecimal.ROUND_DOWN);
        if(BigDecimal.ZERO.compareTo(usdtAmount) > 0){
            return;
        }
        member.setRefererIds(ids);
        member.setFeeProfitIds(feeProfitIds);
        if(BigDecimal.ZERO.compareTo(coinAmount) > 0){
            return;
        }
//        dappSystemService.tradeProfitDistribute(1L);
    }
}