From 56e585eb01d4ee22e81de71a3541cb615d8557fc Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Sat, 13 Dec 2025 16:32:22 +0800
Subject: [PATCH] feat(okxNewPrice): 增加持仓初始化订单的异常处理

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java |    8 ++++++--
 src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java        |    9 +++++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
index f79e94b..2f265d4 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java
@@ -114,8 +114,12 @@
         BigDecimal pos = PositionsWs.POSITIONSWSMAP.get("pos");
         if (BigDecimal.ZERO.compareTo( pos) >= 0) {
             log.error("持仓数量为零,进行初始化订单");
-            WsMapBuild.saveStringToMap(InstrumentsWs.INSTRUMENTSWSMAP, CoinEnums.STATE.name(), OrderParamEnums.STATE_4.getValue());
-            return OrderParamEnums.INIT.getValue();
+            boolean flag = WsMapBuild.saveStringToMap(InstrumentsWs.INSTRUMENTSWSMAP, CoinEnums.STATE.name(), OrderParamEnums.STATE_4.getValue());
+            if ( flag){
+                return OrderParamEnums.INIT.getValue();
+            }else{
+                return null;
+            }
         }
         // 判断是否保证金超标
         if (PositionsWs.POSITIONSWSMAP.get("imr") == null){
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java
index 50752e2..bb31a95 100644
--- a/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java
@@ -16,22 +16,27 @@
 @Slf4j
 public class WsMapBuild {
 
-    public static void saveBigDecimalToMap(Map<String,BigDecimal> accountMap, String key, BigDecimal value) {
+    public static boolean saveBigDecimalToMap(Map<String,BigDecimal> accountMap, String key, BigDecimal value) {
         try {
             accountMap.put(key, value);
+            return true;
         } catch (Exception e) {
             log.error("保存账户数据到MAP 失败", e);
+            return false;
         }
     }
 
-    public static void saveStringToMap(Map<String,String> accountMap, String key, String value) {
+    public static boolean saveStringToMap(Map<String,String> accountMap, String key, String value) {
         try {
             accountMap.put(key, value);
+            return true;
         } catch (Exception e) {
             log.error("保存账户数据到MAP 失败", e);
+            return false;
         }
     }
 
+
     /**
      * 安全地将字符串解析为 BigDecimal 类型
      *

--
Gitblit v1.9.1