| | |
| | | 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; |
| | | } |
| | |
| | | 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); |
| | | |
| | |
| | | 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){ |