From a6fed8c500755a00cb96ea20e5b4ae59bf4e6d6d Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 17 Jan 2023 16:28:39 +0800
Subject: [PATCH] 20221227 充值归集

---
 src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java |   19 +++++++++++++++----
 1 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java b/src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java
index db98065..fca8970 100644
--- a/src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java
+++ b/src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java
@@ -3,9 +3,11 @@
 import cc.mrbird.febs.common.exception.FebsException;
 import cc.mrbird.febs.mall.chain.enums.ChainEnum;
 import cc.mrbird.febs.mall.chain.enums.EthService;
+import cn.hutool.core.util.ObjectUtil;
 import io.reactivex.Flowable;
 import io.reactivex.disposables.Disposable;
 import lombok.extern.slf4j.Slf4j;
+import org.java_websocket.WebSocket;
 import org.web3j.crypto.Credentials;
 import org.web3j.protocol.Web3j;
 import org.web3j.protocol.core.DefaultBlockParameter;
@@ -88,10 +90,19 @@
         } catch (Exception e) {
             try {
                 ws.close();
-
-                webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
-                ws = new WebSocketService(webSocketClient, true);
-                ws.connect();
+                //TODO
+                if(ObjectUtil.isEmpty(webSocketClient)){
+                    webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
+                    ws = new WebSocketService(webSocketClient, true);
+                    ws.connect();
+                }
+                WebSocket.READYSTATE readyState = webSocketClient.getReadyState();
+                if((WebSocket.READYSTATE.OPEN != readyState
+                        && WebSocket.READYSTATE.CONNECTING != readyState)){
+                    webSocketClient = new WebSocketClient(new URI("wss://bsc-mainnet.nodereal.io/ws/v1/78074065950e4915aef4f12b6f357d16"));
+                    ws = new WebSocketService(webSocketClient, true);
+                    ws.connect();
+                }
             } catch (Exception connectException) {
                 connectException.printStackTrace();
             }

--
Gitblit v1.9.1