From f283586c95c3f999c3e0dac467b603efb53a87d0 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 28 Jul 2022 18:07:49 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 43 insertions(+), 5 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 efd0b74..d2041f3 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 @@ -16,7 +16,9 @@ import cc.mrbird.febs.dapp.dto.WalletOperateDto; import cc.mrbird.febs.dapp.entity.*; import cc.mrbird.febs.dapp.mapper.*; +import cc.mrbird.febs.dapp.service.DappSystemService; 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; @@ -48,6 +50,7 @@ private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao; private final RedisUtils redisUtils; private final DataDictionaryCustomMapper dataDictionaryCustomMapper; + private final DappSystemService dappSystemService; @Override public WalletInfoVo walletInfo() { @@ -59,12 +62,15 @@ List<DappMemberEntity> notDirect = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 2); BigDecimal childHoldAmount = dappMemberDao.selectChildHoldAmount(member.getInviteId()); + DappWalletCoinEntity walletCoin = dappWalletCoinDao.selectByMemberId(member.getId()); + walletInfo.setTotalChild(notDirect.size()); walletInfo.setDirectCnt(direct.size()); walletInfo.setTotalChildCoin(childHoldAmount); walletInfo.setTeamReward(map.get("teamReward")); walletInfo.setMiningAmount(map.get("mine")); walletInfo.setInviteId(member.getInviteId()); + walletInfo.setBoxCnt(walletCoin.getBoxCnt()); return walletInfo; } @@ -315,11 +321,9 @@ public Map<String, BigDecimal> calPrice(PriceDto priceDto) { DappMemberEntity member = LoginUserUtil.getAppUser(); - - String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG); - if (!"start".equals(hasStart)) { + if (!dappSystemService.systemHasStart()) { HashMap<String, BigDecimal> map = new HashMap<>(); - map.put("x", new BigDecimal("0.075")); + map.put("x", new BigDecimal("0.05")); map.put("y", new BigDecimal("100000")); return map; } @@ -329,7 +333,7 @@ BigDecimal sourceU = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); // 源池代币剩余数量 BigDecimal sourceCoin = tfcInstance.balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); - // 用户代币剩余数量 + // 用户卖出数量 BigDecimal coin = priceDto.getAmount(); BigDecimal x = sourceU.divide(sourceCoin, tfcInstance.decimals(), RoundingMode.HALF_UP); BigDecimal y = sourceU.divide(sourceCoin.add(coin), tfcInstance.decimals(), RoundingMode.HALF_UP); @@ -340,4 +344,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