From ecd23251055d9e51425329cc8094bb58906e01b7 Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Tue, 06 Jan 2026 15:56:42 +0800
Subject: [PATCH] feat(coin): 添加DOGE和SUI币种支持
---
src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java | 72 ++++++++++++++++++++++++++++++++++++
src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java | 24 ++++++++++++
src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java | 6 ++-
src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java | 2 +
4 files changed, 102 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 1f0c09b..75c74ee 100644
--- a/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
+++ b/src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
@@ -13,6 +13,8 @@
,BNB("BNB", "BNB/USDT")
,SOL("SOL", "SOL/USDT")
+ ,DOGE("DOGE", "DOGE/USDT")
+ ,SUI("SUI", "SUI/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 2057ab5..75ab86a 100644
--- a/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java
+++ b/src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java
@@ -65,11 +65,13 @@
private static final String CHANNEL_OPEN_INTEREST = "open-interest";
private static final String[] INST_IDS = {
- "BTC-USDT", "ETH-USDT", "XRP-USDT", "LTC-USDT", "BCH-USDT", "ETC-USDT", "BNB-USDT", "SOL-USDT"
+ "BTC-USDT", "ETH-USDT", "XRP-USDT", "LTC-USDT", "BCH-USDT",
+ "ETC-USDT", "BNB-USDT", "SOL-USDT", "DOGE-USDT", "SUI-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"
+ "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"
};
/**
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 d07e8af..99e1221 100644
--- a/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
+++ b/src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
@@ -136,6 +136,34 @@
private static Map<String, List<OrderModel>> SOL_MAP_ASC = null;
+ /**
+ * ETC 倒序队列 头元素最大 开多止盈 开空止损 开空爆仓 限价开空
+ */
+ private static PriorityBlockingQueue<DescBigDecimal> DOGE_QUEUE_DESC = null;
+
+ private static Map<String, List<OrderModel>> DOGE_MAP_DESC = null;
+
+ /**
+ * ETC 正序队列 头元素最小 开多止损 开空止盈 开多爆仓 限价开多
+ */
+ private static PriorityBlockingQueue<AscBigDecimal> DOGE_QUEUE_ASC = null;
+
+ private static Map<String, List<OrderModel>> DOGE_MAP_ASC = null;
+
+ /**
+ * ETC 倒序队列 头元素最大 开多止盈 开空止损 开空爆仓 限价开空
+ */
+ private static PriorityBlockingQueue<DescBigDecimal> SUI_QUEUE_DESC = null;
+
+ private static Map<String, List<OrderModel>> SUI_MAP_DESC = null;
+
+ /**
+ * ETC 正序队列 头元素最小 开多止损 开空止盈 开多爆仓 限价开多
+ */
+ private static PriorityBlockingQueue<AscBigDecimal> SUI_QUEUE_ASC = null;
+
+ private static Map<String, List<OrderModel>> SUI_MAP_ASC = null;
+
// 收到消息队列的方法 即收取到新的止盈止损等
// 【1:买入委托2:开多3:开空4:平多5:平空6:爆仓平多7:爆仓平空8:撤单9:止盈平多10:止盈平空11:止损平多12:止损平空】
@@ -187,6 +215,16 @@
SOL_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
}
return SOL_QUEUE_ASC;
+ case "DOGE/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+ if (DOGE_QUEUE_ASC == null) {
+ DOGE_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+ }
+ return DOGE_QUEUE_ASC;
+ case "SUI/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+ if (SUI_QUEUE_ASC == null) {
+ SUI_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
+ }
+ return SUI_QUEUE_ASC;
default:
break;
}
@@ -241,6 +279,16 @@
SOL_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
}
return SOL_QUEUE_DESC;
+ case "DOGE/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+ if (DOGE_QUEUE_DESC == null) {
+ DOGE_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
+ }
+ return DOGE_QUEUE_DESC;
+ case "SUI/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+ if (SUI_QUEUE_DESC == null) {
+ SUI_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
+ }
+ return SUI_QUEUE_DESC;
default:
break;
}
@@ -363,6 +411,30 @@
}
return SOL_MAP_DESC;
}
+ case "DOGE/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+ if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) {
+ if (DOGE_MAP_ASC == null) {
+ DOGE_MAP_ASC = new ConcurrentHashMap<String,List<OrderModel>>();
+ }
+ return DOGE_MAP_ASC;
+ } else {
+ if (DOGE_MAP_DESC == null) {
+ DOGE_MAP_DESC = new ConcurrentHashMap<String,List<OrderModel>>();
+ }
+ return DOGE_MAP_DESC;
+ }
+ case "SUI/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
+ if (type == 12 || type == 9 || type == 7 || type == 3 || type == 4) {
+ if (SUI_MAP_ASC == null) {
+ SUI_MAP_ASC = new ConcurrentHashMap<String,List<OrderModel>>();
+ }
+ return SUI_MAP_ASC;
+ } else {
+ if (SUI_MAP_DESC == null) {
+ SUI_MAP_DESC = new ConcurrentHashMap<String,List<OrderModel>>();
+ }
+ return SUI_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 d085204..7b96711 100644
--- a/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
+++ b/src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
@@ -24,6 +24,10 @@
return "BNB/USDT";
case "solusdt":
return "SOL/USDT";
+ case "dogeusdt":
+ return "DOGE/USDT";
+ case "suiusdt":
+ return "SUI/USDT";
default:
return null;
}
@@ -56,6 +60,10 @@
return "BNB_NEW_PRICE";
case "SOL/USDT":
return "SOL_NEW_PRICE";
+ case "DOGE/USDT":
+ return "DOGE_NEW_PRICE";
+ case "SUI/USDT":
+ return "SUI_NEW_PRICE";
default:
return null;
}
@@ -79,6 +87,10 @@
return "BNB-USDT";
case "SOL/USDT":
return "SOL-USDT";
+ case "DOGE/USDT":
+ return "DOGE-USDT";
+ case "SUI/USDT":
+ return "SUI-USDT";
default:
return null;
}
@@ -102,6 +114,10 @@
return "BNB-USDT-SWAP";
case "SOL/USDT":
return "SOL-USDT-SWAP";
+ case "DOGE/USDT":
+ return "DOGE-USDT-SWAP";
+ case "SUI/USDT":
+ return "SUI-USDT-SWAP";
default:
return null;
}
@@ -127,6 +143,10 @@
return "open:BNB_NEW_PRICE";
case "SOL/USDT":
return "open:SOL_NEW_PRICE";
+ case "DOGE/USDT":
+ return "open:DOGE_NEW_PRICE";
+ case "SUI/USDT":
+ return "open:SUI_NEW_PRICE";
default:
return null;
}
@@ -152,6 +172,10 @@
return "volume:PRICE_BNBUSDTSWAP";
case "SOL/USDT":
return "volume:PRICE_SOLUSDTSWAP";
+ case "DOGE/USDT":
+ return "volume:PRICE_DOGEUSDTSWAP";
+ case "SUI/USDT":
+ return "volume:PRICE_SUIUSDTSWAP";
default:
return null;
}
--
Gitblit v1.9.1