From 01d04ce9e26f29dcd03b7d6acb29dcd0c9f52334 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 09 Dec 2025 17:53:40 +0800
Subject: [PATCH] fix(okxNewPrice): 修复强制平仓逻辑判断条件

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java |   22 ++++++++++++----------
 1 files changed, 12 insertions(+), 10 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 6ac52a9..22e46bc 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
@@ -110,16 +110,18 @@
                         // 可用余额 / 现金余额 比例判断是否允许开仓
                         BigDecimal divide = availBal.divide(cashBal, 4, RoundingMode.DOWN);
 
-                        String state;
-                        if (divide.compareTo(KANG_CANG_THRESHOLD) > 0) {
-                            log.info(OrderParamEnums.STATE_1.getName());
-                            state = OrderParamEnums.STATE_1.getValue();
-                        } else if (divide.compareTo(ZHI_SUN_THRESHOLD) > 0) {
-                            log.warn(OrderParamEnums.STATE_2.getName());
-                            state = OrderParamEnums.STATE_2.getValue();
-                        } else {
-                            log.error(OrderParamEnums.STATE_3.getName());
-                            state = OrderParamEnums.STATE_3.getValue();
+                        String state = (String) redisUtils.get(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state");
+                        if (!OrderParamEnums.STATE_3.getValue().equals(state)){
+                            if (divide.compareTo(KANG_CANG_THRESHOLD) > 0) {
+                                log.info(OrderParamEnums.STATE_1.getName());
+                                state = OrderParamEnums.STATE_1.getValue();
+                            } else if (divide.compareTo(ZHI_SUN_THRESHOLD) > 0) {
+                                log.warn(OrderParamEnums.STATE_2.getName());
+                                state = OrderParamEnums.STATE_2.getValue();
+                            } else {
+                                log.error(OrderParamEnums.STATE_3.getName());
+                                state = OrderParamEnums.STATE_3.getValue();
+                            }
                         }
 
                         // 根据可用余额计算下单总保证金与每次下单金额

--
Gitblit v1.9.1