4 files modified
256 ■■■■■ changed files
src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java 8 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java 180 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java 60 ●●●●● patch | view | raw | blame | history
src/main/java/com/xcong/excoin/common/enumerates/SymbolEnum.java
@@ -10,6 +10,14 @@
    BTC("BTC", "BTC/USDT")
    ,ETH("ETH", "ETH/USDT")
    ,BNB("BNB", "BNB/USDT")
    ,SOL("SOL", "SOL/USDT")
    ,DOGE("DOGE", "DOGE/USDT")
    ,SUI("SUI", "SUI/USDT")
    ,ASTER("ASTER", "ASTER/USDT")
    ,LTC("LTC", "LTC/USDT")
    ,BCH("BCH", "BCH/USDT")
    ,XRP("XRP", "XRP/USDT")
src/main/java/com/xcong/excoin/modules/newPrice/OkxNewPriceWebSocketClientV2.java
@@ -65,11 +65,15 @@
    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"
            "BTC-USDT", "ETH-USDT", "XRP-USDT", "LTC-USDT", "BCH-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"
            "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",
            "ASTER-USDT-SWAP"
    };
    /**
src/main/java/com/xcong/excoin/rabbit/pricequeue/PricePriorityQueue.java
@@ -108,6 +108,76 @@
    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;
    /**
     * 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;
    /**
     * 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:止损平空】
@@ -149,6 +219,31 @@
                        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;
            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;
            case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
                    if (ASTER_QUEUE_ASC == null) {
                        ASTER_QUEUE_ASC = new PriorityBlockingQueue<AscBigDecimal>();
                    }
                    return ASTER_QUEUE_ASC;
            default:
                break;
        }
@@ -193,6 +288,31 @@
                        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;
            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;
            case "ASTER/USDT": // 开多止损 开空止盈 开多爆仓 限价开多
                    if (ASTER_QUEUE_DESC == null) {
                        ASTER_QUEUE_DESC = new PriorityBlockingQueue<DescBigDecimal>();
                    }
                    return ASTER_QUEUE_DESC;
            default:
                break;
        }
@@ -291,6 +411,66 @@
                    }
                    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;
                }
            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;
                }
            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;
        }
src/main/java/com/xcong/excoin/utils/CoinTypeConvert.java
@@ -20,6 +20,16 @@
                return "BCH/USDT";
            case "etcusdt":
                return "ETC/USDT";
            case "bnbusdt":
                return "BNB/USDT";
            case "solusdt":
                return "SOL/USDT";
            case "dogeusdt":
                return "DOGE/USDT";
            case "suiusdt":
                return "SUI/USDT";
            case "asterusdt":
                return "ASTER/USDT";
            default:
                return null;
        }
@@ -48,6 +58,16 @@
                return "BCH_NEW_PRICE";
            case "ETC/USDT":
                return "ETC_NEW_PRICE";
            case "BNB/USDT":
                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";
            case "ASTER/USDT":
                return "ASTER_NEW_PRICE";
            default:
                return null;
        }
@@ -67,6 +87,16 @@
                return "BCH-USDT";
            case "ETC/USDT":
                return "ETC-USDT";
            case "BNB/USDT":
                return "BNB-USDT";
            case "SOL/USDT":
                return "SOL-USDT";
            case "DOGE/USDT":
                return "DOGE-USDT";
            case "SUI/USDT":
                return "SUI-USDT";
            case "ASTER/USDT":
                return "ASTER-USDT";
            default:
                return null;
        }
@@ -86,6 +116,16 @@
                return "BCH-USDT-SWAP";
            case "ETC/USDT":
                return "ETC-USDT-SWAP";
            case "BNB/USDT":
                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";
            case "ASTER/USDT":
                return "ASTER-USDT-SWAP";
            default:
                return null;
        }
@@ -107,6 +147,16 @@
                return "open:BCH_NEW_PRICE";
            case "ETC/USDT":
                return "open:ETC_NEW_PRICE";
            case "BNB/USDT":
                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";
            case "ASTER/USDT":
                return "open:ASTER_NEW_PRICE";
            default:
                return null;
        }
@@ -128,6 +178,16 @@
                return "volume:PRICE_BCHUSDTSWAP";
            case "ETC/USDT":
                return "volume:PRICE_ETCUSDTSWAP";
            case "BNB/USDT":
                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";
            case "ASTER/USDT":
                return "volume:PRICE_ASTERUSDTSWAP";
            default:
                return null;
        }