From 73cfce48624bc8558d387ee8b3204cad8d4bbedd Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Mon, 13 Jun 2022 18:19:54 +0800 Subject: [PATCH] fix --- src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 30 +++++++++++++++++++++++++++--- 1 files changed, 27 insertions(+), 3 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 08b5435..612a694 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 @@ -151,11 +151,13 @@ BigDecimal fee = fundflow.getFee(); DappMemberEntity member = dappMemberDao.selectById(fundflow.getMemberId()); + List<DappMemberEntity> parents; if (StrUtil.isBlank(member.getRefererId()) || "0".equals(member.getRefererId())) { - return; + parents = new ArrayList<>(); + } else { + List<String> inviteIds = StrUtil.split(member.getRefererId(), ','); + parents = dappMemberDao.selectParentsList(inviteIds, 6);; } - List<String> inviteIds = StrUtil.split(member.getRefererId(), ','); - List<DappMemberEntity> parents = dappMemberDao.selectParentsList(inviteIds, 6); DataDictionaryCustom miniHoldCoin = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_MINI_HOLD_COIN_LIMIT); DataDictionaryCustom slipPointSetting = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SLIP_POINT_SETTING, AppContants.DIC_TYPE_SLIP_POINT_SETTING); @@ -313,10 +315,32 @@ dappFundFlowDao.updateById(fundFlow); } } + + // 判断系统是否启动,如满足条件则启动系统 + String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG); + if (!"start".equals(hasStart)) { + DataDictionaryCustom dic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(AppContants.DIC_TYPE_SYSTEM_SETTING, AppContants.DIC_VALUE_SYSTEM_START_TARGET); + BigDecimal target = new BigDecimal(dic.getValue()); + + // 若源池中的USDT达到或超过8万U,则启动整个系统 + BigDecimal balance = ChainService.getInstance(ChainEnum.BSC_USDT_SOURCE.name()).balanceOf(ChainEnum.BSC_USDT_SOURCE.getAddress()); + if (target.compareTo(balance) < 1) { + redisUtils.set(AppContants.SYSTEM_START_FLAG, "start"); + + // 启动系统 + startSystem(); + } + } } @Override public void userBuyReward(Long id) { + // 系统未启动不参与 + String hasStart = redisUtils.getString(AppContants.SYSTEM_START_FLAG); + if (!"start".equals(hasStart)) { + return; + } + DappFundFlowEntity fundFlow = dappFundFlowDao.selectById(id); DappMemberEntity member = dappMemberDao.selectById(fundFlow.getMemberId()); -- Gitblit v1.9.1