From 9d8b78c80f98f54147d63af2e9310b8a99bcebf3 Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Mon, 13 Jun 2022 17:53:37 +0800
Subject: [PATCH] fix
---
src/main/java/cc/mrbird/febs/dapp/service/impl/DappSystemServiceImpl.java | 42 ++++++++++++++++++++++++++++++++++++++++++
1 files changed, 42 insertions(+), 0 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 0b8503c..576c2fa 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
@@ -13,6 +13,7 @@
import cc.mrbird.febs.dapp.utils.OnlineTransferUtil;
import cc.mrbird.febs.dapp.vo.RedisTransferPoolVo;
import cc.mrbird.febs.dapp.vo.SlipSettingVo;
+import cc.mrbird.febs.job.SystemTradeJob;
import cc.mrbird.febs.rabbit.producer.ChainProducer;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
@@ -23,6 +24,7 @@
import com.alibaba.fastjson.JSONObject;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -311,10 +313,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());
@@ -342,4 +366,22 @@
map.put("type", "batch");
chainProducer.sendOnlineTransfer(JSONObject.toJSONString(map));
}
+
+ @Autowired
+ private SystemTradeJob systemTradeJob;
+
+ @Override
+ public void startSystem() {
+ log.info("启动系统");
+
+ Thread thread = new Thread(new Runnable() {
+ @Override
+ public void run() {
+ systemTradeJob.transferPoolVol();
+ systemTradeJob.sourcePoolUsdtOutLimit();
+ }
+ });
+
+ thread.start();
+ }
}
--
Gitblit v1.9.1