From 46236454fdc29f1786fd8876438bf38e651037e6 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 19 Jul 2022 15:14:23 +0800
Subject: [PATCH] add idoAchieve.html

---
 src/main/java/cc/mrbird/febs/dapp/service/impl/DappWalletServiceImpl.java |   66 +++++++++++++++++++++++++++-----
 1 files changed, 55 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 5e3b6e0..d43960c 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;
@@ -206,21 +207,25 @@
         DappMemberEntity member = LoginUserUtil.getAppUser();
 
         if (transferDto.getId() == null) {
+            if (new BigDecimal(300).compareTo(transferDto.getAmount()) < 0) {
+                throw new FebsException("Do Not More Than 300 USDT");
+            }
+
             DappFundFlowEntity fundFlow = new DappFundFlowEntity(member.getId(), transferDto.getAmount(), transferDto.getType(), 1, transferDto.getFee(), transferDto.getTxHash());
             fundFlow.setNewestPrice(transferDto.getPrice());
             dappFundFlowDao.insert(fundFlow);
             return fundFlow.getId();
-        }
-
-        if ("success".equals(transferDto.getFlag())) {
-            DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
-
-            flow.setFromHash(transferDto.getTxHash());
-            dappFundFlowDao.updateById(flow);
         } else {
-            DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
-            if (flow.getStatus() == 1) {
-                dappFundFlowDao.deleteById(transferDto.getId());
+            if ("success".equals(transferDto.getFlag())) {
+                DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
+
+                flow.setFromHash(transferDto.getTxHash());
+                dappFundFlowDao.updateById(flow);
+            } else {
+                DappFundFlowEntity flow = dappFundFlowDao.selectById(transferDto.getId());
+                if (flow.getStatus() == 1) {
+                    dappFundFlowDao.deleteById(transferDto.getId());
+                }
             }
         }
         return null;
@@ -229,7 +234,6 @@
     @Override
     public Map<String, BigDecimal> calPrice(PriceDto priceDto) {
         DappMemberEntity member = LoginUserUtil.getAppUser();
-
 
         String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG);
         if (!"start".equals(hasStart)) {
@@ -255,4 +259,44 @@
         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(() -> {
+            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();
+    }
+
+    @Override
+    public IPage<DappIdoAssetsEntity> selectIdoAchieveInPage(DappIdoAssetsEntity dappIdoAssetsEntity, QueryRequest request) {
+        Page<DappIdoAssetsEntity> page = new Page<>(request.getPageNum(), request.getPageSize());
+        return this.dappIdoAssetsDao.selectAchieveListInPage(dappIdoAssetsEntity, page);
+    }
 }

--
Gitblit v1.9.1