From 1278ee2bd43b401489b4377b0eee5259b3d5bbbb Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 13 May 2026 18:17:19 +0800
Subject: [PATCH] refactor(okxNewPrice): 账户配置

---
 src/main/java/com/xcong/excoin/modules/okxApi/OkxKlineWebSocketClient.java |   21 +++++++++++++++++----
 1 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/okxApi/OkxKlineWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/okxApi/OkxKlineWebSocketClient.java
index 014d2f5..7af9646 100644
--- a/src/main/java/com/xcong/excoin/modules/okxApi/OkxKlineWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxApi/OkxKlineWebSocketClient.java
@@ -66,8 +66,14 @@
 
     private final List<OkxChannelHandler> channelHandlers = new ArrayList<>();
 
+    private volatile Runnable onLoginSuccess;
+
     public WebSocketClient getWebSocketClient() {
         return webSocketClient;
+    }
+
+    public void setOnLoginSuccess(Runnable onLoginSuccess) {
+        this.onLoginSuccess = onLoginSuccess;
     }
 
     private final ExecutorService sharedExecutor = Executors.newCachedThreadPool(r -> {
@@ -111,7 +117,6 @@
 
             JSONObject login = OkxWsUtil.buildJsonObject(null, "login", argsArray);
             webSocketClient.send(login.toJSONString());
-            log.info("[WS] 发送登录请求");
         } catch (Exception e) {
             log.error("[WS] 登录请求构建失败", e);
         }
@@ -249,17 +254,18 @@
                         handler.subscribe(webSocketClient);
                     }
                     sendPing();
+                    if (onLoginSuccess != null) {
+                        onLoginSuccess.run();
+                    }
                 } else {
                     log.error("[WS] WebSocket登录失败, code:{}, msg:{}", code, response.getString("msg"));
                 }
                 return;
             }
             if ("subscribe".equals(event)) {
-                log.info("[WS] 订阅成功: {}", response.getJSONObject("arg"));
                 return;
             }
             if ("unsubscribe".equals(event)) {
-                log.info("[WS] 取消订阅成功: {}", response.getJSONObject("arg"));
                 return;
             }
             if ("error".equals(event)) {
@@ -272,7 +278,14 @@
             }
             String op = response.getString("op");
             if ("order".equals(op) || "batch-orders".equals(op)) {
-                log.info("[WS] 收到下单推送结果: {}", JSON.toJSONString(response.get("data")));
+                JSONArray dataArr = response.getJSONArray("data");
+                if (dataArr != null && !dataArr.isEmpty()) {
+                    JSONObject first = dataArr.getJSONObject(0);
+                    String sCode = first.getString("sCode");
+                    if (sCode != null && !"0".equals(sCode)) {
+                        log.error("[WS] 下单失败, sCode:{}, sMsg:{}", sCode, first.getString("sMsg"));
+                    }
+                }
                 return;
             }
             for (OkxChannelHandler handler : channelHandlers) {

--
Gitblit v1.9.1