From 549f5b13855c9cee9b486c2759b9dddab5ce1b7f Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Tue, 26 Jul 2022 18:57:05 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java index 3b2b748..845bbb5 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java @@ -1,5 +1,6 @@ package cc.mrbird.febs.dapp.service.impl; +import cc.mrbird.febs.common.configure.i18n.MessageSourceUtils; import cc.mrbird.febs.common.contants.AppContants; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.common.exception.FebsException; @@ -16,6 +17,7 @@ import cc.mrbird.febs.dapp.entity.*; import cc.mrbird.febs.dapp.mapper.*; import cc.mrbird.febs.dapp.service.DappWalletService; +import cc.mrbird.febs.dapp.utils.BoxUtil; import cc.mrbird.febs.dapp.vo.WalletInfoVo; import cn.hutool.core.collection.CollUtil; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -225,15 +227,15 @@ if (transferDto.getId() == null) { if (DappFundFlowEntity.TYPE_SALE == transferDto.getType()) { if (!"start".equals(hasStart)) { - throw new FebsException("系统还未启动"); + throw new FebsException(MessageSourceUtils.getString("transfer_msg_001")); } if (transferDto.getAmount().multiply(transferDto.getPrice()).compareTo(usdtRemain) > 0) { - throw new FebsException("超过当日出U剩余量"); + throw new FebsException(MessageSourceUtils.getString("transfer_msg_002")); } if (transferDto.getAmount().compareTo(saleCoinRemain) > 0) { - throw new FebsException("超出24小时内可售量"); + throw new FebsException(MessageSourceUtils.getString("transfer_msg_003")); } usdtRemain = usdtRemain.subtract(transferDto.getAmount().multiply(transferDto.getPrice())); @@ -246,7 +248,7 @@ } else if (DappFundFlowEntity.TYPE_BUY == transferDto.getType()) { if ("start".equals(hasStart)) { if (transferDto.getAmount().compareTo(buyCoinRemain) > 0) { - throw new FebsException("超过当日可购买量"); + throw new FebsException(MessageSourceUtils.getString("transfer_msg_004")); } buyCoinRemain = buyCoinRemain.subtract(transferDto.getAmount()); @@ -256,11 +258,11 @@ } else { DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MAKER_MIN_LIMIT); if (transferDto.getAmount().compareTo(new BigDecimal(dic.getValue())) < 0) { - throw new FebsException("未达到最低购买要求"); + throw new FebsException(MessageSourceUtils.getString("transfer_msg_005")); } if (transferDto.getAmount().compareTo(makeCoinRemain) > 0) { - throw new FebsException("可购数量不足"); + throw new FebsException(MessageSourceUtils.getString("transfer_msg_006")); } makeCoinRemain = makeCoinRemain.subtract(transferDto.getAmount()); @@ -339,4 +341,38 @@ map.put("y", y); return map; } + + @Override + public int boxSurprise() { + DappMemberEntity member = LoginUserUtil.getAppUser(); + + DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId()); + if (walletCoin.getBoxCnt() < 1) { + throw new FebsException("盲盒数量不足"); + } + + walletCoin.setBoxCnt(walletCoin.getBoxCnt() - 1); + dappWalletCoinDao.updateById(walletCoin); + + BoxUtil.Box box = BoxUtil.openBox(); + + DappFundFlowEntity boxFundFlow = new DappFundFlowEntity(member.getId(), new BigDecimal(box.getIndex()), 6, 2, BigDecimal.ZERO); + dappFundFlowDao.insert(boxFundFlow); + + new Thread(() -> { + try { + int count = box.getIndex(); + while (count > 0) { + ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).safeMintNFT(member.getAddress()); + Thread.sleep(5000); + count--; + } + } catch (Exception e) { + e.printStackTrace(); + log.error("发放卡牌错误", e); + } + }).start(); + + return box.getIndex(); + } } -- Gitblit v1.9.1