From 7f216075ab3224430cbf93b102b3b35848b56686 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 18 Dec 2025 18:01:38 +0800
Subject: [PATCH] refactor(okx): 优化账户名称获取逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java | 22 +---------------------
1 files changed, 1 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
index 9a59528..6497857 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/OkxNewPriceWebSocketClient.java
@@ -310,7 +310,7 @@
}
// 获取所有OkxQuantWebSocketClient实例
for (OkxQuantWebSocketClient client : clientManager.getAllClients()) {
- String accountName = getAccountNameFromClient(client);
+ String accountName = client.getAccountName();
if (accountName != null) {
/**
* 处理历史网格的订单
@@ -338,26 +338,6 @@
}
} catch (Exception e) {
log.error("触发量化操作失败", e);
- }
- }
-
- /**
- * 从OkxQuantWebSocketClient实例中获取账号名称
- * 由于OkxQuantWebSocketClient没有直接暴露账号名称的方法,这里需要通过反射获取
- * 更好的方式是修改OkxQuantWebSocketClient,添加getAccountName方法
- */
- private String getAccountNameFromClient(OkxQuantWebSocketClient client) {
- try {
- // 通过反射获取account字段的值
- java.lang.reflect.Field accountField = OkxQuantWebSocketClient.class.getDeclaredField("account");
- accountField.setAccessible(true);
- Object account = accountField.get(client);
- // 调用account的name()方法获取账号名称
- java.lang.reflect.Method nameMethod = account.getClass().getMethod("name");
- return (String) nameMethod.invoke(account);
- } catch (Exception e) {
- log.error("获取账号名称失败", e);
- return null;
}
}
--
Gitblit v1.9.1