From 954125b4e7104d1e29f4f4ac865c582eae9e7b06 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 15 Jul 2022 15:25:07 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   31 ++++++++++++++++++++++++++++++-
 1 files changed, 30 insertions(+), 1 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 5e3b6e0..c151442 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
@@ -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;
@@ -230,7 +231,6 @@
     public Map<String, BigDecimal> calPrice(PriceDto priceDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
-
         String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
         if (!"start".equals(hasStart)) {
             HashMap<String, BigDecimal> map = new HashMap<>();
@@ -255,4 +255,33 @@
         map.put("y", y);
         return map;
     }
+
+    @Override
+    public int boxSurprise() {
+        DappMemberEntity member = LoginUserUtil.getAppUser();
+
+        DappIdoAssetsEntity idoAssets = dappIdoAssetsDao.selectByMemberId(member.getId());
+        if (idoAssets.getBoxCnt() < 1) {
+            throw new FebsException("盲盒数量不足");
+        }
+
+        idoAssets.setBoxCnt(idoAssets.getBoxCnt() - 1);
+        dappIdoAssetsDao.updateById(idoAssets);
+
+        BoxUtil.Box box = BoxUtil.openBox();
+
+        DappFundFlowEntity boxFundFlow = new DappFundFlowEntity(member.getId(), new BigDecimal(box.getIndex()), 6, 2, BigDecimal.ZERO);
+        dappFundFlowDao.insert(boxFundFlow);
+
+        new Thread(() -> {
+            int count = box.getIndex();
+            while(count > 0) {
+                log.info("卡牌+1");
+                ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).safeMintNFT(member.getAddress());
+                count--;
+            }
+        }).start();
+
+        return box.getIndex();
+    }
 }

--
Gitblit v1.9.1