From 9c90a513b7f7c4ffbee10a363009df63bf67239f Mon Sep 17 00:00:00 2001
From: Administrator <15274802129@163.com>
Date: Mon, 24 Aug 2026 14:16:04 +0800
Subject: [PATCH] fix(gate): 修复心跳调度器中服务器端口获取问题

---
 src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java |   39 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 39 insertions(+), 0 deletions(-)

diff --git a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
index 0a791bf..0c12c52 100644
--- a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
+++ b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
@@ -72,6 +72,18 @@
     // 平仓路由
     public static final String ROUTINGKEY_CLOSETRADE = "ROUTINGKEY_CLOSETRADE";
 
+    // ==================== Gate 策略管理 ====================
+    /** Gate 管理交换机 */
+    public static final String EXCHANGE_GATE = "biue-exchange-gate";
+    /** 心跳+事件+确认 队列(Station 独占消费) */
+    public static final String QUEUE_GATE_HEARTBEAT = "QUEUE_GATE_HEARTBEAT";
+    /** 心跳+事件+确认 路由键 */
+    public static final String ROUTINGKEY_GATE_HEARTBEAT = "ROUTINGKEY_GATE_HEARTBEAT";
+    /** 策略事件队列(Station 消费落库) */
+    public static final String QUEUE_GATE_STATS = "QUEUE_GATE_STATS";
+    /** 策略事件路由键 */
+    public static final String ROUTINGKEY_GATE_STATS = "ROUTINGKEY_GATE_STATS";
+
     @Resource
     private ConnectionFactory connectionFactory;
 
@@ -286,4 +298,31 @@
         return BindingBuilder.bind(queueCloseTrade()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_CLOSETRADE);
     }
 
+    // ==================== Gate 管理队列 ====================
+
+    @Bean
+    public DirectExchange gateExchange() {
+        return new DirectExchange(EXCHANGE_GATE);
+    }
+
+    @Bean
+    public Queue gateHeartbeatQueue() {
+        return new Queue(QUEUE_GATE_HEARTBEAT, true);
+    }
+
+    @Bean
+    public Binding bindingGateHeartbeat() {
+        return BindingBuilder.bind(gateHeartbeatQueue()).to(gateExchange()).with(ROUTINGKEY_GATE_HEARTBEAT);
+    }
+
+    @Bean
+    public Queue gateStatsQueue() {
+        return new Queue(QUEUE_GATE_STATS, true);
+    }
+
+    @Bean
+    public Binding bindingGateStats() {
+        return BindingBuilder.bind(gateStatsQueue()).to(gateExchange()).with(ROUTINGKEY_GATE_STATS);
+    }
+
 }

--
Gitblit v1.9.1