KKSU
2024-04-07 49fe390d3e59b22a20cd520da3c520c2ee670ebb
src/main/java/cc/mrbird/febs/dapp/service/impl/AsyncCjServiceImpl.java
@@ -310,7 +310,11 @@
        //可以获取奖励的用户
        Map<Long, BigDecimal> memberPerkMap = new HashMap<>();
        //总团队业绩
        BigDecimal memberPerkTotal = BigDecimal.ZERO;
//        BigDecimal memberPerkTotal = BigDecimal.ZERO;
        BigDecimal memberPerkTotal = dappAchieves.stream().map(DappAchieve::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
        if(BigDecimal.ZERO.compareTo(memberPerkTotal) >= 0){
            return;
        }
        //获取全部会员
        Set<Long> allMembers = dappMemberEntities.stream().map(DappMemberEntity::getId).collect(Collectors.toSet());
        //获取正在质押的会员ID
@@ -352,11 +356,8 @@
            if(BigDecimal.ZERO.compareTo(teamAchieveMemberSum) >= 0){
                continue;
            }
            memberPerkTotal = memberPerkTotal.add(teamAchieveMemberSum);
//            memberPerkTotal = memberPerkTotal.add(teamAchieveMemberSum);
            memberPerkMap.put(memberId,teamAchieveMemberSum);
        }
        if(BigDecimal.ZERO.compareTo(memberPerkTotal) >= 0){
            return;
        }
        BigDecimal everyUsdt = multiplyDivideEveryUsdt.divide(memberPerkTotal,4,BigDecimal.ROUND_DOWN);
@@ -368,28 +369,31 @@
            //这个人实际可以分到的数量USDT
            BigDecimal multiplyUsdt = amountMember.multiply(everyUsdt).setScale(4, BigDecimal.ROUND_DOWN);
            //这个人实际可以分到的数量COIN
            BigDecimal multiplyCoin = divideEveryCoin.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
            BigDecimal multiplyCoin = amountMember.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
            DappMemberEntity dappMemberEntityExit = dappMemberDao.selectById(memberId);
            if(ObjectUtil.isEmpty(dappMemberEntityExit)){
                continue;
            }
            createFlow(
                    multiplyUsdt,
                    memberId,
                    FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getValue(),
                    FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getDescrition(),
                    StrUtil.format(FlowTypeEnum.HUA_DIAN_TUANDUI_USDT.getDescrition(), amountMember),
                    4,
                    1,
                    ChainEnum.BSC_TFC_REWARD.name(),
                    DataDicEnum.USDT_COIN.getValue(),
                    2);
            createFlow(
                    multiplyCoin,
                    memberId,
                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getValue(),
                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getDescrition(),
                    4,
                    1,
                    ChainEnum.BSC_TFC_REWARD.name(),
                    DataDicEnum.USDT_COIN.getValue(),
                    1);
//            createFlow(
//                    multiplyCoin,
//                    memberId,
//                    FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getValue(),
//                    StrUtil.format(FlowTypeEnum.HUA_DIAN_TUANDUI_DAIBI.getDescrition(), amountMember),
//                    4,
//                    1,
//                    ChainEnum.BSC_TFC_REWARD.name(),
//                    DataDicEnum.USDT_COIN.getValue(),
//                    1);
        }
    }
@@ -420,31 +424,40 @@
            //这个人实际可以分到的数量USDT
            BigDecimal multiplyUsdt = amountMember.multiply(everyUsdt).setScale(4, BigDecimal.ROUND_DOWN);
            //这个人实际可以分到的数量COIN
            BigDecimal multiplyCoin = divideEveryCoin.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
            BigDecimal multiplyCoin = amountMember.multiply(everyCoin).setScale(4, BigDecimal.ROUND_DOWN);
            DappMemberEntity dappMemberEntityExit = dappMemberDao.selectById(memberId);
            if(ObjectUtil.isEmpty(dappMemberEntityExit)){
                continue;
            }
            createFlow(
                    multiplyUsdt,
                    memberId,
                    FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
                    FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(),
                    StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), amountMember),
                    4,
                    1,
                    ChainEnum.BSC_TFC_REWARD.name(),
                    DataDicEnum.USDT_COIN.getValue(),
                    2);
            createFlow(
                    multiplyCoin,
                    memberId,
                    FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
                    FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(),
                    4,
                    1,
                    ChainEnum.BSC_TFC_REWARD.name(),
                    DataDicEnum.GFA_COIN.getValue(),
                    1);
//            createFlow(
//                    multiplyCoin,
//                    memberId,
//                    FlowTypeEnum.HUA_DIAN_GEREN.getValue(),
//                    StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), amountMember),
//                    4,
//                    1,
//                    ChainEnum.BSC_TFC_REWARD.name(),
//                    DataDicEnum.GFA_COIN.getValue(),
//                    1);
        }
    }
    public static void main(String[] args) {
        String format = StrUtil.format(FlowTypeEnum.HUA_DIAN_GEREN.getDescrition(), 100);
        System.out.println(format);
    }
    /**
     * 插入流水记录,增加转账记录,发送线上转账的消息
     * @param multiplyUsdt