From 6750bad09a6c2f88bc48274efc84c082fde44a2b Mon Sep 17 00:00:00 2001
From: KKSU <15274802129@163.com>
Date: Mon, 20 May 2024 14:05:45 +0800
Subject: [PATCH] 滑点监控
---
src/main/java/cc/mrbird/febs/job/ChainListenerJob.java | 32 ++++++++++++++++++++++++++++----
src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java | 4 +---
src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java | 2 +-
src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java | 6 ++++--
src/main/java/cc/mrbird/febs/common/contants/AppContants.java | 2 ++
src/main/java/cc/mrbird/febs/dapp/service/AsyncCjService.java | 2 +-
6 files changed, 37 insertions(+), 11 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
index d36828b..c85e124 100644
--- a/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
+++ b/src/main/java/cc/mrbird/febs/common/contants/AppContants.java
@@ -141,7 +141,9 @@
public static final String REDIS_KEY_BLOCK_COIN_NUM = "BLOCK_COIN_NUM";
public static final String REDIS_KEY_BLOCK_USDT_NUM = "BLOCK_USDT_NUM";
public static final String REDIS_KEY_BLOCK_ETH_NEWEST_NUM = "BLOCK_ETH_NEWEST_NUM";
+ public static final String REDIS_KEY_BLOCK_ETH_NEWEST_NUM_HUA_DIAN = "BLOCK_ETH_NEWEST_NUM_HUA_DIAN";
public static final String REDIS_KEY_BLOCK_ETH_INCREMENT_NUM = "BLOCK_ETH_INCREMENT_NUM";
+ public static final String REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN = "BLOCK_ETH_INCREMENT_NUM_HUA_DIAN";
public static final String REDIS_KEY_MAKE_POOL_CNT = "MAKE_POOL_CNT";
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/AsyncCjService.java b/src/main/java/cc/mrbird/febs/dapp/service/AsyncCjService.java
index ceb10e8..14cbfa1 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/AsyncCjService.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/AsyncCjService.java
@@ -25,7 +25,7 @@
@Async(FebsConstant.ASYNC_POOL)
void insertTeamPerk(Long flowId, Long achieveId);
- @Async(FebsConstant.ASYNC_POOL)
+// @Async(FebsConstant.ASYNC_POOL)
void tradeProfitDistribute();
@Async(FebsConstant.ASYNC_POOL)
diff --git a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
index 47fe645..7fc4321 100644
--- a/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/dapp/service/impl/BscCoinContractEvent.java
@@ -272,7 +272,7 @@
BigDecimal multiply = coinPrice.multiply(amount).multiply(new BigDecimal("0.97")).setScale(8,BigDecimal.ROUND_DOWN);
//更新这个时间段的滑点数量
redisUtils.set(DataDicEnum.GFA_HUA_DIAN_WALLET_USDT_AMOUNT.getValue(), multiply, 0);
-
+ log.info("滑点奖励:"+amount);
//生成一条记录
DappHdRecord dappHdRecordAdd = new DappHdRecord();
dappHdRecordAdd.setPrice(coinPrice);
@@ -281,6 +281,8 @@
dappHdRecordAdd.setCoinAmount(BigDecimal.ZERO);
dappHdRecordAdd.setTransactionHash(transactionHash);
dappHdRecordMapper.insert(dappHdRecordAdd);
- dappSystemService.tradeProfitDistribute(1L);
+ chainProducer.sendDitribProfit(1L);
+
+// dappSystemService.tradeProfitDistribute(1L);
}
}
diff --git a/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java b/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java
index 47290ec..e6731a3 100644
--- a/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java
+++ b/src/main/java/cc/mrbird/febs/job/ChainHuadianRunner.java
@@ -31,7 +31,7 @@
long start = System.currentTimeMillis();
log.info("区块链滑点开始启动");
- Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM);
+ Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN);
BigInteger newest = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber();
// Object incrementObj = BigInteger.valueOf(39780699);
// BigInteger newest = BigInteger.valueOf(39780739);
diff --git a/src/main/java/cc/mrbird/febs/job/ChainListenerJob.java b/src/main/java/cc/mrbird/febs/job/ChainListenerJob.java
index 504aa4b..476209e 100644
--- a/src/main/java/cc/mrbird/febs/job/ChainListenerJob.java
+++ b/src/main/java/cc/mrbird/febs/job/ChainListenerJob.java
@@ -7,14 +7,10 @@
import cc.mrbird.febs.dapp.chain.ContractEventService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.ApplicationArguments;
-import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.scheduling.annotation.Async;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
-import javax.annotation.PostConstruct;
import java.math.BigInteger;
@Slf4j
@@ -38,6 +34,7 @@
BigInteger blockNumber = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber();
redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM, blockNumber);
+ redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM_HUA_DIAN, blockNumber);
}
@Scheduled(cron = "0/2 * * * * ? ")
@@ -67,6 +64,33 @@
redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, toIncrement);
}
+ @Scheduled(cron = "0/2 * * * * ? ")
+ public void chainIncrementBlockHuaDian() {
+ Object newestBlockObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM_HUA_DIAN);
+ BigInteger newestBlock;
+ if (newestBlockObj == null) {
+ newestBlock = ChainService.getInstance(ChainEnum.BSC_GFA.name()).blockNumber();
+ } else {
+ newestBlock = (BigInteger) newestBlockObj;
+ }
+
+ Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN);
+ BigInteger toIncrement;
+ if (incrementObj == null) {
+ toIncrement = newestBlock;
+ } else {
+ BigInteger incrementBlock = (BigInteger) incrementObj;
+
+ // 最新区块小于增加区块
+ if (newestBlock.compareTo(incrementBlock) <= 0) {
+ return;
+ }
+ toIncrement = incrementBlock.add(BigInteger.ONE);
+ }
+
+ redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM_HUA_DIAN, toIncrement);
+ }
+
// @Override
// public void run(ApplicationArguments args) throws Exception {
// long start = System.currentTimeMillis();
diff --git a/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java b/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
index 5b78de5..85e59e2 100644
--- a/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
+++ b/src/main/java/cc/mrbird/febs/rabbit/consumer/ChainConsumer.java
@@ -2,9 +2,7 @@
import cc.mrbird.febs.dapp.service.DappSystemService;
import cc.mrbird.febs.rabbit.QueueConstants;
-import com.rabbitmq.client.Channel;
import lombok.extern.slf4j.Slf4j;
-import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
@@ -31,7 +29,7 @@
@RabbitListener(queues = QueueConstants.QUEUE_GFA_ZY_HUA_DIAN)
public void distrbProfit(Long id) {
log.info("收到滑点分配消息:{}", id);
-// dappSystemService.tradeProfitDistribute(id);
+ dappSystemService.tradeProfitDistribute(id);
}
@RabbitListener(queues = QueueConstants.USER_BUY_REWARD)
--
Gitblit v1.9.1