From 891796ea23d03e10acb56bdcaad11b0a6078ef29 Mon Sep 17 00:00:00 2001
From: zainali5120 <512061637@qq.com>
Date: Wed, 17 Mar 2021 19:29:32 +0800
Subject: [PATCH] 添加最新区块校验

---
 src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java |   24 ++++++++++++++++++++++++
 1 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java b/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java
index c6178dc..d1cd4b1 100644
--- a/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java
+++ b/src/main/java/com/xcong/excoin/modules/blackchain/service/TrxUsdtUpdateService.java
@@ -70,6 +70,12 @@
         }
         Long blockNum = Long.valueOf(trc20BlockNum.toString());
         redisUtils.set("USDT_TRC20_BLOCK_NUM",blockNum);
+        // 查询一下最新区块
+        long getnowblock = getnowblock()-20L;
+        if(getnowblock<blockNum){
+            // 如果当前区块比最新已确认区块还大,则不继续执行
+            return;
+        }
         if (CollectionUtils.isEmpty(addressList)) {
             return;
         }
@@ -309,4 +315,22 @@
         }
     }
 
+    // https://api.trongrid.io/wallet/getnowblock
+
+    /**
+     *  获取最新区块
+     * @return
+     */
+    public long getnowblock(){
+        String url = http+"/wallet/getnowblock";
+        RestTemplate restTemplate = new RestTemplate();
+        HttpHeaders headers = new HttpHeaders();
+        headers.setContentType(MediaType.APPLICATION_JSON);
+        headers.set("TRON-PRO-API-KEY",Trc20Service.API_KEY);
+        //HttpEntity<String> request = new HttpEntity<>();
+        String forObject = restTemplate.getForObject(url, String.class);
+        String number = JSON.parseObject(forObject).getJSONObject("block_header").getJSONObject("raw_data").getString("number");
+        return Long.valueOf(number);
+    }
+
 }

--
Gitblit v1.9.1