From b3b17bab7b91d5a202df141975275642bc305614 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Wed, 10 Dec 2025 14:45:55 +0800
Subject: [PATCH] fix(okxNewPrice): 修正队列价格比较逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/celue/CaoZuoServiceImpl.java | 10 +++++-----
1 files changed, 5 insertions(+), 5 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 ea2f2bb..3f18154 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
@@ -82,7 +82,7 @@
}
String pos = (String) redisUtils.get(positionsPosKey);
- if (StrUtil.isBlank(pos) || BigDecimal.ZERO.compareTo( new BigDecimal(pos)) <= 0) {
+ if (StrUtil.isBlank(pos) || BigDecimal.ZERO.compareTo( new BigDecimal(pos)) >= 0) {
log.error("未获取到持仓数量");
return OrderParamEnums.INIT.getValue();
}
@@ -247,8 +247,8 @@
log.warn("无效的价格格式: {}", orderPrice);
return;
}
- // 删除比该价格大的数据(由于是降序队列,所以是删除value.compareTo(priceDecimal) < 0的元素)
- queueKaiCang.removeIf(item -> item.getValue().compareTo(priceDecimal) <= 0);
+ // 删除比该价格大的数据
+ queueKaiCang.removeIf(item -> item.getValue().compareTo(priceDecimal) >= 0);
// 打印开仓队列
StringBuilder kaiCangStr = new StringBuilder();
kaiCangStr.append("开仓队列: [");
@@ -263,8 +263,8 @@
kaiCangStr.append("]");
log.info(kaiCangStr.toString());
- // 删除比该价格小的数据(由于是升序队列,所以是删除value.compareTo(priceDecimal) > 0的元素)
- queuePingCang.removeIf(item -> item.getValue().compareTo(priceDecimal) >= 0);
+ // 删除比该价格小的数据
+ queuePingCang.removeIf(item -> item.getValue().compareTo(priceDecimal) <= 0);
// 打印平仓队列
StringBuilder pingCangStr = new StringBuilder();
--
Gitblit v1.9.1