From 1c5666b5908ede9bad5f3fa65a787ccd4ff623cc Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 08 Jun 2026 10:49:54 +0800
Subject: [PATCH] fix(gateApi): 修复网格交易中止盈检查逻辑

---
 src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java |   17 +++++++++++++++++
 1 files changed, 17 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 156c76b..811bb20 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
@@ -258,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)) {
@@ -282,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