From bede2aecbc1f3ce5d607081eec64d4cb2ab31b03 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 10 Dec 2025 16:29:44 +0800
Subject: [PATCH] feat(okxWs): 添加账户和持仓WebSocket更新间隔配置

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java |   29 +++++++++++++++++------------
 1 files changed, 17 insertions(+), 12 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 478dd01..bec2d87 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
@@ -53,6 +53,9 @@
             JSONObject args = new JSONObject();
             args.put("channel", ACCOUNTWS_CHANNEL);
             args.put(CCY_KEY, CoinEnums.USDT.getCode());
+            JSONObject updateInterval = new JSONObject();
+            updateInterval.put("updateInterval",CoinEnums.UPDATEINTERVAL.getCode());
+            args.put("extraParams", updateInterval);
             argsArray.add(args);
 
             String connId = MallUtils.getOrderNum(ACCOUNTWS_CHANNEL);
@@ -115,21 +118,23 @@
                         BigDecimal divide = availBal.divide(cashBal, 4, RoundingMode.DOWN);
 
                         String state = (String) redisUtils.get(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state");
+                        String out = (String) redisUtils.get(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":out");
                         if (OrderParamEnums.STATE_4.getValue().equals(state)){
                             log.info(OrderParamEnums.STATE_4.getName());
                             state = OrderParamEnums.STATE_4.getValue();
-                        }else {
-                            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();
-                                }
+                        }else if(OrderParamEnums.STATE_3.getValue().equals(state) && OrderParamEnums.OUT_YES.getValue().equals(out)){
+                            log.info(OrderParamEnums.STATE_3.getName());
+                            state = OrderParamEnums.STATE_3.getValue();
+                        }else{
+                            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_0.getName());
+                                state = OrderParamEnums.STATE_0.getValue();
                             }
                         }
 

--
Gitblit v1.9.1