From 269e8765fabd893d47a1ce276304256650c8e99e Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 16 Dec 2025 18:08:03 +0800
Subject: [PATCH] fix(okxWs): 调整账户持仓为空时的处理逻辑
---
src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListQueue.java | 79 +++++++++++++++++++++++++++++++++++++++
1 files changed, 79 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListQueue.java b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListQueue.java
new file mode 100644
index 0000000..70ae5a0
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/okxNewPrice/okxWs/wanggeList/WangGeListQueue.java
@@ -0,0 +1,79 @@
+package com.xcong.excoin.modules.okxNewPrice.okxWs.wanggeList;
+
+import com.xcong.excoin.rabbit.pricequeue.AscBigDecimal;
+import com.xcong.excoin.rabbit.pricequeue.DescBigDecimal;
+
+import java.util.concurrent.PriorityBlockingQueue;
+
+/**
+ * 网格交易队列管理类
+ *
+ * 用于管理系统中各种网格交易相关的优先级阻塞队列,
+ * 包括完整的网格队列、平仓队列和开仓队列。
+ *
+ * @author Administrator
+ */
+public class WangGeListQueue {
+
+ //------------------------------------------------------------------------------------------------------------------
+ //------------------------------------------------------------------------------------------------------------------
+ // todo 系统启动后,初始化网格队列
+ /**
+ * 完整的网格 头元素最小
+ */
+ public static PriorityBlockingQueue<AscBigDecimal> QUEUE_ASC = null;
+
+
+ //------------------------------------------------------------------------------------------------------------------
+ //------------------------------------------------------------------------------------------------------------------
+ // todo 当用户下了第一单后,根据开仓价格初始化网格平仓队列和开仓队列
+ /**
+ * 网格平仓队列 头元素最小
+ */
+ public static PriorityBlockingQueue<AscBigDecimal> QUEUE_PINGCANG_ASC = null;
+
+ /**
+ * 网格开仓队列 头元素最大
+ */
+ public static PriorityBlockingQueue<DescBigDecimal> QUEUE_KAICANG_DESC = null;
+
+ /**
+ * 获取完整的网格队列(升序)
+ * 如果队列未初始化则创建新的优先级阻塞队列
+ *
+ * @return 返回升序排列的PriorityBlockingQueue队列,队列头部元素最小
+ */
+ public static PriorityBlockingQueue<AscBigDecimal> getQueueAsc() {
+ if (QUEUE_ASC == null) {
+ QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+ }
+ return QUEUE_ASC;
+ }
+
+ /**
+ * 获取网格平仓队列(升序)
+ * 如果队列未初始化则创建新的优先级阻塞队列
+ *
+ * @return 返回升序排列的PriorityBlockingQueue队列,队列头部元素最小
+ */
+ public static PriorityBlockingQueue<AscBigDecimal> getPingCang() {
+ if (QUEUE_PINGCANG_ASC == null) {
+ QUEUE_PINGCANG_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+ }
+ return QUEUE_PINGCANG_ASC;
+ }
+
+ /**
+ * 获取网格开仓队列(降序)
+ * 如果队列未初始化则创建新的优先级阻塞队列
+ *
+ * @return 返回降序排列的PriorityBlockingQueue队列,队列头部元素最大
+ */
+ public static PriorityBlockingQueue<DescBigDecimal> getKaiCang() {
+ if (QUEUE_KAICANG_DESC == null) {
+ QUEUE_KAICANG_DESC = new PriorityBlockingQueue<DescBigDecimal>();
+ }
+ return QUEUE_KAICANG_DESC;
+ }
+
+}
--
Gitblit v1.9.1