| | |
| | | @Resource |
| | | CannonGameRecordDao cannonGameRecordDao; |
| | | @Resource |
| | | CannonWinRecordDao cannonWinRecordDao; |
| | | @Resource |
| | | RedisUtils redisUtils; |
| | | @Resource |
| | | private CoinService coinService; |
| | |
| | | @Override |
| | | public Result getAwards() { |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | |
| | | // Long memberId = 1L; |
| | | AwardsVo awardsVo = cannonOwnRecordDao.getAwards(); |
| | | return Result.ok(awardsVo); |
| | | } |
| | |
| | | @Override |
| | | public Result lotteryDraw(LotteryDrawDto lotteryDrawDto) { |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | |
| | | // Long memberId = 1L; |
| | | //获取每次抽奖需要的USDT数量 |
| | | CannonAwardSet cannonAwardSet = cannonOwnRecordDao.getCannonAwardSet(); |
| | | if(ObjectUtil.isEmpty(cannonAwardSet)){ |
| | |
| | | cannonAccountMoneyChangeDao.insert(cannonAccountMoneyChange); |
| | | //抽奖品 |
| | | CannonAwardVo award = getAward(memberId); |
| | | |
| | | CannonWinRecord cannonWinRecord = new CannonWinRecord(); |
| | | cannonWinRecord.setMemberId(memberId); |
| | | cannonWinRecord.setAwardName(award.getName()+"*"+award.getQuantity()); |
| | | cannonWinRecord.setConsumeNum(consume); |
| | | cannonWinRecordDao.insert(cannonWinRecord); |
| | | return Result.ok(award); |
| | | } |
| | | |
| | | @Override |
| | | public Result getOwnAwards(CannonWinRecordDto cannonWinRecordDto) { |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | Page<CannonWinRecordVo> page = new Page<>(cannonWinRecordDto.getPageNum(), cannonWinRecordDto.getPageSize()); |
| | | CannonWinRecord cannonWinRecord = new CannonWinRecord(); |
| | | cannonWinRecord.setMemberId(memberId); |
| | | IPage<CannonWinRecordVo> list = cannonSettingDao.findCannonWinRecordInPage(page, cannonWinRecord); |
| | | return Result.ok(list); |
| | | } |
| | | |
| | | @Override |
| | | public Result getListAwards() { |
| | | Long memberId = LoginUserUtils.getAppLoginUser().getId(); |
| | | List<CannonWinRecordVo> list = cannonSettingDao.findCannonWinRecordList(); |
| | | return Result.ok(list); |
| | | } |
| | | |
| | | private CannonAwardVo getAward(Long memberId) { |
| | |
| | | if(CollUtil.isNotEmpty(cannonAwards)){ |
| | | CannonAward cannonAward = RandomUtil.randomEle(cannonAwards); |
| | | //获得金币 |
| | | if(cannonAward.getCode() == "GOLD"){ |
| | | if("GOLD".equals(cannonAward.getCode())){ |
| | | BigDecimal quantity = new BigDecimal(cannonAward.getQuantity()); |
| | | MemberAccountGold memberAccountGold = memberAccountGoldDao.selectAccountGoldByMemberId(memberId); |
| | | memberCannonService.updateTotalBalanceAndAvailableBalance(memberAccountGold.getId(),quantity,quantity,null); |
| | | cannonAwardVo.setName(cannonAward.getName()); |
| | | cannonAwardVo.setImage(cannonAward.getImage()); |
| | | cannonAwardVo.setQuantity(cannonAward.getQuantity()); |
| | | }else if(cannonAward.getCode() == "COIN"){ |
| | | }else if("COIN".equals(cannonAward.getCode())){ |
| | | BigDecimal quantity = new BigDecimal(cannonAward.getQuantity()); |
| | | MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.XCC.name()); |
| | | coinService.updateWalletBalance(memberWalletCoinEntity.getId(),quantity,quantity,null); |
| | | cannonAwardVo.setName(cannonAward.getName()); |
| | | cannonAwardVo.setImage(cannonAward.getImage()); |
| | | cannonAwardVo.setQuantity(cannonAward.getQuantity()); |
| | | }else if(cannonAward.getCode() == "USDT"){ |
| | | }else if("USDT".equals(cannonAward.getCode())){ |
| | | BigDecimal quantity = new BigDecimal(cannonAward.getQuantity()); |
| | | MemberWalletCoinEntity memberWalletCoinEntity = memberWalletCoinDao.selectWalletCoinBymIdAndCode(memberId, CoinTypeEnum.USDT.name()); |
| | | coinService.updateWalletBalance(memberWalletCoinEntity.getId(),quantity,quantity,null); |
| | | cannonAwardVo.setName(cannonAward.getName()); |
| | | cannonAwardVo.setImage(cannonAward.getImage()); |
| | | cannonAwardVo.setQuantity(cannonAward.getQuantity()); |
| | | }else{ |
| | | CannonSetting cannonSetting = cannonSettingDao.selectCannonSettingByCannonCode(cannonAward.getCode()); |
| | |
| | | cannonOwnRecordDao.insert(cannonOwnRecord); |
| | | |
| | | cannonAwardVo.setName(cannonAward.getName()); |
| | | cannonAwardVo.setImage(cannonAward.getImage()); |
| | | cannonAwardVo.setQuantity(cannonAward.getQuantity()); |
| | | }else{ |
| | | CannonAward cannonAwardGold = cannonOwnRecordDao.selectCannonAwardByCode("GOLD"); |
| | |
| | | MemberAccountGold memberAccountGold = memberAccountGoldDao.selectAccountGoldByMemberId(memberId); |
| | | memberCannonService.updateTotalBalanceAndAvailableBalance(memberAccountGold.getId(),quantity,quantity,null); |
| | | cannonAwardVo.setName(cannonAwardGold.getName()); |
| | | cannonAwardVo.setImage(cannonAwardGold.getImage()); |
| | | cannonAwardVo.setQuantity(cannonAwardGold.getQuantity()); |
| | | } |
| | | } |
| | |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | | System.out.println(UUID.randomUUID().toString()); |
| | | } |
| | | |
| | | |