From 429316cdba93e20e162163040469505129505e24 Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Thu, 28 Jul 2022 18:23:06 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 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 c7bf6c8..ff3a42b 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 @@ -384,8 +384,7 @@ @Override public void userBuyReward(Long id) { // 系统未启动不参与 - String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG); - if (!"start".equals(hasStart)) { + if (!systemHasStart()) { return; } @@ -394,6 +393,10 @@ DappMemberEntity member = dappMemberDao.selectById(fundFlow.getMemberId()); DappMemberEntity referer = dappMemberDao.selectMemberInfoByInviteId(member.getRefererId()); if (referer == null || "admin".equals(referer.getAccountType())) { + return; + } + + if (!hasProfit(referer.getAddress())) { return; } @@ -562,12 +565,7 @@ return; } - BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(member.getAddress()); - BigDecimal usdtBalance = balance.multiply(newestPrice()); - - DataDictionaryCustom data = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MINI_HOLD_COIN_LIMIT); - BigDecimal miniLimit = new BigDecimal(data.getValue()); - if (usdtBalance.compareTo(miniLimit) < 0) { + if (!hasProfit(parent.getAddress())) { return; } @@ -627,4 +625,18 @@ return new BigDecimal("0.05"); } } + + @Override + public boolean hasProfit(String address) { + BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_TFC.name()).balanceOf(address); + BigDecimal usdtBalance = balance.multiply(newestPrice()); + + DataDictionaryCustom data = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MINI_HOLD_COIN_LIMIT); + BigDecimal miniLimit = new BigDecimal(data.getValue()); + if (usdtBalance.compareTo(miniLimit) < 0) { + return false; + } + + return true; + } } -- Gitblit v1.9.1