From b1e077208dd87aa8f7f92b7b13136427865a2da1 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 06 Jan 2026 15:44:45 +0800
Subject: [PATCH] feat(coin): 添加SOL/USDT交易对支持

---
 src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java |   72 ++++++++++++++++++++++++++++++++++++
 1 files changed, 72 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java b/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
index 0555498..d07e8af 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
@@ -108,6 +108,34 @@
 
     private static Map<String, List<OrderModel>> ETC_MAP_DESC = null;
 
+    /**
+     * ETC 倒序队列 头元素最大 开多止盈 开空止损 开空爆仓 限价开空
+     */
+    private static PriorityBlockingQueue<DescBigDecimal> BNB_QUEUE_DESC = null;
+
+    private static Map<String, List<OrderModel>> BNB_MAP_DESC = null;
+
+    /**
+     * ETC 正序队列 头元素最小 开多止损 开空止盈 开多爆仓 限价开多
+     */
+    private static PriorityBlockingQueue<AscBigDecimal> BNB_QUEUE_ASC = null;
+
+    private static Map<String, List<OrderModel>> BNB_MAP_ASC = null;
+
+    /**
+     * ETC 倒序队列 头元素最大 开多止盈 开空止损 开空爆仓 限价开空
+     */
+    private static PriorityBlockingQueue<DescBigDecimal> SOL_QUEUE_DESC = null;
+
+    private static Map<String, List<OrderModel>> SOL_MAP_DESC = null;
+
+    /**
+     * ETC 正序队列 头元素最小 开多止损 开空止盈 开多爆仓 限价开多
+     */
+    private static PriorityBlockingQueue<AscBigDecimal> SOL_QUEUE_ASC = null;
+
+    private static Map<String, List<OrderModel>> SOL_MAP_ASC = null;
+
 
     // 收到消息队列的方法 即收取到新的止盈止损等
     // 【1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空】
@@ -149,6 +177,16 @@
                         ETC_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
                     }
                     return ETC_QUEUE_ASC;
+            case "BNB/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                    if (BNB_QUEUE_ASC == null) {
+                        BNB_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+                    }
+                    return BNB_QUEUE_ASC;
+            case "SOL/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                    if (SOL_QUEUE_ASC == null) {
+                        SOL_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+                    }
+                    return SOL_QUEUE_ASC;
             default:
                 break;
         }
@@ -193,6 +231,16 @@
                         ETC_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
                     }
                     return ETC_QUEUE_DESC;
+            case "BNB/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                    if (BNB_QUEUE_DESC == null) {
+                        BNB_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
+                    }
+                    return BNB_QUEUE_DESC;
+            case "SOL/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                    if (SOL_QUEUE_DESC == null) {
+                        SOL_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
+                    }
+                    return SOL_QUEUE_DESC;
             default:
                 break;
         }
@@ -291,6 +339,30 @@
                     }
                     return ETC_MAP_DESC;
                 }
+            case "BNB/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) {
+                    if (BNB_MAP_ASC == null) {
+                        BNB_MAP_ASC = new ConcurrentHashMap<String,List<OrderModel>>();
+                    }
+                    return BNB_MAP_ASC;
+                } else {
+                    if (BNB_MAP_DESC == null) {
+                        BNB_MAP_DESC = new ConcurrentHashMap<String,List<OrderModel>>();
+                    }
+                    return BNB_MAP_DESC;
+                }
+            case "SOL/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) {
+                    if (SOL_MAP_ASC == null) {
+                        SOL_MAP_ASC = new ConcurrentHashMap<String,List<OrderModel>>();
+                    }
+                    return SOL_MAP_ASC;
+                } else {
+                    if (SOL_MAP_DESC == null) {
+                        SOL_MAP_DESC = new ConcurrentHashMap<String,List<OrderModel>>();
+                    }
+                    return SOL_MAP_DESC;
+                }
             default:
                 break;
         }

--
Gitblit v1.9.1