xiaoyong931011
2022-10-25 b8bf19375db90bf5bd409cacfe6cb066c5f2b34a
20221021
4 files modified
478 ■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java 15 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 322 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java 64 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/JunitTest.java 77 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -202,10 +202,6 @@
        4、生成流水记录
        5、更新用户表是否正在挂机状态字段为否
         */
        //更新主表为结束状态
        IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(orderId);
        igtOnHookPlanOrder.setState(2);
        igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
        //删除子表中未生效的记录
        QueryWrapper<IgtOnHookPlanOrderItem> objectQueryWrapper = new QueryWrapper<>();
        objectQueryWrapper.eq("order_id",orderId);
@@ -218,9 +214,16 @@
        String refererIds = dappMemberDao.selectById(memberId).getRefererIds();
        List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
        //生成流水佣金和盈利分成和流水记录,返回剩余盈利
        totalProfit = dappWalletService.updateLSYJYLFC(refererIdList,totalProfit);
        BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
        //平台分成,返回剩余盈利
        totalProfit = dappWalletService.updatePTFC(memberId,totalProfit);
        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
        totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
        //更新主表为结束状态
        IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(orderId);
        igtOnHookPlanOrder.setState(2);
        igtOnHookPlanOrder.setPlanAmount(totalProfit);
        igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
        //所有未中奖的本金
        BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
        DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -860,184 +860,135 @@
    @Override
    public BigDecimal updateLSYJYLFC(List<String> refererIdList,BigDecimal totalProfit) {
        //计算盈利分成
//        if(CollUtil.isNotEmpty(refererIdList)){
//            String LEVEL_IB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_IB.getCode());
//            if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                BigDecimal multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                DappMemberEntity dappMemberEntityLEVEL_IB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_IB);
//
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_IB.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_IB.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_FIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_FIB.getCode());
//            if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }else{
//                    multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                DappMemberEntity dappMemberEntityLEVEL_FIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_FIB);
//
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_FIB.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_FIB.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_CIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_CIB.getCode());
//            if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                multiply = totalProfit.multiply(multiply);
//                DappMemberEntity dappMemberEntityLEVEL_CIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_CIB);
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_CIB.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_CIB.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
//            if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
//                }
//                multiply = totalProfit.multiply(multiply);
//                DappMemberEntity dappMemberEntityLEVEL_AIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_AIB);
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_AIB.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_AIB.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_GIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GIB.getCode());
//            if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
//                }
//                multiply = totalProfit.multiply(multiply);
//                DappMemberEntity dappMemberEntityLEVEL_GIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GIB);
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GIB.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_GIB.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_BP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_BP.getCode());
//            if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
//                }
//                multiply = totalProfit.multiply(multiply);
//                DappMemberEntity dappMemberEntityLEVEL_BP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_BP);
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_BP.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_BP.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_SP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_SP.getCode());
//            if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
//                }
//                multiply = totalProfit.multiply(multiply);
//                DappMemberEntity dappMemberEntityLEVEL_SP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_SP);
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_SP.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_SP.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//            String LEVEL_GP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GP.getCode());
//            if(!DataDictionaryEnum.LEVEL_GP.getCode().equals(LEVEL_GP)){
//                BigDecimal multiply = BigDecimal.ZERO;
//                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
//                }
//                if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
//                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()));
//                }
//                multiply = totalProfit.multiply(multiply);
//                DappMemberEntity dappMemberEntityLEVEL_GP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GP);
//                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GP.getId(),multiply);
//                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
//                        dappMemberEntityLEVEL_GP.getId(), multiply, "盈利分成", 8);
//                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
//                totalProfit = totalProfit.subtract(multiply);
//            }
//
//
//        }
        BigDecimal profitSharingTotal = BigDecimal.ZERO;
        if(CollUtil.isNotEmpty(refererIdList)){
            String LEVEL_IB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_IB.getCode());
            if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
                BigDecimal multiply = totalProfit.multiply(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                DappMemberEntity dappMemberEntityLEVEL_IB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_IB);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_IB.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_IB.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_FIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_FIB.getCode());
            if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_IB.getCode().equals(LEVEL_IB)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_IB.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_FIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_FIB);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_FIB.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_FIB.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_CIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_CIB.getCode());
            if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_FIB.getCode().equals(LEVEL_FIB)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_FIB.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_CIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_CIB);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_CIB.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_CIB.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
            if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_CIB.getCode().equals(LEVEL_CIB)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_CIB.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_AIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_AIB);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_AIB.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_AIB.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_GIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GIB.getCode());
            if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_AIB.getCode().equals(LEVEL_AIB)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_AIB.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_GIB = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GIB);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GIB.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_GIB.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_BP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_BP.getCode());
            if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_GIB.getCode().equals(LEVEL_GIB)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_GIB.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_BP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_BP);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_BP.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_BP.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_SP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_SP.getCode());
            if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_BP.getCode().equals(LEVEL_BP)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_BP.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_SP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_SP);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_SP.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_SP.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_GP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GP.getCode());
            if(!DataDictionaryEnum.LEVEL_GP.getCode().equals(LEVEL_GP)){
                BigDecimal multiply = BigDecimal.ZERO;
                if(!DataDictionaryEnum.LEVEL_SP.getCode().equals(LEVEL_SP)){
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_GP.getCode()).subtract(getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode()));
                }else{
                    multiply = getProfitSharing(DataDictionaryEnum.LEVEL_SP.getCode());
                }
                multiply = totalProfit.multiply(multiply);
                DappMemberEntity dappMemberEntityLEVEL_GP = dappMemberDao.selectMemberInfoByInviteId(LEVEL_GP);
                dappWalletCoinDao.addTotalAndaddAvailableById(dappMemberEntityLEVEL_GP.getId(),multiply);
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_GP.getId(), multiply, "盈利分成", 8);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
        }
        //计算流水佣金
        if(CollUtil.isNotEmpty(refererIdList)){
            String LEVEL_AIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_AIB.getCode());
