From cd8ac9145c420fa25e113468360e37130fff0394 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 06 Jan 2026 16:00:49 +0800
Subject: [PATCH] feat(coin): 添加ASTER币种支持

---
 src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java          |   36 ++++++++++++++++++++++++++++++++++++
 src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java                         |   12 ++++++++++++
 src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java |    6 ++++--
 src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java                  |    1 +
 4 files changed, 53 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
index 75c74ee..e6c7b55 100644
--- a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
+++ b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
@@ -15,6 +15,7 @@
     ,SOL("SOL", "SOL/USDT")
     ,DOGE("DOGE", "DOGE/USDT")
     ,SUI("SUI", "SUI/USDT")
+    ,ASTER("ASTER", "ASTER/USDT")
 
 
     ,LTC("LTC", "LTC/USDT")
diff --git a/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java b/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java
index 75ab86a..2421c1c 100644
--- a/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java
+++ b/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java
@@ -66,12 +66,14 @@
 
     private static final String[] INST_IDS = {
             "BTC-USDT", "ETH-USDT", "XRP-USDT", "LTC-USDT", "BCH-USDT",
-            "ETC-USDT", "BNB-USDT", "SOL-USDT", "DOGE-USDT", "SUI-USDT"
+            "ETC-USDT", "BNB-USDT", "SOL-USDT", "DOGE-USDT", "SUI-USDT",
+            "ASTER-USDT"
     };
     //BTC-USDT-SWAP
     private static final String[] INST_IDS_INTEREST = {
             "BTC-USDT-SWAP", "ETH-USDT-SWAP", "XRP-USDT-SWAP", "LTC-USDT-SWAP", "BCH-USDT-SWAP",
-            "ETC-USDT-SWAP", "BNB-USDT-SWAP", "SOL-USDT-SWAP", "DOGE-USDT-SWAP", "SUI-USDT-SWAP"
+            "ETC-USDT-SWAP", "BNB-USDT-SWAP", "SOL-USDT-SWAP", "DOGE-USDT-SWAP", "SUI-USDT-SWAP",
+            "ASTER-USDT-SWAP"
     };
 
     /**
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 99e1221..e8b0e56 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
@@ -164,6 +164,20 @@
 
     private static Map<String, List<OrderModel>> SUI_MAP_ASC = null;
 
+    /**
+     * ETC 倒序队列 头元素最大 开多止盈 开空止损 开空爆仓 限价开空
+     */
+    private static PriorityBlockingQueue<DescBigDecimal> ASTER_QUEUE_DESC = null;
+
+    private static Map<String, List<OrderModel>> ASTER_MAP_DESC = null;
+
+    /**
+     * ETC 正序队列 头元素最小 开多止损 开空止盈 开多爆仓 限价开多
+     */
+    private static PriorityBlockingQueue<AscBigDecimal> ASTER_QUEUE_ASC = null;
+
+    private static Map<String, List<OrderModel>> ASTER_MAP_ASC = null;
+
 
     // 收到消息队列的方法 即收取到新的止盈止损等
     // 【1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空】
@@ -225,6 +239,11 @@
                         SUI_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
                     }
                     return SUI_QUEUE_ASC;
+            case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                    if (ASTER_QUEUE_ASC == null) {
+                        ASTER_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+                    }
+                    return ASTER_QUEUE_ASC;
             default:
                 break;
         }
@@ -289,6 +308,11 @@
                         SUI_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
                     }
                     return SUI_QUEUE_DESC;
+            case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                    if (ASTER_QUEUE_DESC == null) {
+                        ASTER_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
+                    }
+                    return ASTER_QUEUE_DESC;
             default:
                 break;
         }
@@ -435,6 +459,18 @@
                     }
                     return SUI_MAP_DESC;
                 }
+            case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+                if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) {
+                    if (ASTER_MAP_ASC == null) {
+                        ASTER_MAP_ASC = new ConcurrentHashMap<String,List<OrderModel>>();
+                    }
+                    return ASTER_MAP_ASC;
+                } else {
+                    if (ASTER_MAP_DESC == null) {
+                        ASTER_MAP_DESC = new ConcurrentHashMap<String,List<OrderModel>>();
+                    }
+                    return ASTER_MAP_DESC;
+                }
             default:
                 break;
         }
diff --git a/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
index 7b96711..00cc5c6 100644
--- a/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
+++ b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
@@ -28,6 +28,8 @@
                 return "DOGE/USDT";
             case "suiusdt":
                 return "SUI/USDT";
+            case "asterusdt":
+                return "ASTER/USDT";
             default:
                 return null;
         }
@@ -64,6 +66,8 @@
                 return "DOGE_NEW_PRICE";
             case "SUI/USDT":
                 return "SUI_NEW_PRICE";
+            case "ASTER/USDT":
+                return "ASTER_NEW_PRICE";
             default:
                 return null;
         }
@@ -91,6 +95,8 @@
                 return "DOGE-USDT";
             case "SUI/USDT":
                 return "SUI-USDT";
+            case "ASTER/USDT":
+                return "ASTER-USDT";
             default:
                 return null;
         }
@@ -118,6 +124,8 @@
                 return "DOGE-USDT-SWAP";
             case "SUI/USDT":
                 return "SUI-USDT-SWAP";
+            case "ASTER/USDT":
+                return "ASTER-USDT-SWAP";
             default:
                 return null;
         }
@@ -147,6 +155,8 @@
                 return "open:DOGE_NEW_PRICE";
             case "SUI/USDT":
                 return "open:SUI_NEW_PRICE";
+            case "ASTER/USDT":
+                return "open:ASTER_NEW_PRICE";
             default:
                 return null;
         }
@@ -176,6 +186,8 @@
                 return "volume:PRICE_DOGEUSDTSWAP";
             case "SUI/USDT":
                 return "volume:PRICE_SUIUSDTSWAP";
+            case "ASTER/USDT":
+                return "volume:PRICE_ASTERUSDTSWAP";
             default:
                 return null;
         }

--
Gitblit v1.9.1