From c204e41228e6058536f5efc33d6552aedcf9fdfb Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 22 Jun 2026 23:00:13 +0800
Subject: [PATCH] fix(gateApi): 修复双边持仓跨度计算逻辑
---
src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java | 18 ++++++++++++++++++
1 files changed, 18 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
index c3fe3ab..811bb20 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
@@ -232,6 +232,7 @@
isConnected.set(false);
}
};
+ webSocketClient.setConnectionLostTimeout(0);
webSocketClient.connect();
} catch (URISyntaxException e) {
log.error("[WS] URI格式错误", e);
@@ -257,6 +258,12 @@
}
if ("subscribe".equals(event)) {
log.info("[WS] {} 订阅成功: {}", channel, response.getJSONObject("result"));
+ for (GateChannelHandler handler : channelHandlers) {
+ if (channel.equals(handler.getChannelName())) {
+ handler.setSubscribed(true);
+ break;
+ }
+ }
return;
}
if ("unsubscribe".equals(event)) {
@@ -281,6 +288,17 @@
}
}
+ /**
+ * 检查所有已注册的频道是否都已收到订阅成功确认。
+ */
+ public boolean areAllSubscribed() {
+ if (channelHandlers.isEmpty()) return false;
+ for (GateChannelHandler h : channelHandlers) {
+ if (!h.isSubscribed()) return false;
+ }
+ return true;
+ }
+
// ---- heartbeat ----
/**
--
Gitblit v1.9.1