From 3154a08c8f114291b59ee44074d6af95026eba32 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 11 Aug 2022 18:18:28 +0800 Subject: [PATCH] fix:add active nft --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 25 ++++++++++++++++++++----- 1 files changed, 20 insertions(+), 5 deletions(-) diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java index cc12112..ffd30b0 100644 --- a/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java +++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java @@ -8,6 +8,7 @@ import cc.mrbird.febs.dapp.chain.ContractChainService; import cc.mrbird.febs.dapp.dto.SystemDto; import cc.mrbird.febs.dapp.entity.*; +import cc.mrbird.febs.dapp.enumerate.CardPeriod; import cc.mrbird.febs.dapp.mapper.*; import cc.mrbird.febs.dapp.service.DappSystemService; import cc.mrbird.febs.dapp.utils.OnlineTransferUtil; @@ -74,6 +75,7 @@ result.put("coinCnt", coinCnt); result.put("sourceTFC", ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(ChainEnum.BSC_TFC_SOURCE.getAddress())); result.put("sourceUSDT", ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress())); + result.put("cardCnt", 1000); return result; } @@ -114,6 +116,15 @@ } system.setBuyRemain(balance); system.setBuyTotal(balance); + + + Object maxDailyBuy = redisUtils.get(AppContants.REDIS_KEY_IDO_USDT_MAX_BUY_DAILY + member.getAddress()); + if (maxDailyBuy == null) { + DateTime tomorrow = DateUtil.beginOfDay(DateUtil.tomorrow()); + long time = DateUtil.between(new Date(), tomorrow, DateUnit.SECOND, true); + + redisUtils.set(AppContants.REDIS_KEY_IDO_USDT_MAX_BUY_DAILY + member.getAddress(), new BigDecimal("1000"), time); + } return system; } @@ -334,6 +345,10 @@ ContractChainService contract = ChainService.getInstance(ChainEnum.BSC_TFC.name()); // 发行量 BigInteger totalSupply = contract.totalSupply(); + + if (!systemHasStart()) { + return; + } BigDecimal totalUnHold = contract.balanceOf(AppContants.DESTROY_ADDRESS); List<DappMemberEntity> admin = dappMemberDao.selectMemberByAccountType("admin"); @@ -601,12 +616,12 @@ lastDayPrice = new BigDecimal(dailyPrice); } - ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC.name()); + ContractChainService tfcInstance = ChainService.getInstance(ChainEnum.BSC_TFC_SOURCE.name()); // 源池币种数量 - BigDecimal tfcBalance = tfcInstance.balanceOf(ChainEnum.BSC_TFC.getAddress()); + BigDecimal tfcBalance = tfcInstance.balanceOf(ChainEnum.BSC_TFC_SOURCE.getAddress()); // 源池USDT数量 - BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT.name()).balanceOf(ChainEnum.BSC_USDT.getAddress()); + BigDecimal usdtBalance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); BigDecimal todayPrice = tfcBalance.divide(usdtBalance, tfcInstance.decimals(), RoundingMode.HALF_UP); @@ -639,7 +654,7 @@ return; } - DataDictionaryCustom boxRecommendCnt = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_BOX_RECOMMEND_CNT); + BigInteger totalSupply = ChainService.getInstance(ChainEnum.BSC_NFT_SDC.name()).totalSupplyNFT(); int box = 0; // 需要第一次购买,才在推荐中加1 Object parentRecommend = redisUtils.hget(AppContants.IDO_MEMBER_RECOMMEND_CNT, parent.getAddress()); @@ -649,7 +664,7 @@ int i = (int) parentRecommend; // 如果超过10个,则新增一个盲盒,并重置推荐人数 - if (++i == new Integer(boxRecommendCnt.getValue())) { + if (++i == CardPeriod.ONE.recommendCnt(totalSupply.intValue())) { box = 1; redisUtils.hset(AppContants.IDO_MEMBER_RECOMMEND_CNT, parent.getAddress(), 0); } else { -- Gitblit v1.9.1