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/GateGridTradeService.java | 13 +++++++++++++
1 files changed, 13 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
index f15b8b2..17edd84 100644
--- a/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateGridTradeService.java
@@ -3,7 +3,9 @@
import io.gate.gateapi.ApiClient;
import io.gate.gateapi.ApiException;
import io.gate.gateapi.GateApiException;
+import io.gate.gateapi.api.AccountApi;
import io.gate.gateapi.api.FuturesApi;
+import io.gate.gateapi.models.AccountDetail;
import io.gate.gateapi.models.FuturesAccount;
import io.gate.gateapi.models.FuturesInitialOrder;
import io.gate.gateapi.models.FuturesOrder;
@@ -72,6 +74,8 @@
private volatile BigDecimal lastKlinePrice;
/** 服务器返回的累计已实现盈亏 */
private BigDecimal totalHistoryPnl = BigDecimal.ZERO;
+ /** 用户 ID,用于 WebSocket 私有频道订阅 */
+ private Long userId;
/**
* 构造函数,初始化 Gate 期货 API 客户端。
@@ -111,6 +115,11 @@
*/
public void init() {
try {
+ AccountApi accountApi = new AccountApi(apiClient);
+ AccountDetail accountDetail = accountApi.getAccountDetail();
+ this.userId = accountDetail.getUserId();
+ log.info("[GateGrid] 用户ID: {}", userId);
+
futuresApi.updateContractPositionLeverageCall(
SETTLE, contract, leverage, marginMode, positionMode, null);
log.info("[GateGrid] 已设置杠杆: {}x, 保证金模式: {}", leverage, marginMode);
@@ -447,4 +456,8 @@
public BigDecimal getTotalHistoryPnl() {
return totalHistoryPnl;
}
+
+ public Long getUserId() {
+ return userId;
+ }
}
--
Gitblit v1.9.1