@@ -1049,7 +1000,7 @@
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_AIB.getId(), multiply, "流水佣金", 7);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                totalProfit = totalProfit.subtract(multiply);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_GIB = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GIB.getCode());
@@ -1061,7 +1012,7 @@
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_GIB.getId(), multiply, "流水佣金", 7);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                totalProfit = totalProfit.subtract(multiply);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_BP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_BP.getCode());
@@ -1073,7 +1024,7 @@
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_BP.getId(), multiply, "流水佣金", 7);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                totalProfit = totalProfit.subtract(multiply);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_SP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_SP.getCode());
@@ -1085,7 +1036,7 @@
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_SP.getId(), multiply, "流水佣金", 7);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                totalProfit = totalProfit.subtract(multiply);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
            String LEVEL_GP = isIdentity(refererIdList, DataDictionaryEnum.LEVEL_GP.getCode());
@@ -1097,10 +1048,10 @@
                DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                        dappMemberEntityLEVEL_GP.getId(), multiply, "流水佣金", 7);
                dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
                totalProfit = totalProfit.subtract(multiply);
                profitSharingTotal = profitSharingTotal.add(multiply);
            }
        }
        return totalProfit;
        return profitSharingTotal;
    }
    @Override
@@ -1109,8 +1060,7 @@
        DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(
                memberId, multiply, "系统", 9);
        dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
        totalProfit = totalProfit.subtract(multiply);
        return totalProfit;
        return multiply;
    }
    private String isIdentity(List<String> refererIds,String levelCode){
src/main/java/cc/mrbird/febs/job/OnHookPlanJob.java
@@ -131,9 +131,10 @@
                String refererIds = dappMemberEntity.getRefererIds();
                List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
                //生成流水佣金和盈利分成和流水记录,返回剩余盈利
                totalProfit = dappWalletService.updateLSYJYLFC(refererIdList,totalProfit);
                BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
                //平台分成,返回剩余盈利
                totalProfit = dappWalletService.updatePTFC(memberId,totalProfit);
                BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
                totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
                BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1);
                igtOnHookPlanOrder.setState(2);
@@ -144,6 +145,7 @@
                }else{
                    igtOnHookPlanOrder.setProfitState(1);
                }
                igtOnHookPlanOrder.setPlanAmount(totalProfit);
                igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
                dappMemberEntity.setIsOnHook(3);
                dappMemberDao.updateById(dappMemberEntity);
