From cc56a31660952dbf04d28a8c02bcb9e071a36a51 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 09 Dec 2025 22:29:49 +0800
Subject: [PATCH] fix(okxNewPrice): 优化持仓订单价格存储逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java | 32 +++++++++++++++++++++++++++++---
1 files changed, 29 insertions(+), 3 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 6a3d18a..7c97072 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
@@ -109,6 +109,7 @@
if (realizedPnlValue.compareTo(BigDecimal.ZERO) <= 0) {
if (uplValue.compareTo(realizedPnlValue) < 0) {
log.info("当前未实现盈亏:{}没有大于已实现收益>{},等待中", uplValue, realizedPnlValue);
+ redisUtils.set(positionsOrderPriceKey, String.valueOf(pingCang.getValue()), 0);
return OrderParamEnums.HOLDING.getValue();
}else if (uplValue.compareTo(realizedPnlValue) > 0 && uplValue.compareTo(imrValue) >= 0) {
log.info("当前未实现盈亏:{}大于预计收益>{},赚钱咯", uplValue, imrValue);
@@ -116,6 +117,7 @@
return OrderParamEnums.SELL.getValue();
}else{
log.info("当前未实现盈亏:{}没有大于预计收益>{},钱在路上了", uplValue, imrValue);
+ redisUtils.set(positionsOrderPriceKey, String.valueOf(pingCang.getValue()), 0);
return OrderParamEnums.HOLDING.getValue();
}
}else {
@@ -125,6 +127,7 @@
return OrderParamEnums.SELL.getValue();
}else{
log.info("当前未实现盈亏:{}没有大于预计收益>{},钱在路上了", uplValue, imrValue);
+ redisUtils.set(positionsOrderPriceKey, String.valueOf(pingCang.getValue()), 0);
return OrderParamEnums.HOLDING.getValue();
}
}
@@ -176,7 +179,18 @@
queueKaiCang.removeIf(item -> item.getValue().equals(priceDecimal));
}
// 打印开仓队列
- log.info("开仓队列: {}", queueKaiCang);
+ StringBuilder kaiCangStr = new StringBuilder();
+ kaiCangStr.append("开仓队列: [");
+ boolean first = true;
+ for (DescBigDecimal item : queueKaiCang) {
+ if (!first) {
+ kaiCangStr.append(", ");
+ }
+ kaiCangStr.append(item.getValue());
+ first = false;
+ }
+ kaiCangStr.append("]");
+ log.info(kaiCangStr.toString());
boolean pingCangExists = queuePingCang.stream().anyMatch(item -> item.getValue().equals(priceDecimal));
if (!pingCangExists) {
@@ -184,8 +198,20 @@
} else {
queuePingCang.removeIf(item -> item.getValue().equals(priceDecimal));
}
- // 打印平仓队列
- log.info("平仓队列: {}", queuePingCang);
+
+// 打印平仓队列
+ StringBuilder pingCangStr = new StringBuilder();
+ pingCangStr.append("平仓队列: [");
+ first = true;
+ for (AscBigDecimal item : queuePingCang) {
+ if (!first) {
+ pingCangStr.append(", ");
+ }
+ pingCangStr.append(item.getValue());
+ first = false;
+ }
+ pingCangStr.append("]");
+ log.info(pingCangStr.toString());
}
}
--
Gitblit v1.9.1