Browse Source

添加配置类

yq 3 năm trước cách đây
mục cha
commit
64ffac716b

+ 8 - 0
src/main/java/com/usky/dxtop/service/config/RabbitmqConfig.java

@@ -31,6 +31,14 @@ public class RabbitmqConfig {
     public static final String CHARGE = "charge_trans_produce";
     public static final String DISH = "dish_trade_produce";
 
+    public final static String CONNECTION = "ConnectionFactory";
+    public final static String TEMPLATE = "RabbitTemplate";
+    public final static String LISTENER = "ListenerFactory";
+    public final static String ADMIN = "Admin";
+    public final static String EXCHANGE = "Exchange";
+    public final static String QUEUE = "Queue";
+    public final static String BINDING = "Bin";
+
     @Autowired
     private RabbitProperties rabbitProperties;
 

+ 75 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardLossConfig.java

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:42
+ */
+@Configuration
+@Data
+public class CardLossConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_loss_consume";
+    private final static String MODULE_NAME = "cardLoss";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 75 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardReissueConfig.java

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:43
+ */
+@Configuration
+@Data
+public class CardReissueConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_reissue_consumer";
+    private final static String MODULE_NAME = "cardReissue";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 75 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardReturnConfig.java

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:39
+ */
+@Configuration
+@Data
+public class CardReturnConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_return_consume";
+    private final static String MODULE_NAME = "cardReturn";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+ RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 75 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardSubsidy.java

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:41
+ */
+@Configuration
+@Data
+public class CardSubsidy {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_subsidy_consume";
+    private final static String MODULE_NAME = "cardSubsidy";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 76 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/ChargeConfig.java

@@ -0,0 +1,76 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 9:32
+ */
+@Configuration
+@Data
+public class ChargeConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "charge_trans_produce";
+    private final static String MODULE_NAME = "charge";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+
+}

+ 75 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/DishConfig.java

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 9:32
+ */
+@Configuration
+@Data
+public class DishConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "dish_trans_produce";
+    private final static String MODULE_NAME = "dish";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 74 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/FaceConfig.java

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:37
+ */
+@Configuration
+@Data
+public class FaceConfig {
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "profile_face_consume";
+    private final static String MODULE_NAME = "face";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 74 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/GroupConfig.java

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:38
+ */
+@Configuration
+@Data
+public class GroupConfig {
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "group_consume";
+    private final static String MODULE_NAME = "group";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}

+ 74 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/ProfileConfig.java

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import com.usky.dxtop.service.config.RabbitmqConfig;
+import lombok.Data;
+import org.springframework.amqp.core.*;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitAdmin;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/15 10:36
+ */
+@Configuration
+@Data
+public class ProfileConfig {
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "profile_consume";
+    private final static String MODULE_NAME = "profile";
+
+    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    private final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    private final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    private final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    private final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    private final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    Binding bindingPersonDirect(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        Binding binding = BindingBuilder.bind(queue(amqpAdmin)).to(exchange(amqpAdmin)).with(NAME);
+        binding.setAdminsThatShouldDeclare(amqpAdmin);
+        return binding;
+    }
+}