| | |
| | | import cn.hutool.json.JSONUtil; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import io.grpc.internal.JsonUtil; |
| | | import lombok.RequiredArgsConstructor; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.aspectj.bridge.MessageUtil; |
| | |
| | | * 定时器五分钟去更新一下详细记录的状态 |
| | | * |
| | | */ |
| | | //todo 发送一条mq消息,根据受益方案生成挂机字表未生效详细记录(目前定时器) |
| | | DappMemberEntity dappMemberEntity = LoginUserUtil.getAppUser(); |
| | | Long memberId = dappMemberEntity.getId(); |
| | | DappMemberEntity member = dappMemberDao.selectById(memberId); |
| | |
| | | igtOnHookPlanOrderItem.setProfit(profit.multiply(new BigDecimal(planCode))); |
| | | igtOnHookPlanOrderItem.setState(2); |
| | | igtOnHookPlanOrderItem.setPlanCode(planCode); |
| | | igtOnHookPlanOrderItem.setIsGoal(1); |
| | | String isGoal = jsonObject.get("isGoal").toString(); |
| | | igtOnHookPlanOrderItem.setIsGoal(Integer.parseInt(isGoal)); |
| | | igtOnHookPlanOrderItem.setBelongNum(dappOnHookAwardNext.getRecordNum()); |
| | | igtOnHookPlanOrderItem.setOrderNum(orderNum); |
| | | igtOnHookPlanOrderItemDao.insert(igtOnHookPlanOrderItem); |
| | |
| | | objectQueryWrapper.eq("state",2); |
| | | igtOnHookPlanOrderItemDao.delete(objectQueryWrapper); |
| | | //计算总收益和总挂机剩余金额,操作用户资金账户信息 |
| | | //所有中奖的收益 |
| | | BigDecimal totalProfit = igtOnHookPlanOrderItemDao.selectTotalProfitByByOrderIdAndMemberIdAndState(orderId,memberId,1,2); |
| | | BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,2); |
| | | //所有未中奖的本金 |
| | | BigDecimal totalAmount = igtOnHookPlanOrderItemDao.selectTotalAmountByByOrderIdAndMemberIdAndState(orderId,memberId,1,1); |
| | | DappWalletCoinEntity dappWalletCoinEntity = dappWalletCoinDao.selectByMemberId(memberId); |
| | | BigDecimal availableAmount = dappWalletCoinEntity.getAvailableAmount(); |
| | | //如果中奖,返回本金加收益加剩余总挂机金额 |
| | | //如果中奖,返回收益,如果没中奖,则返回本金,最后加上剩余总挂机金额 |
| | | BigDecimal total = totalProfit.add(totalAmount).add(igtOnHookPlanOrder.getAvaAmount()).setScale(4, BigDecimal.ROUND_DOWN); |
| | | dappWalletCoinDao.addTotalAndaddAvailableById(memberId,total); |
| | | dappWalletCoinDao.addTotalAndaddAvailableById(dappWalletCoinEntity.getId(),total); |
| | | //生成流水记录 |
| | | BigDecimal add = availableAmount.add(total); |
| | | DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, availableAmount, total, add, "投注盈利", 5); |
| | | BigDecimal subtract = add.subtract(totalAmount); |
| | | DappAccountMoneyChangeEntity dappAccountMoneyChangeEntity = new DappAccountMoneyChangeEntity(memberId, subtract, totalProfit, add, "投注盈利", 5); |
| | | dappAccountMoneyChangeDao.insert(dappAccountMoneyChangeEntity); |
| | | //更新用户表是否正在挂机状态字段为否 |
| | | DappMemberEntity dappMember= dappMemberDao.selectById(memberId); |
| | |
| | | ArrayList<ApiAwardInfoVo> apiAwardInfoVos = new ArrayList<>(); |
| | | DateTime date = DateUtil.date(); |
| | | |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm"); |
| | | SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm"); |
| | | String yyyyMMddHHMM = sdf.format(date); |
| | | List<DappOnHookAward> dappOnHookAwards = dappOnHookAwardDao.selectInfoByByAwardTime(yyyyMMddHHMM); |
| | | if(CollUtil.isNotEmpty(dappOnHookAwards)){ |