| | |
| | | |
| | | import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils; |
| | | import cc.mrbird.febs.common.contants.AppContants; |
| | | import cc.mrbird.febs.common.entity.FebsResponse; |
| | | import cc.mrbird.febs.common.exception.FebsException; |
| | | import cc.mrbird.febs.common.utils.LoginUserUtil; |
| | | import cc.mrbird.febs.common.utils.RedisUtils; |
| | | import cc.mrbird.febs.common.utils.ShareCodeUtil; |
| | | import cc.mrbird.febs.dapp.entity.*; |
| | | import cc.mrbird.febs.dapp.enumerate.DataDictionaryEnum; |
| | | import cc.mrbird.febs.dapp.enumerate.MemberLevelEnum; |
| | | import cc.mrbird.febs.dapp.enumerate.MemberOnHookPlanEnum; |
| | | import cc.mrbird.febs.dapp.mapper.*; |
| | | import cc.mrbird.febs.dapp.service.ApiIgtOnHookPlanService; |
| | |
| | | @Autowired |
| | | private DappMemberDao dappMemberDao; |
| | | |
| | | @Test |
| | | public void referenceId(){ |
| | | DappMemberEntity dappMemberEntity = dappMemberDao.selectById(1129L); |
| | | String refererIds = dappMemberEntity.getRefererIds(); |
| | | List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true); |
| | | |
| | | //根据上下级,筛选用户的级别 |
| | | ArrayList<String> refererIdLisstUp = new ArrayList<>(); |
| | | String levelNext = MemberLevelEnum.LEVEL_MB.getType(); |
| | | for(String inviteId : refererIdList){ |
| | | DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId); |
| | | String identityUp = dappMemberUp.getIdentity(); |
| | | int compareLevelResult = MemberLevelEnum.LEVEL_MB.compareLevel(identityUp, levelNext); |
| | | if(0 < compareLevelResult){ |
| | | levelNext = identityUp; |
| | | refererIdLisstUp.add(inviteId); |
| | | } |
| | | } |
| | | System.out.println(refererIdLisstUp); |
| | | } |
| | | |
| | | // @Test |
| | | // public void incomeTest() { |
| | | // mineProfitJob.start(); |
| | |
| | | // System.out.println(s); |
| | | // } |
| | | |
| | | // @Autowired |
| | | // private DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | // @Autowired |
| | | // private RedisUtils redisUtils; |
| | | // @Autowired |
| | | // private DappOnHookAwardDao dappOnHookAwardDao; |
| | | @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); |
| | | } |
| | | private DappOnHookDoneDao dappOnHookDoneDao; |
| | | // @Autowired |
| | | // private DappWalletService dappWalletService; |
| | | // @Autowired |
| | | // private DappAccountMoneyChangeDao dappAccountMoneyChangeDao; |
| | | // @Test |
| | | // public void getmember(){ |
| | | // IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(826L); |
| | | // |
| | | // Long memberId = igtOnHookPlanOrder.getMemberId(); |
| | | // //判断系统是否已经结算过了 |
| | | // QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>(); |
| | | // objectQueryWrapper.eq("order_id",826L); |
| | | // List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper); |
| | | // if(CollUtil.isNotEmpty(dappOnHookDones)){ |
| | | // new FebsResponse().fail().message(MessageSourceUtils.getString("Operation_003")); |
| | | // } |
| | | // //更新主表为结束状态 |
| | | // igtOnHookPlanOrder.setState(2); |
| | | // igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder); |
| | | // |
| | | //// BigDecimal totalProfit = igtOnHookPlanOrder.getProfit(); |
| | | // BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount(); |
| | | //// BigDecimal avaAmount = igtOnHookPlanOrder.getAvaAmount(); |
| | | // //更新用户表是否正在挂机状态字段为否 |
| | | // DappMemberEntity dappMember = dappMemberDao.selectById(memberId); |
| | | // dappMember.setIsOnHook(3); |
| | | // dappMemberDao.updateById(dappMember); |
| | | // |
| | | // //获取当前用户每分钟应该获取的收益 |
| | | // String identity = dappMember.getIdentity(); |
| | | // //当前用户的挂机收益率 |
| | | // BigDecimal hangingRevenue = getHangingRevenue(identity); |
| | | // BigDecimal multiply = hangingRevenue.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)); |
| | | // |
| | | // String refererIds = dappMember.getRefererIds(); |
| | | // List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true); |
| | | // //生成流水佣金和盈利分成和流水记录,返回盈利分成和流水佣金总共分成 |
| | | // 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); |
| | | // |
| | | // BigDecimal add = dappWalletCoinEntity.getAvailableAmount().add(totalMoney); |
| | | // BigDecimal subtract = add.subtract(totalProfit); |
| | | // DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5,igtOnHookPlanOrder.getId()); |
| | | // dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity); |
| | | // |
| | | // DappOnHookDone dappOnHookDone = new DappOnHookDone(memberId, igtOnHookPlanOrder.getId()); |
| | | // dappOnHookDoneDao.insert(dappOnHookDone); |
| | | // } |
| | | |
| | | |
| | | // private BigDecimal getHangingRevenue(String identity){ |
| | | // DataDictionaryCustom dataDictionaryCustom = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(DataDictionaryEnum.LEVEL_MB.getType(), identity); |
| | | // String dataDictionaryCustomValue = dataDictionaryCustom.getValue(); |
| | | // cn.hutool.json.JSONObject jsonObject = JSONUtil.parseObj(dataDictionaryCustomValue); |
| | | // String runningCommission = jsonObject.get("hangingRevenue").toString(); |
| | | // return new BigDecimal(runningCommission).multiply(new BigDecimal(0.01)); |
| | | // } |
| | | |
| | | // @Autowired |
| | | // private DappMemberDao dappMemberDao; |
| | |
| | | // |
| | | @Autowired |
| | | private DappWalletCoinDao dappWalletCoinDao; |
| | | // |
| | | // @Autowired |
| | | // private DappAccountMoneyChangeDao dappAccountMoneyChangeDao; |
| | | |
| | | @Autowired |
| | | private DappAccountMoneyChangeDao dappAccountMoneyChangeDao; |
| | | // |
| | | // @Autowired |
| | | // private DappMemberDao dappMemberDao; |
| | |
| | | // @Autowired |
| | | // private RedisUtils redisUtils; |
| | | // |
| | | // @Autowired |
| | | // private DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | @Autowired |
| | | private DataDictionaryCustomMapper dataDictionaryCustomMapper; |
| | | // |
| | | // @Autowired |
| | | // private DappWalletService dappWalletService; |
| | | @Autowired |
| | | private DappWalletService dappWalletService; |
| | | // |
| | | // |
| | | // @Value("${spring.profiles.active}") |
| | |
| | | // System.out.println(active); |
| | | // } |
| | | // |
| | | @Test |
| | | public void testUpdateIgt(){Log.info("更新用户代理等级"); |
| | | DateTime date = DateUtil.date(); |
| | | //查询账户总金额大于51的有效用户 |
| | | List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount(); |
| | | if(CollUtil.isEmpty(dappMemberEntities)){ |
| | | //没有账户金额大于51,则全部为会员 |
| | | dappMemberDao.updateIdentity(); |
| | | }else{ |
| | | List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode()); |
| | | List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(LEVEL_IB, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode()); |
| | | List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(LEVEL_FIB, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode()); |
| | | List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(LEVEL_CIB, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode()); |
| | | List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(LEVEL_AIB, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode()); |
| | | List<DappMemberEntity> LEVEL_BP = getMemberLevelList(LEVEL_GIB, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode()); |
| | | List<DappMemberEntity> LEVEL_SP = getMemberLevelList(LEVEL_BP, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode()); |
| | | List<DappMemberEntity> LEVEL_GP = getMemberLevelList(LEVEL_SP, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode()); |
| | | } |
| | | } |
| | | |
| | | private List<DappMemberEntity> getMemberLevelList(List<DappMemberEntity> dappMemberEntities,String identity,String identityNext){ |
| | | List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>(); |
| | | if(CollUtil.isNotEmpty(dappMemberEntities)){ |
| | | for(DappMemberEntity dappMemberEntity : dappMemberEntities){ |
| | | Long memberEntityId = dappMemberEntity.getId(); |
| | | String refererId = dappMemberEntity.getRefererId(); |
| | | String inviteId = dappMemberEntity.getInviteId(); |
| | | //下级是否存在三个账户总金额大于51的会员,并且代理等级为identity |
| | | List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(inviteId,identity); |
| | | if(CollUtil.isNotEmpty(levelMbMembers) && 3 <= levelMbMembers.size()){ |
| | | //设置identityNext级别 |
| | | dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId); |
| | | //获取他的上级会员信息 |
| | | DappMemberEntity dappMemberEntityNext = dappMemberDao.selectMemberInfoByInviteId(refererId); |
| | | dappMemberEntitiesNext.add(dappMemberEntityNext); |
| | | } |
| | | } |
| | | } |
| | | return dappMemberEntitiesNext; |
| | | } |
| | | // |
| | | // @Test |
| | | // public void testProfitSharing(){ |
| | | // Log.info("开始更新挂机主表状态"); |
| | | // long current = DateUtil.currentSeconds(); |
| | | // Log.info("开始时间"+current); |
| | | // Log.info("开始更新挂机主表状态"); |
| | | // List<IgtOnHookPlanOrder> igtOnHookPlanOrders = igtOnHookPlanOrderDao.selectByState(3); |
| | | // if(CollUtil.isNotEmpty(igtOnHookPlanOrders)){ |
| | | // List<Long> ids = igtOnHookPlanOrderDao.selectIdsByState(3); |
| | | // //更新状态避免重复查询 |
| | | // igtOnHookPlanOrderDao.updateByIds(ids); |
| | | // for(IgtOnHookPlanOrder igtOnHookPlanOrder : igtOnHookPlanOrders){ |
| | | // Long memberId = igtOnHookPlanOrder.getMemberId(); |
| | | // BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount(); |
| | | // public void updateMemberLevel(){ |
| | | // Log.info("更新用户代理等级"); |
| | | // DateTime date = DateUtil.date(); |
| | | // //查询账户总金额大于51的有效用户 |
| | | // List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectByIdentity(); |
| | | //// List<DappMemberEntity> dappMemberEntities = dappWalletCoinDao.selectTotalAmount(); |
| | | // if(CollUtil.isEmpty(dappMemberEntities)){ |
| | | // //没有账户金额大于51,则全部为会员 |
| | | // dappMemberDao.updateIdentity(); |
| | | // }else{ |
| | | // List<DappMemberEntity> LEVEL_IB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_MB.getCode(), DataDictionaryEnum.LEVEL_IB.getCode()); |
| | | // List<DappMemberEntity> LEVEL_FIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_IB.getCode(), DataDictionaryEnum.LEVEL_FIB.getCode()); |
| | | // List<DappMemberEntity> LEVEL_CIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_FIB.getCode(), DataDictionaryEnum.LEVEL_CIB.getCode()); |
| | | // List<DappMemberEntity> LEVEL_AIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_CIB.getCode(), DataDictionaryEnum.LEVEL_AIB.getCode()); |
| | | // List<DappMemberEntity> LEVEL_GIB = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_AIB.getCode(), DataDictionaryEnum.LEVEL_GIB.getCode()); |
| | | // List<DappMemberEntity> LEVEL_BP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_GIB.getCode(), DataDictionaryEnum.LEVEL_BP.getCode()); |
| | | // List<DappMemberEntity> LEVEL_SP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_BP.getCode(), DataDictionaryEnum.LEVEL_SP.getCode()); |
| | | // List<DappMemberEntity> LEVEL_GP = getMemberLevelList(dappMemberEntities, DataDictionaryEnum.LEVEL_SP.getCode(), DataDictionaryEnum.LEVEL_GP.getCode()); |
| | | // } |
| | | // } |
| | | // |
| | | // DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId); |
| | | // //获取收益率 |
| | | // 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 totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN); |
| | | // private List<DappMemberEntity> getMemberLevelList(List<DappMemberEntity> dappMemberEntities,String identity,String identityNext){ |
| | | // List<DappMemberEntity> dappMemberEntitiesNext = new ArrayList<>(); |
| | | // if(CollUtil.isNotEmpty(dappMemberEntities)){ |
| | | // for(DappMemberEntity dappMemberEntity : dappMemberEntities){ |
| | | // if(ObjectUtil.isEmpty(dappMemberEntity)){ |
| | | // continue; |
| | | // } |
| | | // Long memberEntityId = dappMemberEntity.getId(); |
| | | // String refererId = dappMemberEntity.getRefererId(); |
| | | // String inviteId = dappMemberEntity.getInviteId(); |
| | | // //是否存在三条以上的推广线路,存在才能升级,不满足则 |
| | | // List<DappMemberEntity> levelMbMembers = dappMemberDao.selectTotalMemberByRefererIdAndIdentity(inviteId); |
| | | // if(3 > levelMbMembers.size()){ |
| | | // dappMemberEntity.setIdentity(DataDictionaryEnum.LEVEL_MB.getCode()); |
| | | // dappMemberDao.updateById(dappMemberEntity); |
| | | // continue; |
| | | // } |
| | | // int identityDown = 0; |
| | | // for(DappMemberEntity dappMemberDown : levelMbMembers){ |
| | | // //下级是否存在账户总金额大于51的会员,并且代理等级为identity |
| | | // List<DappMemberEntity> levelMbMembersDown = dappMemberDao.selectTotalAmountByRefererIdAndIdentity(dappMemberDown.getInviteId(),identity); |
| | | // if(CollUtil.isNotEmpty(levelMbMembersDown)){ |
| | | // identityDown = identityDown + 1; |
| | | // } |
| | | // |
| | | // String refererIds = dappMemberEntity.getRefererIds(); |
| | | // List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true); |
| | | // //生成流水佣金和盈利分成和流水记录,返回剩余盈利 |
| | | // BigDecimal profitSharingTotal = dappWalletService.updateLSYJYLFC(refererIdList, totalProfit); |
| | | // //平台分成,返回剩余盈利 |
| | | // BigDecimal systemTotal = dappWalletService.updatePTFC(memberId,totalProfit); |
| | | // totalProfit = totalProfit.subtract(profitSharingTotal).subtract(systemTotal); |
| | | // |
| | | // igtOnHookPlanOrder.setState(2); |
| | | // //一次挂机剩余的全部金额 |
| | | // BigDecimal totalMoney = totalProfit.add(planAmount); |
| | | // |
| | | // igtOnHookPlanOrder.setProfit(totalProfit); |
| | | // igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder); |
| | | // dappMemberEntity.setIsOnHook(3); |
| | | // dappMemberDao.updateById(dappMemberEntity); |
| | | // |
| | | // DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId); |
| | | // BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount(); |
| | | // dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney); |
| | | // |
| | | // BigDecimal add = availableAmount.add(totalMoney); |
| | | // BigDecimal subtract = add.subtract(totalProfit); |
| | | // DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5); |
| | | // dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity); |
| | | // } |
| | | // if(identityDown >= 3){ |
| | | // //设置identityNext级别 |
| | | // dappMemberDao.updateIdentityByMemberId(identityNext,memberEntityId); |
| | | // } |
| | | // } |
| | | // } |
| | | // return dappMemberEntitiesNext; |
| | | // } |
| | | //// |
| | | // @Test |
| | | // public void testProfitSharing(){ |
| | | // IgtOnHookPlanOrder igtOnHookPlanOrder = igtOnHookPlanOrderDao.selectById(3220L); |
| | | // if(ObjectUtil.isEmpty(igtOnHookPlanOrder)){ |
| | | // return; |
| | | // } |
| | | // Long memberId = igtOnHookPlanOrder.getMemberId(); |
| | | // BigDecimal planAmount = igtOnHookPlanOrder.getPlanAmount(); |
| | | // |
| | | // Long totalTime=DateUtil.currentSeconds()-current; |
| | | // System.out.println("======消耗时间======="+totalTime+"ms"); |
| | | // DappMemberEntity dappMemberEntity = dappMemberDao.selectById(memberId); |
| | | // if(ObjectUtil.isEmpty(dappMemberEntity)){ |
| | | // return; |
| | | // } |
| | | // //避免重复 |
| | | // QueryWrapper<DappOnHookDone> objectQueryWrapper = new QueryWrapper<>(); |
| | | // objectQueryWrapper.eq("order_id",igtOnHookPlanOrder.getId()); |
| | | // List<DappOnHookDone> dappOnHookDones = dappOnHookDoneDao.selectList(objectQueryWrapper); |
| | | // if(CollUtil.isNotEmpty(dappOnHookDones)){ |
| | | // return; |
| | | // } |
| | | // //生成记录 |
| | | // DappOnHookDone dappOnHookDone = new DappOnHookDone(dappMemberEntity.getId(), igtOnHookPlanOrder.getId()); |
| | | // dappOnHookDoneDao.insert(dappOnHookDone); |
| | | // //获取收益率 |
| | | // 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); |
| | | //// BigDecimal totalProfit = planAmount.multiply(hangingRevenueLevel).setScale(4,BigDecimal.ROUND_DOWN); |
| | | // |
| | | // String refererIds = dappMemberEntity.getRefererIds(); |
| | | // List<String> refererIdList = StrUtil.split(refererIds, ",", -1, true, true); |
| | | // //只有上级用户金额大于51U才能得到对应的佣金 |
| | | //// ArrayList<String> refererIdLisstUp = new ArrayList<>(); |
| | | //// for(String inviteId : refererIdList){ |
| | | //// DappMemberEntity dappMemberUp = dappMemberDao.selectMemberInfoByInviteId(inviteId); |
| | | //// if(ObjectUtil.isNotEmpty(dappMemberUp)){ |
| | | //// DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(dappMemberUp.getId()); |
| | | //// if(AppContants.ONHOOK_BASIC_AMOUNT.compareTo(dappWalletCoinEntity.getAvailableAmount())<=0){ |
| | | //// refererIdLisstUp.add(inviteId); |
| | | //// } |
| | | //// } |
| | | //// } |
| | | // //生成流水佣金和盈利分成和流水记录,返回剩余盈利 |
| | | // 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.setState(2); |
| | | // //一次挂机剩余的全部金额 |
| | | // BigDecimal totalMoney = totalProfit.add(planAmount); |
| | | // |
| | | // igtOnHookPlanOrder.setProfit(totalProfit); |
| | | // igtOnHookPlanOrderDao.updateById(igtOnHookPlanOrder); |
| | | // dappMemberEntity.setIsOnHook(3); |
| | | // dappMemberDao.updateById(dappMemberEntity); |
| | | // |
| | | // DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId); |
| | | // BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount(); |
| | | // dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),totalMoney); |
| | | // |
| | | // BigDecimal add = availableAmount.add(totalMoney); |
| | | // BigDecimal subtract = add.subtract(totalProfit); |
| | | // DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5,igtOnHookPlanOrder.getId()); |
| | | // dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity); |
| | | // |
| | | // } |
| | | // |