From b44fd22e5fbf51f5558062e8cc2f1ecb0fe732d2 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 29 Jun 2026 11:48:17 +0800
Subject: [PATCH] 止损追单逻辑(多仓/空仓对称): 触发 → 查询 → 计算 → 下单 清理:取消相邻网格旧挂单 + 取消最远止盈单 一句话总结:每次止损触发补回 quantity*2 张,但总持仓不超 maxPositionSize,也不再累加放大。

---
 src/main/java/com/xcong/excoin/modules/okxNewPrice/utils/WsMapBuild.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

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 6af44d2..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,21 +16,26 @@
 @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 类型
@@ -44,4 +49,17 @@
         }
         return new BigDecimal(value).setScale(Integer.parseInt(CoinEnums.TICKSZ.getCode()), RoundingMode.DOWN);
     }
+
+    /**
+     * 安全地将字符串解析为 BigDecimal 类型
+     *
+     * @param value 字符串数值
+     * @return 解析后的 BigDecimal 对象,若解析失败则返回 null
+     */
+    public static String parseStringSafe(String value) {
+        if (value == null || value.isEmpty()) {
+            return "0";
+        }
+        return value;
+    }
 }

--
Gitblit v1.9.1