From 3b51e28456fc8c3ca03a27df70645b82c1a1530b Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Tue, 08 Sep 2020 18:00:30 +0800
Subject: [PATCH] modify

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

diff --git a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
index eec7531..bc850b9 100644
--- a/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
+++ b/src/main/java/com/xcong/excoin/configurations/RabbitMqConfig.java
@@ -21,11 +21,68 @@
 @Configuration
 public class RabbitMqConfig {
 
-    public static final String EXCHANGE_ONE = "excoin-exchange-one";
+    public static final String EXCHANGE_ONE = "biue-exchange-one";
 
     public static final String QUEUE_TEST = "test-queue";
 
     public static final String ROUTING_KEY_TEST = "test-routingKey";
+
+    public static final String EXCHANGE_A = "biue-exchange-A";
+
+
+    // 开多止盈队列
+    public static final String QUEUE_MOREPRO = "QUEUE_MOREPRO_NEW";
+    // 开空止盈队列
+    public static final String QUEUE_LESSPRO = "QUEUE_LESSPRO_NEW";
+    // 开多止损队列
+    public static final String QUEUE_MORELOSS = "QUEUE_MORELOSS_NEW";
+    // 开空止损队列
+    public static final String QUEUE_LESSLOSS = "QUEUE_LESSLOSS_NEW";
+
+    // 限价委托
+    public static final String QUEUE_LIMIT = "QUEUE_LIMIT_NEW";
+
+    // 委托平仓
+    public static final String QUEUE_LIMIT_CLOSE = "QUEUE_LIMIT_CLOSE_NEW";
+
+    // 爆仓队列
+    public static final String QUEUE_COINOUT = "QUEUE_COINOUT_NEW";
+
+    //价格操作
+    public static final String QUEUE_PRICEOPERATE = "QUEUE_PRICEOPERATE_NEW";
+
+    // 平仓队列
+    public static final String QUEUE_CLOSETRADE = "QUEUE_CLOSETRADE_NEW";
+
+    // 全仓爆仓
+    public static final String QUEUE_WHOLE_BOMB = "QUEUE_WHOLE_BOMB_NEW";
+
+
+    // 开多止盈路由键
+    public static final String ROUTINGKEY_MOREPRO = "ROUTINGKEY_MOREPRO";
+    // 开空止盈路由
+    public static final String ROUTINGKEY_LESSPRO = "ROUTINGKEY_LESSPRO";
+    // 开多止损路由
+    public static final String ROUTINGKEY_MORELOSS = "ROUTINGKEY_MORELOSS";
+    // 开空止损路由
+    public static final String ROUTINGKEY_LESSLOSS = "ROUTINGKEY_LESSLOSS";
+    // 限价委托
+    public static final String ROUTINGKEY_LIMIT = "ROUTINGKEY_LIMIT";
+
+    // 爆仓路由
+    public static final String ROUTINGKEY_COINOUT = "ROUTINGKEY_COINOUT";
+
+
+    // 价格操作
+    public static final String ROUTINGKEY_PRICEOPERATE = "ROUTINGKEY_PRICEOPERATE";
+    // 平仓路由
+    public static final String ROUTINGKEY_CLOSETRADE = "ROUTINGKEY_CLOSETRADE";
+
+    // 委托平仓
+    public static final String ROUTINGKEY_LIMIT_CLOSE = "ROUTINGKEY_LIMIT_CLOSE";
+
+    // 全仓爆仓
+    public static final String ROUTINGKEY_WHOLE_BOMB = "ROUTINGKEY_WHOLE_BOMB";
 
     @Resource
     private ConnectionFactory connectionFactory;
@@ -60,4 +117,222 @@
         return BindingBuilder.bind(testQueue()).to(defaultExchange()).with(ROUTING_KEY_TEST);
     }
 
+
+    /**
+     * 交换器A 可以继续添加交换器B C
+     *
+     * @return
+     */
+    @Bean
+    public DirectExchange orderExchange() {
+        return new DirectExchange(EXCHANGE_A);
+    }
+
+
+    /**
+     * 开多止盈队列
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueMorePro() {
+        // 定义一个名称为QUEUE_A,持久化的队列
+        return new Queue(QUEUE_MOREPRO, true);
+    }
+
+    /**
+     * 开空止盈队列
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueLessPro() {
+        // 定义一个名称为QUEUE_A,持久化的队列
+        return new Queue(QUEUE_LESSPRO, true);
+    }
+
+    /**
+     * 开多止损
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueMoreLoss() {
+        // 定义一个名称为QUEUE_A,持久化的队列
+        return new Queue(QUEUE_MORELOSS, true);
+    }
+
+    /**
+     * 开空止损
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueLessLoss() {
+        // 定义一个名称为QUEUE_A,持久化的队列
+        return new Queue(QUEUE_LESSLOSS, true);
+    }
+
+    /**
+     * 限价委托
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueLimit() {
+        return new Queue(QUEUE_LIMIT, true);
+    }
+
+    /**
+     * 委托平仓
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueLimitClose() {
+        return new Queue(QUEUE_LIMIT_CLOSE, true);
+    }
+
+
+    /**
+     * 爆仓
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueCoinout() {
+        return new Queue(QUEUE_COINOUT, true);
+    }
+
+    /**
+     * 价格操作
+     *
+     * @return
+     */
+    @Bean
+    public Queue queuePriceoperate() {
+        return new Queue(QUEUE_PRICEOPERATE, true);
+    }
+
+    /**
+     * 价格操作
+     *
+     * @return
+     */
+    @Bean
+    public Queue queueCloseTrade() {
+        return new Queue(QUEUE_CLOSETRADE, true);
+    }
+
+    /**
+     * 全仓爆仓
+     * @return
+     */
+    @Bean
+    public Queue queueWholeBomb() {
+        return new Queue(QUEUE_WHOLE_BOMB, true);
+    }
+
+    /**
+     * 开多止盈
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingMroPro() {
+        return BindingBuilder.bind(queueMorePro()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_MOREPRO);
+    }
+
+    /**
+     * 开空止盈
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingLessPro() {
+        return BindingBuilder.bind(queueLessPro()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_LESSPRO);
+    }
+
+    /**
+     * 开多止损
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingMroLoss() {
+        return BindingBuilder.bind(queueMoreLoss()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_MORELOSS);
+    }
+
+    /**
+     * 开空止损
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingLessLoss() {
+        return BindingBuilder.bind(queueLessLoss()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_LESSLOSS);
+    }
+
+
+    /**
+     * 委托
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingLimit() {
+        return BindingBuilder.bind(queueLimit()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_LIMIT);
+    }
+
+    /**
+     * 委托平仓
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingLimitClose() {
+        return BindingBuilder.bind(queueLimitClose()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_LIMIT_CLOSE);
+    }
+
+    /**
+     * 爆仓
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingCoinout() {
+        return BindingBuilder.bind(queueCoinout()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_COINOUT);
+    }
+
+
+    /**
+     * 价格操作
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingPriceoperate() {
+        return BindingBuilder.bind(queuePriceoperate()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_PRICEOPERATE);
+    }
+
+    /**
+     * 平仓绑定
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingCloseTrade() {
+        return BindingBuilder.bind(queueCloseTrade()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_CLOSETRADE);
+    }
+
+    /**
+     * 全仓爆仓绑定
+     *
+     * @return
+     */
+    @Bean
+    public Binding bindingWholeBomb() {
+        return BindingBuilder.bind(queueWholeBomb()).to(orderExchange()).with(RabbitMqConfig.ROUTINGKEY_WHOLE_BOMB);
+    }
+
 }

--
Gitblit v1.9.1