xiaoyong931011
2022-11-04 289e1db5778e11c8559ac72075e3224f5d78974a
20221021
3 files modified
120 ■■■■■ changed files
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java 27 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java 13 ●●●●● patch | view | raw | blame | history
src/test/java/cc/mrbird/febs/JunitTest.java 80 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/dapp/service/impl/ApiIgtOnHookPlanServiceImpl.java
@@ -176,12 +176,17 @@
        String refererIds = dappMemberEntity.getRefererIds();
        List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
        //生成流水佣金和盈利分成和流水记录,返回剩余盈利
        BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, igtOnHookPlanOrder.getProfit(),igtOnHookPlanOrder.getId());
        //平台分成,返回剩余盈利
        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,igtOnHookPlanOrder.getProfit(),igtOnHookPlanOrder.getId());
        totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
//        BigDecimal totalMoney = avaAmount.add(totalProfit);
        //生成流水佣金和盈利分成和流水记录,返回盈利分成和流水佣金总共分成
        BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
        //平台分成
        //平台拿走35%盈利分成和流水佣金剩下的全部
        BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
        //个人固定拿走60%
        totalProfit = totalProfit.multiply(new BigDecimal(0.6));
        igtOnHookPlanOrder.setProfit(totalProfit);
        igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder);
        BigDecimal totalMoney = planAmount.add(totalProfit);
        DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId);
        dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney);
@@ -529,10 +534,12 @@
        List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true);
        //生成流水佣金和盈利分成和流水记录,返回剩余盈利
        BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit,igtOnHookPlanOrder.getId());
        //平台分成,返回剩余盈利
        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit,igtOnHookPlanOrder.getId());
        totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal);
        //平台分成
        //平台拿走35%盈利分成和流水佣金剩下的全部
        BigDecimal systemAdd = totalProfit.multiply(new BigDecimal(0.4)).subtract(profitSharingTotal);
        BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,systemAdd,igtOnHookPlanOrder.getId());
        //个人固定拿走60%
        totalProfit = totalProfit.multiply(new BigDecimal(0.6));
        igtOnHookPlanOrder.setState(2);
        //一次挂机剩余的全部金额
        BigDecimal totalMoney = totalProfit.add(planAmount);
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -1131,11 +1131,10 @@
        if(BigDecimal.ZERO.compareTo(totalProfit)>=0){
            return BigDecimal.ZERO;
        }
        BigDecimal multiply = totalProfit.multiply(new BigDecimal(0.05));
        DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(65L,
                multiply.negate(), "系统", 9,id);
                totalProfit, "系统", 9,id);
        dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity);
        return multiply;
        return totalProfit;
    }
    @Override
