From d9b3fe860d58c8a9759fa7f690febfc8cfc75827 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Sat, 13 Dec 2025 22:10:21 +0800
Subject: [PATCH] refactor(okxWs): 优化账户和持仓状态更新逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java | 41 +++++++++++++++++++++--------------------
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java | 3 ++-
2 files changed, 23 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
index 9f9fb6a..70b13ec 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java
@@ -89,7 +89,6 @@
for (int j = 0; j < detailsArray.size(); j++) {
JSONObject detail = detailsArray.getJSONObject(j);
initParam(detail);
- WsMapBuild.saveStringToMap(ACCOUNTWSMAP, CoinEnums.READY_STATE.name(), CoinEnums.READY_STATE_YES.getCode());
}
} catch (Exception innerEx) {
log.warn("处理账户频道数据失败", innerEx);
@@ -130,6 +129,8 @@
BigDecimal totalOrderUsdt = cashBalDecimal.multiply(total_order_usdt_factor).setScale(2, RoundingMode.DOWN);
WsMapBuild.saveStringToMap(ACCOUNTWSMAP, CoinEnums.TOTAL_ORDER_USDT.name(), String.valueOf(totalOrderUsdt));
+ WsMapBuild.saveStringToMap(ACCOUNTWSMAP, CoinEnums.READY_STATE.name(), CoinEnums.READY_STATE_YES.getCode());
+
// log.info(
// "账户详情-币种: {}, 可用余额: {}, 现金余额: {}, 余额: {}, 全仓未实现盈亏: {}, 下单总保证金: {}",
// ccy, availBal, cashBal, eq, upl, totalOrderUsdt
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
index e1a0007..0752d51 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/PositionsWs.java
@@ -65,25 +65,25 @@
String instId = posData.getString("instId");
if (CoinEnums.HE_YUE.getCode().equals(instId)) {
// log.info("查询到账户{}持仓数据",CoinEnums.HE_YUE.getCode());
- String mgnMode = posData.getString("mgnMode");
- String posSide = posData.getString("posSide");
- String pos = posData.getString("pos");
- String avgPx = posData.getString("avgPx");
- String upl = posData.getString("upl");
- String uplRatio = posData.getString("uplRatio");
- String lever = posData.getString("lever");
- String liqPx = posData.getString("liqPx");
- String markPx = posData.getString("markPx");
- String imr = posData.getString("imr");
- String mgnRatio = posData.getString("mgnRatio");
- String mmr = posData.getString("mmr");
- String notionalUsd = posData.getString("notionalUsd");
- String ccy = posData.getString("ccy");
- String last = posData.getString("last");
- String idxPx = posData.getString("idxPx");
- String bePx = posData.getString("bePx");
- String realizedPnl = posData.getString("realizedPnl");
- String settledPnl = posData.getString("settledPnl");
+// String mgnMode = posData.getString("mgnMode");
+// String posSide = posData.getString("posSide");
+// String pos = posData.getString("pos");
+// String avgPx = posData.getString("avgPx");
+// String upl = posData.getString("upl");
+// String uplRatio = posData.getString("uplRatio");
+// String lever = posData.getString("lever");
+// String liqPx = posData.getString("liqPx");
+// String markPx = posData.getString("markPx");
+// String imr = posData.getString("imr");
+// String mgnRatio = posData.getString("mgnRatio");
+// String mmr = posData.getString("mmr");
+// String notionalUsd = posData.getString("notionalUsd");
+// String ccy = posData.getString("ccy");
+// String last = posData.getString("last");
+// String idxPx = posData.getString("idxPx");
+// String bePx = posData.getString("bePx");
+// String realizedPnl = posData.getString("realizedPnl");
+// String settledPnl = posData.getString("settledPnl");
// log.info(
// "账户持仓频道-产品类型: {}, 保证金模式: {}, 持仓方向: {}, 持仓数量: {}, 开仓平均价: {}, "
// + "未实现收益: {}, 未实现收益率: {}, 杠杆倍数: {}, 预估强平价: {}, 初始保证金: {}, "
@@ -98,7 +98,6 @@
// );
initParam(posData);
- WsMapBuild.saveBigDecimalToMap(POSITIONSWSMAP, CoinEnums.READY_STATE.name(), WsMapBuild.parseBigDecimalSafe(CoinEnums.READY_STATE_YES.getCode()));
}
}
} catch (Exception e) {
@@ -115,5 +114,7 @@
WsMapBuild.saveBigDecimalToMap(POSITIONSWSMAP, "markPx", WsMapBuild.parseBigDecimalSafe(posData.getString("markPx")));
WsMapBuild.saveBigDecimalToMap(POSITIONSWSMAP, "bePx", WsMapBuild.parseBigDecimalSafe(posData.getString("bePx")));
WsMapBuild.saveBigDecimalToMap(POSITIONSWSMAP, "realizedPnl", WsMapBuild.parseBigDecimalSafe(posData.getString("realizedPnl")));
+
+ WsMapBuild.saveBigDecimalToMap(POSITIONSWSMAP, CoinEnums.READY_STATE.name(), WsMapBuild.parseBigDecimalSafe(CoinEnums.READY_STATE_YES.getCode()));
}
}
--
Gitblit v1.9.1