From 91c4a7a84f91518604a12cff816ff3f4e670477b Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 07 May 2026 17:30:51 +0800
Subject: [PATCH] refactor(gateApi): 简化 K线回调方法参数
---
src/main/java/com/xcong/excoin/modules/gateApi/GateWebSocketClientManager.java | 86 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 86 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/gateApi/GateWebSocketClientManager.java b/src/main/java/com/xcong/excoin/modules/gateApi/GateWebSocketClientManager.java
new file mode 100644
index 0000000..736bf77
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/gateApi/GateWebSocketClientManager.java
@@ -0,0 +1,86 @@
+package com.xcong.excoin.modules.gateApi;
+
+import com.xcong.excoin.modules.okxNewPrice.celue.CaoZuoService;
+import com.xcong.excoin.modules.okxNewPrice.okxWs.wanggeList.WangGeListService;
+import com.xcong.excoin.utils.RedisUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+import javax.annotation.PreDestroy;
+import java.math.BigDecimal;
+
+/**
+ * 管理 Gate WebSocket 客户端和网格交易服务实例
+ */
+@Slf4j
+@Component
+public class GateWebSocketClientManager {
+ @Autowired
+ private CaoZuoService caoZuoService;
+ @Autowired
+ private WangGeListService wangGeListService;
+
+ private GateKlineWebSocketClient klinePriceClient;
+ private GateGridTradeService gridTradeService;
+
+ private static final String API_KEY = "d90ca272391992b8e74f8f92cedb21ec";
+ private static final String API_SECRET = "1861e4f52de4bb53369ea3208d9ede38ece4777368030f96c77d27934c46c274";
+
+ @PostConstruct
+ public void init() {
+ log.info("开始初始化GateWebSocketClientManager");
+
+ try {
+ gridTradeService = new GateGridTradeService(
+ API_KEY, API_SECRET,
+ "XAUT_USDT",
+ "30",
+ "cross",
+ "dual",
+ new BigDecimal("0.0035"),
+ new BigDecimal("0.5"),
+ 3,
+ new BigDecimal("7.5"),
+ "10"
+ );
+ gridTradeService.init();
+
+ klinePriceClient = new GateKlineWebSocketClient(caoZuoService, this, wangGeListService,gridTradeService);
+ klinePriceClient.init();
+ log.info("已初始化GateKlineWebSocketClient");
+
+ gridTradeService.startGrid();
+ } catch (Exception e) {
+ log.error("初始化GateWebSocketClientManager失败", e);
+ }
+ }
+
+ @PreDestroy
+ public void destroy() {
+ log.info("开始销毁GateWebSocketClientManager");
+
+ if (gridTradeService != null) {
+ gridTradeService.stopGrid();
+ }
+ if (klinePriceClient != null) {
+ try {
+ klinePriceClient.destroy();
+ log.info("已销毁GateKlineWebSocketClient");
+ } catch (Exception e) {
+ log.error("销毁GateKlineWebSocketClient失败", e);
+ }
+ }
+
+ log.info("GateWebSocketClientManager销毁完成");
+ }
+
+ public GateKlineWebSocketClient getKlineWebSocketClient() {
+ return klinePriceClient;
+ }
+
+ public GateGridTradeService getGridTradeService() {
+ return gridTradeService;
+ }
+}
\ No newline at end of file
--
Gitblit v1.9.1