@@ -1155,8 +1154,12 @@
    public static void main(String[] args) {
        String num = StrUtil.subSuf("01234",1);
        System.out.print(num);
        DateTime date = DateUtil.date();
        DateTime endTime = DateUtil.parseTimeToday("09:08:03");
        if(DateUtil.compare(date,endTime)>=0){
            //
            System.out.print(endTime);
        }
    }
    private String isIdentity(List<String> refererIds,String levelCode){
src/test/java/cc/mrbird/febs/JunitTest.java
@@ -50,9 +50,9 @@
//    @Autowired
//    private MineProfitJob mineProfitJob;
//    @Autowired
//    private DappMemberDao dappMemberDao;
//
    @Autowired
    private DappMemberDao dappMemberDao;
//    @Test
//    public void incomeTest() {
//        mineProfitJob.start();
@@ -89,32 +89,40 @@
//        String s = rsa.decryptStr(ss, KeyType.PrivateKey);
//        System.out.println(s);
//    }
//
//    @Autowired
//    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
//    @Autowired
//    private RedisUtils redisUtils;
//    @Autowired
//    private DappOnHookAwardDao dappOnHookAwardDao;
//    @Test
//    public void getmember(){//获取下一个开奖
//        String redisKey = "on_hook_award_id";
//        String onHookAwardRedisId = redisUtils.getString(redisKey);
//        DappOnHookAward dappOnHookAward = dappOnHookAwardDao.selectById(Long.parseLong(onHookAwardRedisId));
//        if(ObjectUtil.isEmpty(dappOnHookAward)){
//            throw new FebsException(MessageSourceUtils.getString("login_err_003"));
//        }
//        Date awardTime = dappOnHookAward.getAwardTime();
//        System.out.println(awardTime);
//        DateTime dateTime = DateUtil.offsetMinute(awardTime, 5);
//        for(int i =1; i < 100;i++){
//            String yyyyMMddHHMM = DateUtil.format(dateTime, "yyyy-MM-dd HH:mm");
////            DappOnHookAward dappOnHookAwardNext = dappOnHookAwardDao.selectByByAwardTime(yyyyMMddHHMM);
//            System.out.println(yyyyMMddHHMM);
//            dateTime = DateUtil.offsetMinute(dateTime, 5);
//        }
//    }
//
    @Autowired
    private DataDictionaryCustomMapper dataDictionaryCustomMapper;
    @Autowired
    private RedisUtils redisUtils;
    @Autowired
    private DappOnHookAwardDao dappOnHookAwardDao;
    @Test
    public void getmember(){//获取下一个开奖
        DappMemberEntity dappMemberEntity = dappMemberDao.selectById(64L);
        IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(824L);
        BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount();
        //获取收益
        //获取收益率
        DataDictionaryCustom identityDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), dappMemberEntity.getIdentity());
        String identityDicValue = identityDic.getValue();
        JSONObject identityDicValueParse = JSONUtil.parseObj(identityDicValue);
        BigDecimal hangingRevenueLevel = new BigDecimal(identityDicValueParse.get("hangingRevenue").toString())
                .multiply(new BigDecimal(0.01)).setScale(4,BigDecimal.ROUND_DOWN);
        //获取当前用户每分钟应该获取的收益
        BigDecimal multiply = hangingRevenueLevel.multiply(planAmount);
        DataDictionaryCustom maxHoursDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.MAX_HOURS.getType(), DataDictionaryEnum.MAX_HOURS.getCode());
        //挂机总时长(分钟)
        BigDecimal maxHours = new BigDecimal(maxHoursDic.getValue()).multiply(new BigDecimal(60));
        //得到每分钟的收益
        BigDecimal minuteProfit = multiply.divide(maxHours, 4, BigDecimal.ROUND_DOWN);
        //获取挂机开始时间到现在的总时长(分钟数)
        Date startTime = igtOnHookPlanOrder.getStartTime();
        long between = DateUtil.between(startTime, DateUtil.date(), DateUnit.MINUTE);
        //获得总收益
        BigDecimal totalProfit = minuteProfit.multiply(new BigDecimal(between)).setScale(4,BigDecimal.ROUND_DOWN);
        System.out.println(totalProfit);
    }
//    @Autowired
//    private DappMemberDao dappMemberDao;
//    @Test
@@ -214,11 +222,11 @@
//    @Autowired
//    private IgtOnHookPlanOrderItemDao igtOnHookPlanOrderItemDao;
//
//    @Autowired
//    private IgtOnHookPlanOrderDao igtOnHookPlanOrderDao;
    @Autowired
    private IgtOnHookPlanOrderItemDao igtOnHookPlanOrderItemDao;
    @Autowired
    private IgtOnHookPlanOrderDao igtOnHookPlanOrderDao;
//
    @Autowired
    private DappWalletCoinDao dappWalletCoinDao;
@@ -226,8 +234,8 @@
//    @Autowired
//    private DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
//
    @Autowired
    private DappMemberDao dappMemberDao;
//    @Autowired
//    private DappMemberDao dappMemberDao;
//
//    @Autowired
//    private DappOnHookAwardDao dappOnHookAwardDao;