From 52e5074c4db95d5e1a262de66173cb0517a9adde Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Fri, 19 Feb 2021 15:22:47 +0800
Subject: [PATCH] TRC20版本提交

---
 src/main/java/com/xcong/excoin/quartz/job/NotionalPoolingJob.java |   67 +++++++++++++++++++++++++++++++++
 1 files changed, 67 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/quartz/job/NotionalPoolingJob.java b/src/main/java/com/xcong/excoin/quartz/job/NotionalPoolingJob.java
index 0c50b25..16711d9 100644
--- a/src/main/java/com/xcong/excoin/quartz/job/NotionalPoolingJob.java
+++ b/src/main/java/com/xcong/excoin/quartz/job/NotionalPoolingJob.java
@@ -1,7 +1,18 @@
 package com.xcong.excoin.quartz.job;
 
+import com.xcong.excoin.modules.blackchain.service.TrxUsdtUpdateService;
+import com.xcong.excoin.modules.blackchain.service.UsdtEthService;
+import com.xcong.excoin.utils.RedisUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.scheduling.annotation.Scheduled;
 import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutionException;
 
 /**
  * 归集定时任务
@@ -10,7 +21,63 @@
  * @date 2020-07-02
  **/
 
+@Slf4j
 @Component
 @ConditionalOnProperty(prefix = "app", name = "block-job", havingValue = "true")
 public class NotionalPoolingJob {
+
+    @Resource
+    private UsdtEthService usdtEthService;
+
+    @Resource
+    private RedisUtils redisUtils;
+
+    @Resource
+    private TrxUsdtUpdateService trxUsdtUpdateService;
+
+    /**
+     * usdt 归集
+     */
+   @Scheduled(cron = "0 15/30 * * * ? ")
+    public void poolUsdtEth() {
+        try {
+            log.info("USDT归集开始");
+            usdtEthService.pool();
+            log.info("USDT归集结束");
+        } catch (ExecutionException | InterruptedException e) {
+            log.error("#usdt归集错误#", e);
+        }
+    }
+
+//    @Scheduled(cron = "0 2/8 * * * ? ")
+//    public void usdtEthPoolCheck() {
+//        log.info("USDTETH归集结果扫描开始");
+//        usdtEthService.usdtEthPoolCheck();
+//    }
+
+    @Scheduled(cron = "0 2/30 * * * ? ")
+    public void poolEth() {
+        try {
+            usdtEthService.ethPool();
+        } catch (ExecutionException | InterruptedException e) {
+            log.info("#ETH归集错误#", e);
+        }
+    }
+
+    @Scheduled(cron = "0 1/5 * * * ? ")
+    public void poolUsdtTrc20() {
+        Object trc20_pool = redisUtils.get("TRC20_POOL");
+        if(trc20_pool==null){
+            return;
+        }
+        List<String> list = (List)trc20_pool;
+        List<String> needPoll = new ArrayList<>();
+        for(String address: list){
+            boolean b = trxUsdtUpdateService.poolByAddress(address);
+            if(!b){
+                needPoll.add(address);
+            }
+        }
+        redisUtils.set("TRC20_POOL",needPoll);
+    }
 }

--
Gitblit v1.9.1