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