From dfd766139d37b0bd038288952cb24df76f4289f9 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Thu, 11 Dec 2025 17:38:56 +0800
Subject: [PATCH] feat(redis): 添加带延迟的Redis读取方法以提高数据一致性

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/AccountWs.java |   18 ++++++------------
 1 files changed, 6 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 f3de1bb..6d32560 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
@@ -73,7 +73,9 @@
     public static void handleEvent(JSONObject response, RedisUtils redisUtils) {
 
 
-        log.info("开始执行AccountWs......");
+        String state = (String) redisUtils.get(InstrumentsWs.INSTRUMENTSWS_CHANNEL + ":" + CoinEnums.HE_YUE.getCode() + ":state");
+
+        log.info("开始执行AccountWs......{}",state);
         try {
             JSONArray dataArray = response.getJSONArray(DATA_KEY);
             if (dataArray == null || dataArray.isEmpty()) {
@@ -94,11 +96,6 @@
                         JSONObject detail = detailsArray.getJSONObject(j);
 
                         String ccy = detail.getString(CCY_KEY);
-                        if (!CoinEnums.USDT.getCode().equals(ccy)) {
-                            log.warn("账户频道币种不匹配,跳过处理");
-                            continue;
-                        }
-
                         String availBalStr = detail.getString(AVAIL_BAL_KEY);
                         String cashBalStr = detail.getString(CASH_BAL_KEY);
                         String eq = detail.getString(EQ_KEY);
@@ -118,13 +115,10 @@
 
                         // 可用余额 / 现金余额 比例判断是否允许开仓
                         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) && OrderParamEnums.OUT_YES.getValue().equals(out)){
+                        }else if(OrderParamEnums.STATE_3.getValue().equals(state)){
                             log.info(OrderParamEnums.STATE_3.getName());
                             state = OrderParamEnums.STATE_3.getValue();
                         }else{
@@ -135,8 +129,8 @@
                                 log.warn(OrderParamEnums.STATE_2.getName());
                                 state = OrderParamEnums.STATE_2.getValue();
                             } else {
-                                log.error(OrderParamEnums.STATE_0.getName());
-                                state = OrderParamEnums.STATE_0.getValue();
+                                log.error(OrderParamEnums.STATE_3.getName());
+                                state = OrderParamEnums.STATE_3.getValue();
                             }
                         }
 

--
Gitblit v1.9.1