From e4934031411acd1a86f3e99922cf857763934023 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Fri, 08 May 2026 10:18:18 +0800
Subject: [PATCH] feat(gateApi): 添加用户ID获取和WebSocket私有频道订阅功能

---
 src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java |    9 +++++++--
 1 files changed, 7 insertions(+), 2 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 6b900e6..6fe824a 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateKlineWebSocketClient.java
@@ -301,11 +301,16 @@
     private void subscribePositionsChannels() {
         JSONObject subscribeMsg = new JSONObject();
         long timeSec = System.currentTimeMillis() / 1000;
+        subscribeMsg.put("id", timeSec * 1000000 + (System.currentTimeMillis() % 1000));
         subscribeMsg.put("time", timeSec);
         subscribeMsg.put("channel", POSITIONS_CHANNEL);
         subscribeMsg.put("event", "subscribe");
+
+        String uid = gridTradeService != null && gridTradeService.getUserId() != null
+                ? String.valueOf(gridTradeService.getUserId()) : "";
+
         JSONArray payload = new JSONArray();
-        payload.add("user_id");
+        payload.add(uid);
         payload.add(GATE_CONTRACT);
         subscribeMsg.put("payload", payload);
 
@@ -316,7 +321,7 @@
         subscribeMsg.put("auth", auth);
 
         webSocketClient.send(subscribeMsg.toJSONString());
-        log.info("已发送仓位频道订阅请求(含认证),合约: {}", GATE_CONTRACT);
+        log.info("已发送仓位频道订阅请求(含认证),userId:{}, 合约: {}", uid, GATE_CONTRACT);
     }
 
     /**

--
Gitblit v1.9.1