From 1ea6fad18342c1a06901552784de38bfad06c808 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 15 Jul 2022 10:39:58 +0800
Subject: [PATCH] fix

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   45 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 34 insertions(+), 11 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 1a586ee..c9ae7d1 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;
@@ -44,6 +45,7 @@
     private final DappMemberDao dappMemberDao;
     private final DappWalletMineDao dappWalletMineDao;
     private final DappWalletCoinDao dappWalletCoinDao;
+    private final DappIdoAssetsDao dappIdoAssetsDao;
     private final DappFundFlowDao dappFundFlowDao;
     private final DappAccountMoneyChangeDao dappAccountMoneyChangeDao;
     private final RedisUtils redisUtils;
@@ -53,17 +55,11 @@
     public WalletInfoVo walletInfo() {
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
-        Map<String, BigDecimal> map = dappFundFlowDao.selectAmountTotalByType(member.getId());
+        DappIdoAssetsEntity idoAssets = dappIdoAssetsDao.selectByMemberId(member.getId());
         WalletInfoVo walletInfo = new WalletInfoVo();
-        List<DappMemberEntity> direct = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 1);
-        List<DappMemberEntity> notDirect = dappMemberDao.selectChildMemberDirectOrNot(member.getInviteId(), 2);
-        BigDecimal childHoldAmount = dappMemberDao.selectChildHoldAmount(member.getInviteId());
-
-        walletInfo.setTotalChild(notDirect.size());
-        walletInfo.setDirectCnt(direct.size());
-        walletInfo.setTotalChildCoin(childHoldAmount);
-        walletInfo.setTeamReward(map.get("teamReward"));
-        walletInfo.setMiningAmount(map.get("mine"));
+        walletInfo.setBoxCnt(idoAssets.getBoxCnt());
+        walletInfo.setCoinAmount(idoAssets.getCoinAmount());
+        walletInfo.setUsdtAmount(idoAssets.getUsdtAmount());
         walletInfo.setInviteId(member.getInviteId());
         return walletInfo;
     }
@@ -235,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<>();
@@ -260,4 +255,32 @@
         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) {
+                ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).safeMintNFT(member.getAddress());
+                count--;
+            }
+        }).start();
+
+        return box.getIndex();
+    }
 }

--
Gitblit v1.9.1