@@ -175,7 +177,7 @@
    @Scheduled(cron = "0 0/1 * * * ? ")
    public void createAwardInfo(){
        Log.info("挂架开奖记录");
        Log.info("挂机开奖记录");
        /**
         * 每天跑一次,直接生成全部的记录
         * 产生中奖记录
@@ -186,29 +188,51 @@
        String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String yyyyMMdd = sdf.format(date);
        QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
        dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
        Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
        if(0 < selectCount){
            return;
        if(0 == selectCount){
            Format formatCount = new DecimalFormat("000");
            //一般都是将累加的数字当做一些单号的一部分,format要求string
            int dayMillise = (24 * 60) / 5;
            for(int i= 1;i <= dayMillise;i++){
                DappOnHookAward dappOnHookAward = new DappOnHookAward();
                int randomInt = RandomUtil.randomInt(10000, 99999);
                dappOnHookAward.setAwardNum(Integer.toString(randomInt));
                dappOnHookAward.setState(2);
                String str = formatCount.format(i);
                dappOnHookAward.setRecordNum(yyyyMMdd+str);
                dappOnHookAward.setAwardTime(aWardTimeStart);
                dappOnHookAwardDao.insert(dappOnHookAward);
                aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
            }
        }
        Format formatCount = new DecimalFormat("000");
        //一般都是将累加的数字当做一些单号的一部分,format要求string
        int dayMillise = (24 * 60) / 5;
        for(int i= 1;i <= dayMillise;i++){
            DappOnHookAward dappOnHookAward = new DappOnHookAward();
            int randomInt = RandomUtil.randomInt(10000, 99999);
            dappOnHookAward.setAwardNum(Integer.toString(randomInt));
            dappOnHookAward.setState(2);
            String str = formatCount.format(i);
            dappOnHookAward.setRecordNum(yyyyMMdd+str);
            dappOnHookAward.setAwardTime(aWardTimeStart);
            dappOnHookAwardDao.insert(dappOnHookAward);
            aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
        DateTime tomorrow = DateUtil.tomorrow();
        String tomorrowTime = DateUtil.format(tomorrow, "yyyy-MM-dd");
        DateTime tomorrowTimeStart = DateUtil.parseDateTime(tomorrowTime + " 00:00:00");
//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
        String tomorrowYyyyMMdd = sdf.format(tomorrow);
        QueryWrapper<DappOnHookAward> tomorrowYyyyMMddWrapper = new QueryWrapper();
        tomorrowYyyyMMddWrapper.like("record_num",tomorrowYyyyMMdd);
        Integer tomorrowSelectCount = dappOnHookAwardDao.selectCount(tomorrowYyyyMMddWrapper);
        if(0 == tomorrowSelectCount){
            Format formatCount = new DecimalFormat("000");
            //一般都是将累加的数字当做一些单号的一部分,format要求string
            int dayMilliseT = (24 * 60) / 5;
            for(int i= 1;i <= dayMilliseT;i++){
                DappOnHookAward dappOnHookAward = new DappOnHookAward();
                int randomInt = RandomUtil.randomInt(10000, 99999);
                dappOnHookAward.setAwardNum(Integer.toString(randomInt));
                dappOnHookAward.setState(2);
                String str = formatCount.format(i);
                dappOnHookAward.setRecordNum(tomorrowYyyyMMdd+str);
                dappOnHookAward.setAwardTime(tomorrowTimeStart);
                dappOnHookAwardDao.insert(dappOnHookAward);
                tomorrowTimeStart = DateUtil.offsetMinute(tomorrowTimeStart, 5);
            }
        }
    }
src/test/java/cc/mrbird/febs/JunitTest.java
@@ -18,12 +18,14 @@
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.CharsetUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.RandomUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.asymmetric.KeyType;
import cn.hutool.crypto.asymmetric.RSA;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.jline.utils.Log;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Autowired;
@@ -31,6 +33,9 @@
import java.math.BigDecimal;
import java.security.KeyPair;
import java.text.DecimalFormat;
import java.text.Format;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@@ -234,7 +239,7 @@
    private DappWalletService dappWalletService;
    @Test
    public void testProfitSharing(){
        IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(125L);
        IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(129L);
        Long orderId = igtOnHookPlanOrder.getId();
            Long memberId = igtOnHookPlanOrder.getMemberId();
            BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
@@ -248,14 +253,76 @@
                String refererIds = dappMemberEntity.getRefererIds();
                List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
                //生成流水佣金和盈利分成和流水记录,返回剩余盈利
                totalProfit = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
                System.out.println("流水佣金和盈利分成"+totalProfit);
                BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit);
                System.out.println("流水佣金和盈利分成"+profitSharingTotal);
                //平台分成,返回剩余盈利
                totalProfit = dappWalletService.updatePTFC(memberId,totalProfit);
                System.out.println("平台分成"+totalProfit);
                BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit);
                System.out.println("平台分成"+systemTotal);
            }
    }
    @Test
    public void createAwardInfo(){
        Log.info("挂机开奖记录");
        /**
         * 每天跑一次,直接生成全部的记录
         * 产生中奖记录
         */
        //每天开奖次数 288次
        DateTime date = DateUtil.date();
        String aWardTime = DateUtil.format(date, "yyyy-MM-dd");
        DateTime aWardTimeStart = DateUtil.parseDateTime(aWardTime + " 00:00:00");
//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        String yyyyMMdd = sdf.format(date);
        QueryWrapper<DappOnHookAward> dappOnHookAwardQueryWrapper = new QueryWrapper();
        dappOnHookAwardQueryWrapper.like("record_num",yyyyMMdd);
        Integer selectCount = dappOnHookAwardDao.selectCount(dappOnHookAwardQueryWrapper);
        if(0 == selectCount){
            Format formatCount = new DecimalFormat("000");
            //一般都是将累加的数字当做一些单号的一部分,format要求string
            int dayMillise = (24 * 60) / 5;
            for(int i= 1;i <= dayMillise;i++){
                DappOnHookAward dappOnHookAward = new DappOnHookAward();
                int randomInt = RandomUtil.randomInt(10000, 99999);
                dappOnHookAward.setAwardNum(Integer.toString(randomInt));
                dappOnHookAward.setState(2);
                String str = formatCount.format(i);
                dappOnHookAward.setRecordNum(yyyyMMdd+str);
                dappOnHookAward.setAwardTime(aWardTimeStart);
                dappOnHookAwardDao.insert(dappOnHookAward);
                aWardTimeStart = DateUtil.offsetMinute(aWardTimeStart, 5);
            }
        }
        DateTime tomorrow = DateUtil.tomorrow();
        String tomorrowTime = DateUtil.format(tomorrow, "yyyy-MM-dd");
        DateTime tomorrowTimeStart = DateUtil.parseDateTime(tomorrowTime + " 00:00:00");
//        DateTime dateTime = DateUtil.offsetMinute(aWardTimeStart, 5);
        String tomorrowYyyyMMdd = sdf.format(tomorrow);
        QueryWrapper<DappOnHookAward> tomorrowYyyyMMddWrapper = new QueryWrapper();
        tomorrowYyyyMMddWrapper.like("record_num",tomorrowYyyyMMdd);
        Integer tomorrowSelectCount = dappOnHookAwardDao.selectCount(tomorrowYyyyMMddWrapper);
        if(0 == tomorrowSelectCount){
            Format formatCount = new DecimalFormat("000");
            //一般都是将累加的数字当做一些单号的一部分,format要求string
            int dayMilliseT = (24 * 60) / 5;
            for(int i= 1;i <= dayMilliseT;i++){
                DappOnHookAward dappOnHookAward = new DappOnHookAward();
                int randomInt = RandomUtil.randomInt(10000, 99999);
                dappOnHookAward.setAwardNum(Integer.toString(randomInt));
                dappOnHookAward.setState(2);
                String str = formatCount.format(i);
                dappOnHookAward.setRecordNum(tomorrowYyyyMMdd+str);
                dappOnHookAward.setAwardTime(tomorrowTimeStart);
                dappOnHookAwardDao.insert(dappOnHookAward);
                tomorrowTimeStart = DateUtil.offsetMinute(tomorrowTimeStart, 5);
            }
        }
    }
}