fix
Helius
2022-07-26 549f5b13855c9cee9b486c2759b9dddab5ce1b7f
src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java
@@ -17,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;
@@ -340,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();
    }
}