From 3087bfd3b7cbdd77aa22284b569dd3f8103fa1f8 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 24 Mar 2023 22:50:26 +0800
Subject: [PATCH] 后台修改
---
src/main/java/cc/mrbird/febs/mall/chain/job/ChainListenerJob.java | 17 +++++++-
src/test/java/cc/mrbird/febs/ProfitTest.java | 36 ++++++++++++++++-
src/main/resources/application-dev.yml | 3 +
src/main/java/cc/mrbird/febs/mall/chain/service/BscUsdtContractEvent.java | 9 ++--
4 files changed, 55 insertions(+), 10 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/chain/job/ChainListenerJob.java b/src/main/java/cc/mrbird/febs/mall/chain/job/ChainListenerJob.java
index 513205f..6274e33 100644
--- a/src/main/java/cc/mrbird/febs/mall/chain/job/ChainListenerJob.java
+++ b/src/main/java/cc/mrbird/febs/mall/chain/job/ChainListenerJob.java
@@ -35,7 +35,7 @@
public void chainBlockUpdate() {
BigInteger blockNumber = ChainService.getInstance(ChainEnum.BSC_USDT.name()).blockNumber();
- redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM, blockNumber);
+ redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_NEWEST_NUM, BigInteger.valueOf(26745054));
}
@Scheduled(cron = "0/2 * * * * ? ")
@@ -62,7 +62,7 @@
toIncrement = incrementBlock.add(BigInteger.ONE);
}
- redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, toIncrement);
+ redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, BigInteger.valueOf(26745054));
}
@Override
@@ -83,6 +83,19 @@
// ChainService.wssBaseCoinEventListener(block, bscUsdtContractEvent);
// ChainService.wssContractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
ChainService.wssContractEventListener2(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+
+// BigInteger section = BigInteger.valueOf(5000);
+// while (newest.subtract(block).compareTo(section) > -1) {
+// BigInteger end = block.add(section);
+// log.info("监听:[{} - {}]", block, end);
+// ChainService.contractEventListener(block, end, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+//
+// block = block.add(section);
+// if (block.compareTo(newest) > 0) {
+// block = newest;
+// }
+// }
+// ChainService.contractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
long end = System.currentTimeMillis();
log.info("区块链监听启动完成, 消耗时间{}", end - start);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/chain/service/BscUsdtContractEvent.java b/src/main/java/cc/mrbird/febs/mall/chain/service/BscUsdtContractEvent.java
index cc60b74..fc6037a 100644
--- a/src/main/java/cc/mrbird/febs/mall/chain/service/BscUsdtContractEvent.java
+++ b/src/main/java/cc/mrbird/febs/mall/chain/service/BscUsdtContractEvent.java
@@ -55,12 +55,13 @@
String address = e.to;
String hash = e.log.getTransactionHash();
- List<String> tdCoinWallets = memberCoinAddressDao.selectAllSymbolAddress(CoinTypeEnum.USDT.toString(),"ERC20");
-// Set<Object> addressList = redisUtils.sGet(ChainConstants.REDIS_KEY_SYSTEM_ADDRESS);
+// List<String> tdCoinWallets = memberCoinAddressDao.selectAllSymbolAddress(CoinTypeEnum.USDT.toString(),"ERC20");
+ Set<Object> addressList = redisUtils.sGet(ChainConstants.REDIS_KEY_SYSTEM_ADDRESS);
// 判断对方打款地址是否为源池地址
- if(CollUtil.isNotEmpty(tdCoinWallets) && tdCoinWallets.contains(address)){
+ if(CollUtil.isNotEmpty(addressList) && addressList.contains(address)){
+// if(CollUtil.isNotEmpty(tdCoinWallets) && tdCoinWallets.contains(address)){
log.info("触发USDT合约监听事件");
-// redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, e.log.getBlockNumber());
+ redisUtils.set(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM, e.log.getBlockNumber());
// hash没有用过
Map<String, Object> param = new HashMap<>();
param.put("hash", hash);
diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml
index 224ddb8..142fa50 100644
--- a/src/main/resources/application-dev.yml
+++ b/src/main/resources/application-dev.yml
@@ -68,4 +68,5 @@
domain: https://openapi.alipaydev.com/gateway.do
system:
- chain-listener: false
\ No newline at end of file
+ chain-listener: false
+# chain-listener: true
\ No newline at end of file
diff --git a/src/test/java/cc/mrbird/febs/ProfitTest.java b/src/test/java/cc/mrbird/febs/ProfitTest.java
index 0c87fac..b3b3892 100644
--- a/src/test/java/cc/mrbird/febs/ProfitTest.java
+++ b/src/test/java/cc/mrbird/febs/ProfitTest.java
@@ -500,6 +500,19 @@
// memberCoinAddressEntity.getAddress(),
// AppContants.ERC20_POOL_ADDRESS,
// balanceOf.toString());
+// long start = System.currentTimeMillis();
+// Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM);
+// BigInteger newest = ChainService.getInstance(ChainEnum.BSC_USDT.name()).blockNumber();
+// BigInteger block;
+// if (incrementObj == null) {
+// block = newest;
+// } else {
+// block = newest;
+// }
+//// ChainService.wssBaseCoinEventListener(BigInteger.valueOf(26737044), baseCoinService);
+// ChainService.wssContractEventListener2(BigInteger.valueOf(26739725), bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+
+
long start = System.currentTimeMillis();
Object incrementObj = redisUtils.get(AppContants.REDIS_KEY_BLOCK_ETH_INCREMENT_NUM);
BigInteger newest = ChainService.getInstance(ChainEnum.BSC_USDT.name()).blockNumber();
@@ -507,10 +520,27 @@
if (incrementObj == null) {
block = newest;
} else {
- block = newest;
+ block = (BigInteger) incrementObj;
}
-// ChainService.wssBaseCoinEventListener(BigInteger.valueOf(26737044), baseCoinService);
- ChainService.wssContractEventListener2(BigInteger.valueOf(26739725), bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+
+
+// ChainService.wssBaseCoinEventListener(block, baseCoinService);
+// ChainService.wssBaseCoinEventListener(block, bscUsdtContractEvent);
+// ChainService.wssContractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+// ChainService.wssContractEventListener2(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+
+ BigInteger section = BigInteger.valueOf(5000);
+ while (newest.subtract(block).compareTo(section) > -1) {
+ BigInteger end = block.add(section);
+ ChainService.contractEventListener(block, end, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+
+ block = block.add(section);
+ if (block.compareTo(newest) > 0) {
+ block = newest;
+ }
+ }
+ ChainService.contractEventListener(block, bscUsdtContractEvent, ChainEnum.BSC_USDT.name());
+ long end = System.currentTimeMillis();
}
//
// @Test
--
Gitblit v1.9.1