KKSU
2024-04-22 3d3734ca69d0894e1e1f77db215c0ffc5a8811b2
滑点权重改成U计算
4 files modified
34 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/entity/DappAchieve.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java 10 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java 22 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 1 ●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/entity/DappAchieve.java
@@ -19,6 +19,7 @@
    private Long memberId;
    private BigDecimal price;//投入GFA数量
    private BigDecimal amount;//投入GFA数量
    private BigDecimal amountDone;//累计产出
src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
@@ -442,7 +442,7 @@
            queryWrapper.eq("state",DappAchieve.STATUS_ING);
            List<DappAchieve> dappAchieveSumList = dappAchieveMapper.selectList(queryWrapper);
            //个人团队总业绩
            BigDecimal teamAchieveMemberSum = dappAchieveSumList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
            BigDecimal teamAchieveMemberSum = dappAchieveSumList.stream().map(item-> item.getAmount().multiply(item.getPrice())).reduce(BigDecimal.ZERO, BigDecimal::add);
            if(BigDecimal.ZERO.compareTo(teamAchieveMemberSum) >= 0){
                continue;
            }
@@ -517,10 +517,13 @@
        BigDecimal multiplyDivideEveryUsdt = divideEveryUsdt.multiply(selfPercentMultiply);
        BigDecimal multiplyDivideEveryCoin = divideEveryCoin.multiply(selfPercentMultiply);
        //当前生效中的质押总数
        BigDecimal amountMemberTotal = dappAchieves.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
        BigDecimal amountMemberTotal = dappAchieves.stream().map(item-> item.getAmount().multiply(item.getPrice())).reduce(BigDecimal.ZERO, BigDecimal::add);
        if(BigDecimal.ZERO.compareTo(amountMemberTotal) >= 0){
            return;
        }
        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(amountMemberTotal,8,BigDecimal.ROUND_DOWN);
        BigDecimal everyCoin = multiplyDivideEveryCoin.divide(amountMemberTotal,8,BigDecimal.ROUND_DOWN);
@@ -528,7 +531,8 @@
        Set<Long> set = collect.keySet(); // 得到所有key的集合
        for (Long memberId : set) {
            //当前每个人生效中的质押总数
            BigDecimal amountMember = collect.get(memberId).stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
//            BigDecimal amountMember = collect.get(memberId).stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
            BigDecimal amountMember = collect.get(memberId).stream().map(item-> item.getAmount().multiply(item.getPrice())).reduce(BigDecimal.ZERO, BigDecimal::add);
            //这个人实际可以分到的数量USDT
            BigDecimal multiplyUsdt = amountMember.multiply(everyUsdt).setScale(8, BigDecimal.ROUND_DOWN);
            if(BigDecimal.ZERO.compareTo(multiplyUsdt) >= 0){
src/main/java/cc/mrbird/febs/dapp/service/impl/DappMemberServiceImpl.java
@@ -379,10 +379,28 @@
            Set<Long> collect1 = filteredList.stream().map(DappAchieve::getMemberId).collect(Collectors.toSet());
            teamListVo.setAvaCount(CollUtil.isEmpty(collect1) ? 0 : collect1.size());
            BigDecimal teamAchieveMemberSum = dappAchieveSumList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
//            BigDecimal teamAchieveMemberSum = dappAchieveSumList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
            BigDecimal teamAchieveMemberSum = dappAchieveSumList.stream().map(item-> item.getAmount().multiply(item.getPrice())).reduce(BigDecimal.ZERO, BigDecimal::add);
//            BigDecimal teamAchieveMemberSum = BigDecimal.ZERO;
//            if(CollUtil.isNotEmpty(dappAchieveSumList)){
//                for(DappAchieve dappAchieve : dappAchieveSumList){
//                    BigDecimal price = dappAchieve.getPrice();
//                    BigDecimal amount = dappAchieve.getAmount();
//                    teamAchieveMemberSum = teamAchieveMemberSum.add(price.multiply(amount)).setScale(2,BigDecimal.ROUND_DOWN);
//                }
//            }
            teamListVo.setTeamAmount(teamAchieveMemberSum);
            BigDecimal avaAmount = filteredList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
//            BigDecimal avaAmount = filteredList.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
            BigDecimal avaAmount = filteredList.stream().map(item-> item.getAmount().multiply(item.getPrice())).reduce(BigDecimal.ZERO, BigDecimal::add);
//            BigDecimal avaAmount = BigDecimal.ZERO;
//            if(CollUtil.isNotEmpty(filteredList)){
//                for(DappAchieve dappAchieve : filteredList){
//                    BigDecimal price = dappAchieve.getPrice();
//                    BigDecimal amount = dappAchieve.getAmount();
//                    avaAmount = avaAmount.add(price.multiply(amount)).setScale(2,BigDecimal.ROUND_DOWN);
//                }
//            }
            teamListVo.setAvaAmount(avaAmount);
        }else{
            teamListVo.setAvaCount(0);
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -323,6 +323,7 @@
            //新增一条用户质押记录
            DappAchieve dappAchieve = new DappAchieve();
            dappAchieve.setMemberId(memberId);
            dappAchieve.setPrice(transferDto.getPrice());
            dappAchieve.setAmount(amount);
            BigDecimal achieveReleasePercent = new BigDecimal("0.01").multiply(
                    new BigDecimal(redisUtils.getString(DataDicEnum.GFA_ACHIEVE_RELEASE.getValue())).setScale(2,BigDecimal.ROUND_DOWN)