yq 3 rokov pred
rodič
commit
d58405d6e1
38 zmenil súbory, kde vykonal 1347 pridanie a 424 odobranie
  1. 8 45
      src/main/java/com/usky/dxtop/controller/web/TestController.java
  2. 0 293
      src/main/java/com/usky/dxtop/service/config/RabbitmqConfig.java
  3. 83 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/ChargeTransConfig.java
  4. 74 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/DishTransConfig.java
  5. 109 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/RabbitmqConfig.java
  6. 4 4
      src/main/java/com/usky/dxtop/service/config/rabbitmq/cardreturn/ReturnConsumeConfig.java
  7. 75 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/cardreturn/ReturnProduceConfig.java
  8. 76 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/charge/ChargeConsumeConfig.java
  9. 75 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/charge/ChargeProduceConfig.java
  10. 11 11
      src/main/java/com/usky/dxtop/service/config/rabbitmq/face/FaceConsumeConfig.java
  11. 74 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/face/FaceProduceConfig.java
  12. 74 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/group/GroupConsumeConfig.java
  13. 71 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/group/GroupProduceConfig.java
  14. 4 4
      src/main/java/com/usky/dxtop/service/config/rabbitmq/loss/LossConsumeConfig.java
  15. 74 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/loss/LossProduceConfig.java
  16. 11 11
      src/main/java/com/usky/dxtop/service/config/rabbitmq/profile/ProfileConsumeConfig.java
  17. 75 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/profile/ProfileProduceConfig.java
  18. 4 4
      src/main/java/com/usky/dxtop/service/config/rabbitmq/reissue/ReissueConsumeConfig.java
  19. 6 10
      src/main/java/com/usky/dxtop/service/config/rabbitmq/reissue/ReissueProduceConfig.java
  20. 6 7
      src/main/java/com/usky/dxtop/service/config/rabbitmq/repair/RepairConsumerConfig.java
  21. 7 12
      src/main/java/com/usky/dxtop/service/config/rabbitmq/repair/RepairProduceConfig.java
  22. 4 4
      src/main/java/com/usky/dxtop/service/config/rabbitmq/subsidy/SubsidyConsumeConfig.java
  23. 75 0
      src/main/java/com/usky/dxtop/service/config/rabbitmq/subsidy/SubsidyProduceConfig.java
  24. 3 12
      src/main/java/com/usky/dxtop/service/listener/ChargeMqListener.java
  25. 41 0
      src/main/java/com/usky/dxtop/service/listener/ChargeTransMqListener.java
  26. 4 6
      src/main/java/com/usky/dxtop/service/listener/DishTransMqListener.java
  27. 32 0
      src/main/java/com/usky/dxtop/service/listener/FaceMqListener.java
  28. 32 0
      src/main/java/com/usky/dxtop/service/listener/GroupMqListener.java
  29. 32 0
      src/main/java/com/usky/dxtop/service/listener/PersonMqListener.java
  30. 28 0
      src/main/java/com/usky/dxtop/service/production/ChargeMqProduce.java
  31. 29 0
      src/main/java/com/usky/dxtop/service/production/FaceMqProduce.java
  32. 28 0
      src/main/java/com/usky/dxtop/service/production/GroupMqProduce.java
  33. 29 0
      src/main/java/com/usky/dxtop/service/production/PersonMqProduce.java
  34. 21 0
      src/main/java/com/usky/dxtop/service/vo/ChargeVO.java
  35. 17 0
      src/main/java/com/usky/dxtop/service/vo/FaceVO.java
  36. 21 0
      src/main/java/com/usky/dxtop/service/vo/GroupVO.java
  37. 29 0
      src/main/java/com/usky/dxtop/service/vo/PersonVO.java
  38. 1 1
      src/main/resources/application-dev.properties

+ 8 - 45
src/main/java/com/usky/dxtop/controller/web/TestController.java

@@ -1,7 +1,8 @@
 package com.usky.dxtop.controller.web;
 
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.ChargeTransConfig;
+import com.usky.dxtop.service.config.rabbitmq.DishTransConfig;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.rabbit.core.RabbitTemplate;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -9,12 +10,9 @@ import org.springframework.beans.factory.annotation.Qualifier;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RestController;
 
-import java.time.LocalDateTime;
-import java.time.format.DateTimeFormatter;
 import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
-import java.util.UUID;
 
 /**
  * @author yq
@@ -23,49 +21,14 @@ import java.util.UUID;
 @Slf4j
 @RestController
 public class TestController {
-
-
-    @Autowired
-    private RabbitTemplate personRabbitTemplate;
-
-    @Autowired
-    @Qualifier("cartRabbitTemplate")
-    private RabbitTemplate cartRabbitTemplate;
-
     @Autowired
-    @Qualifier("chargeRabbitTemplate")
-    private RabbitTemplate chargeRabbitTemplate;
+    @Qualifier(ChargeTransConfig.TEMPLATE)
+    private RabbitTemplate chargeTransRabbitTemplate;
 
     @Autowired
-    @Qualifier("dishRabbitTemplate")
-    private RabbitTemplate dishRabbitTemplate;
-    @GetMapping("/personTest")
-    public String sendDirectMessage() {
-        String messageId = String.valueOf(UUID.randomUUID());
-        String messageData = "test message, hello!";
-        String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-        Map<String,Object> map=new HashMap<>();
-        map.put("messageId",messageId);
-        map.put("messageData",messageData);
-        map.put("createTime",createTime);
-        //将消息携带绑定键值:TestDirectRouting 发送到交换机TestDirectExchange
-        personRabbitTemplate.convertAndSend(RabbitmqConfig.PERSON, RabbitmqConfig.PERSON, map);
-        return "ok";
-    }
+    @Qualifier(DishTransConfig.TEMPLATE)
+    private RabbitTemplate dishTransRabbitTemplate;
 
-    @GetMapping("/cartTest")
-    public String sendDirectMessageCard() {
-        String messageId = String.valueOf(UUID.randomUUID());
-        String messageData = "test message, hello!";
-        String createTime = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
-        Map<String,Object> map=new HashMap<>();
-        map.put("messageId",messageId);
-        map.put("messageData",messageData);
-        map.put("createTime",createTime);
-        //将消息携带绑定键值:TestDirectRouting 发送到交换机TestDirectExchange
-        cartRabbitTemplate.convertAndSend(RabbitmqConfig.CARD, RabbitmqConfig.CARD, map);
-        return "ok";
-    }
 
 
     @GetMapping("/chargeTest")
@@ -83,7 +46,7 @@ public class TestController {
         map.put("amt",1);
         map.put("balance",1);
         map.put("account",1);
-        chargeRabbitTemplate.convertAndSend(RabbitmqConfig.CHARGE, RabbitmqConfig.CHARGE, map);
+        chargeTransRabbitTemplate.convertAndSend(ChargeTransConfig.NAME, ChargeTransConfig.NAME, map);
         return "ok";
     }
 
@@ -114,7 +77,7 @@ public class TestController {
         payments.put("amt",1);
         payments.put("balance",1);
         map.put("payments",payments);
-        dishRabbitTemplate.convertAndSend(RabbitmqConfig.DISH, RabbitmqConfig.DISH, map);
+        dishTransRabbitTemplate.convertAndSend(DishTransConfig.NAME, DishTransConfig.NAME, map);
         return "ok";
     }
 

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

@@ -1,293 +0,0 @@
-package com.usky.dxtop.service.config;
-
-import lombok.Data;
-import org.springframework.amqp.core.*;
-import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
-import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
-import org.springframework.amqp.rabbit.connection.ConnectionFactory;
-import org.springframework.amqp.rabbit.core.RabbitAdmin;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.boot.autoconfigure.amqp.RabbitProperties;
-import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Primary;
-
-/**
- * @author yq
- * @date 2021/9/9 13:37
- */
-@Data
-@Configuration
-public class RabbitmqConfig {
-
-
-
-    public static final String PERSON = "profile_trans_produce";
-    public static final String CARD = "card_trans_produce";
-    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;
-
-    /**
-     * 连接工厂
-     * @param vHost
-     * @return
-     */
-    public ConnectionFactory connectionFactory(String vHost) {
-        CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
-        connectionFactory.setHost(rabbitProperties.getHost());
-        connectionFactory.setPort(rabbitProperties.getPort());
-        connectionFactory.setUsername(rabbitProperties.getUsername());
-        connectionFactory.setPassword(rabbitProperties.getPassword());
-        connectionFactory.setVirtualHost(vHost);
-        return connectionFactory;
-    }
-    /**
-     * 发送消息模版
-     * @param connectionFactory
-     * @return
-     */
-    public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
-        RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
-        rabbitTemplate.setMessageConverter(this.messageConverter());
-        return rabbitTemplate;
-    }
-
-    /**
-     * 监听工厂
-     * @param configurer
-     * @param connectionFactory
-     * @return
-     */
-    public SimpleRabbitListenerContainerFactory listenerFactory(
-            SimpleRabbitListenerContainerFactoryConfigurer configurer,
-            ConnectionFactory connectionFactory) {
-        SimpleRabbitListenerContainerFactory listenerContainerFactory = new SimpleRabbitListenerContainerFactory();
-        //设置手动ack
-        listenerContainerFactory.setAcknowledgeMode(AcknowledgeMode.AUTO);
-        configurer.configure(listenerContainerFactory, connectionFactory);
-        return listenerContainerFactory;
-    }
-
-    /**
-     * 序列化
-      * @return
-     */
-    public Jackson2JsonMessageConverter messageConverter() {
-        return new Jackson2JsonMessageConverter();
-    }
-
-    /**
-     * 交换机
-     * @param name
-     * @param amqpAdmin
-     * @return
-     */
-    public DirectExchange exchange(String name, AmqpAdmin amqpAdmin){
-        DirectExchange exchange = new DirectExchange(name, true, false);
-        exchange.setAdminsThatShouldDeclare(amqpAdmin);
-        return exchange;
-    }
-
-    /**
-     * 队列
-     * @param name
-     * @param amqpAdmin
-     * @return
-     */
-    public Queue queue(String name, AmqpAdmin amqpAdmin){
-        Queue queue = new Queue(name, true);
-        queue.setAdminsThatShouldDeclare(amqpAdmin);
-        return queue;
-    }
-
-
-    /**
-     * 连接配置
-     * @return
-     */
-    @Bean(name = "personConnectionFactory")
-    @Primary
-    public ConnectionFactory personConnectionFactory(){
-        return this.connectionFactory(PERSON);
-    }
-
-    @Bean(name = "cartConnectionFactory")
-    public ConnectionFactory cartConnectionFactory(){
-        return this.connectionFactory(CARD);
-    }
-
-    @Bean(name = "chargeConnectionFactory")
-    public ConnectionFactory chargeConnectionFactory(){
-        return this.connectionFactory(CHARGE);
-    }
-
-    @Bean(name = "dishConnectionFactory")
-    public ConnectionFactory dishConnectionFactory(){
-        return this.connectionFactory(DISH);
-    }
-
-    /**
-     * 发送模版配置
-     */
-    @Bean(name = "personRabbitTemplate")
-    @Primary
-    public RabbitTemplate personRabbitTemplate(@Qualifier("personConnectionFactory") ConnectionFactory connectionFactory ) {
-        return this.rabbitTemplate(connectionFactory);
-    }
-
-    @Bean(name = "cartRabbitTemplate")
-    public RabbitTemplate cartRabbitTemplate(@Qualifier("cartConnectionFactory") ConnectionFactory connectionFactory ) {
-        return this.rabbitTemplate(connectionFactory);
-    }
-
-    @Bean(name = "chargeRabbitTemplate")
-    public RabbitTemplate chargeRabbitTemplate(@Qualifier("chargeConnectionFactory") ConnectionFactory connectionFactory ) {
-        return this.rabbitTemplate(connectionFactory);
-    }
-
-    @Bean(name = "dishRabbitTemplate")
-    public RabbitTemplate dishRabbitTemplate(@Qualifier("dishConnectionFactory") ConnectionFactory connectionFactory ) {
-        return this.rabbitTemplate(connectionFactory);
-    }
-
-    /**
-     * 监听工厂配置
-     */
-    @Bean(name = "personListenerFactory")
-    @Primary
-    public SimpleRabbitListenerContainerFactory personListenerFactory(
-            SimpleRabbitListenerContainerFactoryConfigurer configurer,
-            @Qualifier("personConnectionFactory") ConnectionFactory connectionFactory) {
-        return this.listenerFactory(configurer,connectionFactory);
-    }
-
-    @Bean(name = "cartListenerFactory")
-    public SimpleRabbitListenerContainerFactory cartListenerFactory(
-            SimpleRabbitListenerContainerFactoryConfigurer configurer,
-            @Qualifier("cartConnectionFactory") ConnectionFactory connectionFactory) {
-        return this.listenerFactory(configurer,connectionFactory);
-    }
-
-    @Bean(name = "chargeListenerFactory")
-    public SimpleRabbitListenerContainerFactory chargeListenerFactory(
-            SimpleRabbitListenerContainerFactoryConfigurer configurer,
-            @Qualifier("chargeConnectionFactory") ConnectionFactory connectionFactory) {
-        return this.listenerFactory(configurer,connectionFactory);
-    }
-
-    @Bean(name = "dishListenerFactory")
-    public SimpleRabbitListenerContainerFactory dishListenerFactory(
-            SimpleRabbitListenerContainerFactoryConfigurer configurer,
-            @Qualifier("dishConnectionFactory") ConnectionFactory connectionFactory) {
-        return this.listenerFactory(configurer,connectionFactory);
-    }
-
-    /**
-     * admin配置
-     */
-    @Bean("personAdmin")
-    @Primary
-    AmqpAdmin personAmqpAdmin(@Qualifier("personConnectionFactory") ConnectionFactory connectionFactory) {
-        return new RabbitAdmin(connectionFactory);
-    }
-    @Bean("cartAdmin")
-    AmqpAdmin cartAmqpAdmin(@Qualifier("cartConnectionFactory") ConnectionFactory connectionFactory) {
-        return new RabbitAdmin(connectionFactory);
-    }
-    @Bean("chargeAdmin")
-    AmqpAdmin chargeAmqpAdmin(@Qualifier("chargeConnectionFactory") ConnectionFactory connectionFactory) {
-        return new RabbitAdmin(connectionFactory);
-    }
-    @Bean("dishAdmin")
-    AmqpAdmin dishAmqpAdmin(@Qualifier("dishConnectionFactory") ConnectionFactory connectionFactory) {
-        return new RabbitAdmin(connectionFactory);
-    }
-    /**
-     * 交换机
-     */
-    @Bean("personExchange")
-    @Primary
-    public DirectExchange personExchange(@Qualifier("personAdmin") AmqpAdmin amqpAdmin) {
-        return this.exchange(PERSON,amqpAdmin);
-    }
-
-    @Bean("cartExchange")
-    public DirectExchange cartExchange(@Qualifier("cartAdmin") AmqpAdmin amqpAdmin) {
-        return this.exchange(CARD,amqpAdmin);
-    }
-    @Bean("chargeExchange")
-    public DirectExchange chargeExchange(@Qualifier("chargeAdmin") AmqpAdmin amqpAdmin) {
-        return this.exchange(CHARGE,amqpAdmin);
-    }
-    @Bean("dishExchange")
-    public DirectExchange dishExchange(@Qualifier("dishAdmin") AmqpAdmin amqpAdmin) {
-        return this.exchange(DISH,amqpAdmin);
-    }
-
-    /**
-     * 队列
-     */
-    @Bean("personQueue")
-    @Primary
-    Queue personQueue(@Qualifier("personAdmin")AmqpAdmin amqpAdmin) {
-        return this.queue(PERSON,amqpAdmin);
-    }
-
-    @Bean("cartQueue")
-    Queue cartQueue(@Qualifier("cartAdmin")AmqpAdmin amqpAdmin) {
-        return this.queue(CARD,amqpAdmin);
-    }
-    @Bean("chargeQueue")
-    Queue chargeQueue(@Qualifier("chargeAdmin")AmqpAdmin amqpAdmin) {
-        return this.queue(CHARGE,amqpAdmin);
-    }
-    @Bean("dishQueue")
-    Queue dishQueue(@Qualifier("dishAdmin")AmqpAdmin amqpAdmin) {
-        return this.queue(DISH,amqpAdmin);
-    }
-
-    /**
-     * 绑定
-     */
-    @Bean("personBin")
-    @Primary
-    Binding personBindingPersonDirect(@Qualifier("personAdmin")AmqpAdmin amqpAdmin) {
-        Binding binding = BindingBuilder.bind(personQueue(amqpAdmin)).to(personExchange(amqpAdmin)).with(PERSON);
-        binding.setAdminsThatShouldDeclare(amqpAdmin);
-        return binding;
-    }
-
-    @Bean("cartBin")
-    Binding cartBindingPersonDirect(@Qualifier("cartAdmin")AmqpAdmin amqpAdmin) {
-        Binding binding = BindingBuilder.bind(cartQueue(amqpAdmin)).to(cartExchange(amqpAdmin)).with(CARD);
-        binding.setAdminsThatShouldDeclare(amqpAdmin);
-        return binding;
-    }
-    @Bean("chargeBin")
-    Binding chargeBindingPersonDirect(@Qualifier("chargeAdmin")AmqpAdmin amqpAdmin) {
-        Binding binding = BindingBuilder.bind(chargeQueue(amqpAdmin)).to(chargeExchange(amqpAdmin)).with(CHARGE);
-        binding.setAdminsThatShouldDeclare(amqpAdmin);
-        return binding;
-    }
-    @Bean("dishBin")
-    Binding dishBindingPersonDirect(@Qualifier("dishAdmin")AmqpAdmin amqpAdmin) {
-        Binding binding = BindingBuilder.bind(dishQueue(amqpAdmin)).to(dishExchange(amqpAdmin)).with(DISH);
-        binding.setAdminsThatShouldDeclare(amqpAdmin);
-        return binding;
-    }
-}

+ 83 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/ChargeTransConfig.java

@@ -0,0 +1,83 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+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;
+import org.springframework.context.annotation.Primary;
+
+/**
+ * @author yq
+ * @date 2021/9/15 9:32
+ */
+@Configuration
+@Data
+public class ChargeTransConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "charge_trans_produce";
+    private final static String MODULE_NAME = "chargeT";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
+
+    @Bean(name = CONNECTION)
+    @Primary
+    public ConnectionFactory connectionFactory(){
+        return rabbitmqConfig.connectionFactory(NAME);
+    }
+
+    @Bean(name = TEMPLATE)
+    @Primary
+    public RabbitTemplate rabbitTemplate(@Qualifier(CONNECTION) ConnectionFactory connectionFactory ) {
+        return rabbitmqConfig.rabbitTemplate(connectionFactory);
+    }
+
+    @Bean(name = LISTENER)
+    @Primary
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            @Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return rabbitmqConfig.listenerFactory(configurer,connectionFactory);
+    }
+
+    @Bean(ADMIN)
+    @Primary
+    AmqpAdmin amqpAdmin(@Qualifier(CONNECTION) ConnectionFactory connectionFactory) {
+        return new RabbitAdmin(connectionFactory);
+    }
+
+    @Bean(EXCHANGE)
+    @Primary
+    public DirectExchange exchange(@Qualifier(ADMIN) AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.exchange(NAME,amqpAdmin);
+    }
+
+    @Bean(QUEUE)
+    @Primary
+    Queue queue(@Qualifier(ADMIN)AmqpAdmin amqpAdmin) {
+        return rabbitmqConfig.queue(NAME,amqpAdmin);
+    }
+
+    @Bean(BINDING)
+    @Primary
+    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/DishTransConfig.java

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+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 DishTransConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "dish_trans_produce";
+    private final static String MODULE_NAME = "dishT";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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;
+    }
+}

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

@@ -0,0 +1,109 @@
+package com.usky.dxtop.service.config.rabbitmq;
+
+import lombok.Data;
+import org.springframework.amqp.core.AcknowledgeMode;
+import org.springframework.amqp.core.AmqpAdmin;
+import org.springframework.amqp.core.DirectExchange;
+import org.springframework.amqp.core.Queue;
+import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
+import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
+import org.springframework.amqp.rabbit.connection.ConnectionFactory;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.autoconfigure.amqp.RabbitProperties;
+import org.springframework.boot.autoconfigure.amqp.SimpleRabbitListenerContainerFactoryConfigurer;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author yq
+ * @date 2021/9/9 13:37
+ */
+@Data
+@Configuration
+public class RabbitmqConfig {
+
+    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;
+
+    /**
+     * 连接工厂
+     * @param vHost
+     * @return
+     */
+    public ConnectionFactory connectionFactory(String vHost) {
+        CachingConnectionFactory connectionFactory = new CachingConnectionFactory();
+        connectionFactory.setHost(rabbitProperties.getHost());
+        connectionFactory.setPort(rabbitProperties.getPort());
+        connectionFactory.setUsername(rabbitProperties.getUsername());
+        connectionFactory.setPassword(rabbitProperties.getPassword());
+        connectionFactory.setVirtualHost(vHost);
+        return connectionFactory;
+    }
+    /**
+     * 发送消息模版
+     * @param connectionFactory
+     * @return
+     */
+    public RabbitTemplate rabbitTemplate(ConnectionFactory connectionFactory) {
+        RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory);
+        rabbitTemplate.setMessageConverter(this.messageConverter());
+        return rabbitTemplate;
+    }
+
+    /**
+     * 监听工厂
+     * @param configurer
+     * @param connectionFactory
+     * @return
+     */
+    public SimpleRabbitListenerContainerFactory listenerFactory(
+            SimpleRabbitListenerContainerFactoryConfigurer configurer,
+            ConnectionFactory connectionFactory) {
+        SimpleRabbitListenerContainerFactory listenerContainerFactory = new SimpleRabbitListenerContainerFactory();
+        //设置手动ack
+        listenerContainerFactory.setAcknowledgeMode(AcknowledgeMode.AUTO);
+        configurer.configure(listenerContainerFactory, connectionFactory);
+        return listenerContainerFactory;
+    }
+
+    /**
+     * 序列化
+      * @return
+     */
+    public Jackson2JsonMessageConverter messageConverter() {
+        return new Jackson2JsonMessageConverter();
+    }
+
+    /**
+     * 交换机
+     * @param name
+     * @param amqpAdmin
+     * @return
+     */
+    public DirectExchange exchange(String name, AmqpAdmin amqpAdmin){
+        DirectExchange exchange = new DirectExchange(name, true, false);
+        exchange.setAdminsThatShouldDeclare(amqpAdmin);
+        return exchange;
+    }
+
+    /**
+     * 队列
+     * @param name
+     * @param amqpAdmin
+     * @return
+     */
+    public Queue queue(String name, AmqpAdmin amqpAdmin){
+        Queue queue = new Queue(name, true);
+        queue.setAdminsThatShouldDeclare(amqpAdmin);
+        return queue;
+    }
+}

+ 4 - 4
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardReturnConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/cardreturn/ReturnConsumeConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.cardreturn;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -19,12 +19,12 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @Data
-public class CardReturnConfig {
+public class ReturnConsumeConfig {
 
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
     public static final String NAME = "card_return_consume";
-    private final static String MODULE_NAME = "cardReturn";
+    private final static String MODULE_NAME = "returnC";
 
     private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
     private final static String TEMPLATE = MODULE_NAME+ RabbitmqConfig.TEMPLATE;

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

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq.cardreturn;
+
+import com.usky.dxtop.service.config.rabbitmq.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 13:14
+ */
+@Configuration
+@Data
+public class ReturnProduceConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_return_produce";
+    private final static String MODULE_NAME = "returnP";
+
+    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/charge/ChargeConsumeConfig.java

@@ -0,0 +1,76 @@
+package com.usky.dxtop.service.config.rabbitmq.charge;
+
+import com.usky.dxtop.service.config.rabbitmq.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 11:06
+ */
+@Configuration
+@Data
+public class ChargeConsumeConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_charge_consume";
+    private final static String MODULE_NAME = "chargeC";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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/charge/ChargeProduceConfig.java

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq.charge;
+
+import com.usky.dxtop.service.config.rabbitmq.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 13:18
+ */
+@Configuration
+@Data
+public class ChargeProduceConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_charge_produce";
+    private final static String MODULE_NAME = "chargeP";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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;
+    }
+}

+ 11 - 11
src/main/java/com/usky/dxtop/service/config/rabbitmq/FaceConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/face/FaceConsumeConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.face;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -19,19 +19,19 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @Data
-public class FaceConfig {
+public class FaceConsumeConfig {
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
     public static final String NAME = "profile_face_consume";
-    private final static String MODULE_NAME = "face";
+    private final static String MODULE_NAME = "faceC";
 
-    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;
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
 
     @Bean(name = CONNECTION)
     public ConnectionFactory connectionFactory(){

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

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq.face;
+
+import com.usky.dxtop.service.config.rabbitmq.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 13:12
+ */
+@Configuration
+@Data
+public class FaceProduceConfig {
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "profile_face_produce";
+    private final static String MODULE_NAME = "faceP";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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/group/GroupConsumeConfig.java

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq.group;
+
+import com.usky.dxtop.service.config.rabbitmq.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 GroupConsumeConfig {
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "group_consume";
+    private final static String MODULE_NAME = "groupC";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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;
+    }
+}

+ 71 - 0
src/main/java/com/usky/dxtop/service/config/rabbitmq/group/GroupProduceConfig.java

@@ -0,0 +1,71 @@
+package com.usky.dxtop.service.config.rabbitmq.group;
+
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
+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;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:16
+ */
+public class GroupProduceConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "group_produce";
+    private final static String MODULE_NAME = "groupP";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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;
+    }
+}

+ 4 - 4
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardLossConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/loss/LossConsumeConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.loss;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -19,12 +19,12 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @Data
-public class CardLossConfig {
+public class LossConsumeConfig {
 
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
     public static final String NAME = "card_loss_consume";
-    private final static String MODULE_NAME = "cardLoss";
+    private final static String MODULE_NAME = "lossC";
 
     private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
     private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;

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

@@ -0,0 +1,74 @@
+package com.usky.dxtop.service.config.rabbitmq.loss;
+
+import com.usky.dxtop.service.config.rabbitmq.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 13:17
+ */
+@Configuration
+@Data
+public class LossProduceConfig {
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_loss_produce";
+    private final static String MODULE_NAME = "lossP";
+
+    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;
+    }
+}

+ 11 - 11
src/main/java/com/usky/dxtop/service/config/rabbitmq/ProfileConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/profile/ProfileConsumeConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.profile;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -19,19 +19,19 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @Data
-public class ProfileConfig {
+public class ProfileConsumeConfig {
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
     public static final String NAME = "profile_consume";
-    private final static String MODULE_NAME = "profile";
+    private final static String MODULE_NAME = "profileC";
 
-    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;
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public final static String BINDING = MODULE_NAME+RabbitmqConfig.BINDING;
 
     @Bean(name = CONNECTION)
     public ConnectionFactory connectionFactory(){

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

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq.profile;
+
+import com.usky.dxtop.service.config.rabbitmq.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 13:12
+ */
+@Configuration
+@Data
+public class ProfileProduceConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "profile_produce";
+    private final static String MODULE_NAME = "profileP";
+
+    public final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    public final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
+    public final static String LISTENER = MODULE_NAME+RabbitmqConfig.LISTENER;
+    public final static String ADMIN = MODULE_NAME+RabbitmqConfig.ADMIN;
+    public final static String EXCHANGE = MODULE_NAME+RabbitmqConfig.EXCHANGE;
+    public final static String QUEUE = MODULE_NAME+RabbitmqConfig.QUEUE;
+    public 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;
+    }
+}

+ 4 - 4
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardReissueConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/reissue/ReissueConsumeConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.reissue;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -19,12 +19,12 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @Data
-public class CardReissueConfig {
+public class ReissueConsumeConfig {
 
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
     public static final String NAME = "card_reissue_consumer";
-    private final static String MODULE_NAME = "cardReissue";
+    private final static String MODULE_NAME = "reissueC";
 
     private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
     private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;

+ 6 - 10
src/main/java/com/usky/dxtop/service/config/rabbitmq/GroupConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/reissue/ReissueProduceConfig.java

@@ -1,7 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.reissue;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
-import lombok.Data;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
 import org.springframework.amqp.rabbit.connection.ConnectionFactory;
@@ -11,19 +10,16 @@ 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
+ * @date 2021/9/15 13:18
  */
-@Configuration
-@Data
-public class GroupConfig {
+public class ReissueProduceConfig {
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
-    public static final String NAME = "group_consume";
-    private final static String MODULE_NAME = "group";
+    public static final String NAME = "card_reissue_produce";
+    private final static String MODULE_NAME = "reissueP";
 
     private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
     private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;

+ 6 - 7
src/main/java/com/usky/dxtop/service/config/rabbitmq/ChargeConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/repair/RepairConsumerConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.repair;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -15,16 +15,16 @@ import org.springframework.context.annotation.Configuration;
 
 /**
  * @author yq
- * @date 2021/9/15 9:32
+ * @date 2021/9/15 11:08
  */
 @Configuration
 @Data
-public class ChargeConfig {
+public class RepairConsumerConfig {
 
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
-    public static final String NAME = "charge_trans_produce";
-    private final static String MODULE_NAME = "charge";
+    public static final String NAME = "card_repair_consume";
+    private final static String MODULE_NAME = "repairC";
 
     private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
     private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;
@@ -72,5 +72,4 @@ public class ChargeConfig {
         binding.setAdminsThatShouldDeclare(amqpAdmin);
         return binding;
     }
-
 }

+ 7 - 12
src/main/java/com/usky/dxtop/service/config/rabbitmq/DishConfig.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/repair/RepairProduceConfig.java

@@ -1,7 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.repair;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
-import lombok.Data;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
 import org.springframework.amqp.rabbit.connection.ConnectionFactory;
@@ -11,22 +10,18 @@ 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
+ * @date 2021/9/15 13:20
  */
-@Configuration
-@Data
-public class DishConfig {
-
+public class RepairProduceConfig {
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
-    public static final String NAME = "dish_trans_produce";
-    private final static String MODULE_NAME = "dish";
+    public static final String NAME = "card_repair_produce";
+    private final static String MODULE_NAME = "repairP";
 
-    private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
+    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;

+ 4 - 4
src/main/java/com/usky/dxtop/service/config/rabbitmq/CardSubsidy.java → src/main/java/com/usky/dxtop/service/config/rabbitmq/subsidy/SubsidyConsumeConfig.java

@@ -1,6 +1,6 @@
-package com.usky.dxtop.service.config.rabbitmq;
+package com.usky.dxtop.service.config.rabbitmq.subsidy;
 
-import com.usky.dxtop.service.config.RabbitmqConfig;
+import com.usky.dxtop.service.config.rabbitmq.RabbitmqConfig;
 import lombok.Data;
 import org.springframework.amqp.core.*;
 import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory;
@@ -19,12 +19,12 @@ import org.springframework.context.annotation.Configuration;
  */
 @Configuration
 @Data
-public class CardSubsidy {
+public class SubsidyConsumeConfig {
 
     @Autowired
     private RabbitmqConfig rabbitmqConfig;
     public static final String NAME = "card_subsidy_consume";
-    private final static String MODULE_NAME = "cardSubsidy";
+    private final static String MODULE_NAME = "subsidyC";
 
     private final static String CONNECTION = MODULE_NAME+RabbitmqConfig.CONNECTION;
     private final static String TEMPLATE = MODULE_NAME+RabbitmqConfig.TEMPLATE;

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

@@ -0,0 +1,75 @@
+package com.usky.dxtop.service.config.rabbitmq.subsidy;
+
+import com.usky.dxtop.service.config.rabbitmq.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 13:15
+ */
+@Configuration
+@Data
+public class SubsidyProduceConfig {
+
+    @Autowired
+    private RabbitmqConfig rabbitmqConfig;
+    public static final String NAME = "card_subsidy_produce";
+    private final static String MODULE_NAME = "subsidyP";
+
+    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;
+    }
+}

+ 3 - 12
src/main/java/com/usky/dxtop/service/listener/ChargeMqListener.java

@@ -1,29 +1,20 @@
 package com.usky.dxtop.service.listener;
 
-import com.alibaba.fastjson.JSONObject;
-import com.usky.dxtop.model.Charge;
-import com.usky.dxtop.service.ChargeService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.amqp.core.Message;
-import org.springframework.amqp.rabbit.annotation.RabbitListener;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 
 import java.nio.charset.StandardCharsets;
 
 /**
  * @author yq
- * @date 2021/9/9 11:05
+ * @date 2021/9/15 13:56
  */
 @Slf4j
 @Component
 public class ChargeMqListener {
 
-    @Autowired
-    private ChargeService chargeService;
-
-
-    @RabbitListener(queues = "charge_trans_produce", containerFactory = "chargeListenerFactory")
+//    @RabbitListener(queues = ChargeProduceConfig.QUEUE, containerFactory = ChargeProduceConfig.CONNECTION)
     public void dealDeclareMessage(Message message) {
         try {
             //消息类型
@@ -31,7 +22,7 @@ public class ChargeMqListener {
             log.info(routingKey);
             String s = new String(message.getBody(), StandardCharsets.UTF_8);
             log.info("charge_trans_produce:接受到的消息"+s);
-            chargeService.saveOrUpdate(JSONObject.parseObject(s, Charge.class));
+            //消息必答机制
         } catch (Exception e) {
             log.info("charge_trans_produce"+"异常信息:" + e.getMessage());
         } finally {

+ 41 - 0
src/main/java/com/usky/dxtop/service/listener/ChargeTransMqListener.java

@@ -0,0 +1,41 @@
+package com.usky.dxtop.service.listener;
+
+import com.alibaba.fastjson.JSONObject;
+import com.usky.dxtop.model.Charge;
+import com.usky.dxtop.service.ChargeService;
+import com.usky.dxtop.service.config.rabbitmq.ChargeTransConfig;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.amqp.rabbit.annotation.RabbitListener;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @author yq
+ * @date 2021/9/9 11:05
+ */
+@Slf4j
+@Component
+public class ChargeTransMqListener {
+
+    @Autowired
+    private ChargeService chargeService;
+
+    @RabbitListener(queues = ChargeTransConfig.NAME, containerFactory = ChargeTransConfig.LISTENER)
+    public void dealDeclareMessage(Message message) {
+        try {
+            //消息类型
+            String routingKey = message.getMessageProperties().getReceivedRoutingKey();
+            log.info(routingKey);
+            String s = new String(message.getBody(), StandardCharsets.UTF_8);
+            log.info("charge_trans_produce:接受到的消息"+s);
+            chargeService.saveOrUpdate(JSONObject.parseObject(s, Charge.class));
+        } catch (Exception e) {
+            log.info("charge_trans_produce"+"异常信息:" + e.getMessage());
+        } finally {
+
+        }
+    }
+}

+ 4 - 6
src/main/java/com/usky/dxtop/service/listener/DishMqListener.java → src/main/java/com/usky/dxtop/service/listener/DishTransMqListener.java

@@ -3,8 +3,8 @@ package com.usky.dxtop.service.listener;
 import com.alibaba.fastjson.JSONObject;
 import com.usky.dxtop.model.Dish;
 import com.usky.dxtop.service.DishService;
+import com.usky.dxtop.service.config.rabbitmq.DishTransConfig;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.logging.log4j.core.util.JsonUtils;
 import org.springframework.amqp.core.Message;
 import org.springframework.amqp.rabbit.annotation.RabbitListener;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,14 +20,14 @@ import java.util.Optional;
  */
 @Slf4j
 @Component
-public class DishMqListener {
+public class DishTransMqListener {
 
     @Autowired
     private DishService dishService;
 
 
-    @RabbitListener(queues = "dish_trade_produce", containerFactory = "dishListenerFactory")
-    public void dealDeclareMessage(Message message) throws Exception {
+    @RabbitListener(queues = DishTransConfig.NAME, containerFactory = DishTransConfig.LISTENER)
+    public void dealDeclareMessage(Message message) {
         try {
             //消息类型
             String routingKey = message.getMessageProperties().getReceivedRoutingKey();
@@ -39,8 +39,6 @@ public class DishMqListener {
             dishService.saveOrUpdate(dish);
         } catch (Exception e) {
             log.info("dish_trade_produce"+"异常信息:" + e.getMessage());
-        } finally {
-
         }
     }
 

+ 32 - 0
src/main/java/com/usky/dxtop/service/listener/FaceMqListener.java

@@ -0,0 +1,32 @@
+package com.usky.dxtop.service.listener;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:56
+ */
+@Slf4j
+@Component
+public class FaceMqListener {
+
+//    @RabbitListener(queues = FaceProduceConfig.QUEUE, containerFactory = FaceProduceConfig.CONNECTION)
+    public void dealDeclareMessage(Message message) {
+        try {
+            //消息类型
+            String routingKey = message.getMessageProperties().getReceivedRoutingKey();
+            log.info(routingKey);
+            String s = new String(message.getBody(), StandardCharsets.UTF_8);
+            log.info("charge_trans_produce:接受到的消息"+s);
+            //消息必答机制
+        } catch (Exception e) {
+            log.info("charge_trans_produce"+"异常信息:" + e.getMessage());
+        } finally {
+
+        }
+    }
+}

+ 32 - 0
src/main/java/com/usky/dxtop/service/listener/GroupMqListener.java

@@ -0,0 +1,32 @@
+package com.usky.dxtop.service.listener;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:56
+ */
+@Slf4j
+@Component
+public class GroupMqListener {
+
+//    @RabbitListener(queues = GroupProduceConfig.QUEUE, containerFactory = GroupProduceConfig.CONNECTION)
+    public void dealDeclareMessage(Message message) {
+        try {
+            //消息类型
+            String routingKey = message.getMessageProperties().getReceivedRoutingKey();
+            log.info(routingKey);
+            String s = new String(message.getBody(), StandardCharsets.UTF_8);
+            log.info("charge_trans_produce:接受到的消息"+s);
+            //消息必答机制
+        } catch (Exception e) {
+            log.info("charge_trans_produce"+"异常信息:" + e.getMessage());
+        } finally {
+
+        }
+    }
+}

+ 32 - 0
src/main/java/com/usky/dxtop/service/listener/PersonMqListener.java

@@ -0,0 +1,32 @@
+package com.usky.dxtop.service.listener;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.core.Message;
+import org.springframework.stereotype.Component;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:55
+ */
+@Slf4j
+@Component
+public class PersonMqListener {
+
+//    @RabbitListener(queues = ProfileProduceConfig.QUEUE, containerFactory = ProfileProduceConfig.CONNECTION)
+    public void dealDeclareMessage(Message message) {
+        try {
+            //消息类型
+            String routingKey = message.getMessageProperties().getReceivedRoutingKey();
+            log.info(routingKey);
+            String s = new String(message.getBody(), StandardCharsets.UTF_8);
+            log.info("charge_trans_produce:接受到的消息"+s);
+            //消息必答机制
+        } catch (Exception e) {
+            log.info("charge_trans_produce"+"异常信息:" + e.getMessage());
+        } finally {
+
+        }
+    }
+}

+ 28 - 0
src/main/java/com/usky/dxtop/service/production/ChargeMqProduce.java

@@ -0,0 +1,28 @@
+package com.usky.dxtop.service.production;
+
+import com.alibaba.fastjson.JSON;
+import com.usky.dxtop.service.config.rabbitmq.charge.ChargeConsumeConfig;
+import com.usky.dxtop.service.vo.PersonVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:52
+ */
+@Slf4j
+@Component
+public class ChargeMqProduce {
+    @Autowired
+    @Qualifier(ChargeConsumeConfig.TEMPLATE)
+    private RabbitTemplate rabbitTemplate;
+
+    public void send(Object object){
+        PersonVO personVO = new PersonVO();
+        personVO.setCard("!1111");
+        rabbitTemplate.convertAndSend(ChargeConsumeConfig.NAME, ChargeConsumeConfig.NAME, JSON.toJSON(object));
+    }
+}

+ 29 - 0
src/main/java/com/usky/dxtop/service/production/FaceMqProduce.java

@@ -0,0 +1,29 @@
+package com.usky.dxtop.service.production;
+
+import com.alibaba.fastjson.JSON;
+import com.usky.dxtop.service.config.rabbitmq.face.FaceConsumeConfig;
+import com.usky.dxtop.service.vo.PersonVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:52
+ */
+@Slf4j
+@Component
+public class FaceMqProduce {
+
+    @Autowired
+    @Qualifier(FaceConsumeConfig.TEMPLATE)
+    private RabbitTemplate rabbitTemplate;
+
+    public void send(Object object){
+        PersonVO personVO = new PersonVO();
+        personVO.setCard("!1111");
+        rabbitTemplate.convertAndSend(FaceConsumeConfig.NAME, FaceConsumeConfig.NAME, JSON.toJSON(object));
+    }
+}

+ 28 - 0
src/main/java/com/usky/dxtop/service/production/GroupMqProduce.java

@@ -0,0 +1,28 @@
+package com.usky.dxtop.service.production;
+
+import com.alibaba.fastjson.JSON;
+import com.usky.dxtop.service.config.rabbitmq.group.GroupConsumeConfig;
+import com.usky.dxtop.service.vo.PersonVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:52
+ */
+@Slf4j
+@Component
+public class GroupMqProduce {
+    @Autowired
+    @Qualifier(GroupConsumeConfig.TEMPLATE)
+    private RabbitTemplate rabbitTemplate;
+
+    public void send(Object object){
+        PersonVO personVO = new PersonVO();
+        personVO.setCard("!1111");
+        rabbitTemplate.convertAndSend(GroupConsumeConfig.NAME, GroupConsumeConfig.NAME, JSON.toJSON(object));
+    }
+}

+ 29 - 0
src/main/java/com/usky/dxtop/service/production/PersonMqProduce.java

@@ -0,0 +1,29 @@
+package com.usky.dxtop.service.production;
+
+import com.alibaba.fastjson.JSON;
+import com.usky.dxtop.service.config.rabbitmq.profile.ProfileConsumeConfig;
+import com.usky.dxtop.service.vo.PersonVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.amqp.rabbit.core.RabbitTemplate;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author yq
+ * @date 2021/9/15 13:51
+ */
+@Slf4j
+@Component
+public class PersonMqProduce {
+
+    @Autowired
+    @Qualifier(ProfileConsumeConfig.TEMPLATE)
+    private RabbitTemplate rabbitTemplate;
+
+    public void send(Object object){
+        PersonVO personVO = new PersonVO();
+        personVO.setCard("!1111");
+        rabbitTemplate.convertAndSend(ProfileConsumeConfig.NAME, ProfileConsumeConfig.NAME, JSON.toJSON(object));
+    }
+}

+ 21 - 0
src/main/java/com/usky/dxtop/service/vo/ChargeVO.java

@@ -0,0 +1,21 @@
+package com.usky.dxtop.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/9/15 11:37
+ */
+@Data
+public class ChargeVO {
+
+    private Long seq;
+
+    private String card;
+
+    private Double amt;
+
+    private String name;
+
+    private String mob;
+}

+ 17 - 0
src/main/java/com/usky/dxtop/service/vo/FaceVO.java

@@ -0,0 +1,17 @@
+package com.usky.dxtop.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/9/15 11:35
+ */
+@Data
+public class FaceVO {
+
+    private Long seq;
+
+    private String mob;
+
+    private String img;
+}

+ 21 - 0
src/main/java/com/usky/dxtop/service/vo/GroupVO.java

@@ -0,0 +1,21 @@
+package com.usky.dxtop.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/9/15 11:35
+ */
+@Data
+public class GroupVO {
+
+    private Long seq;
+
+    private Integer parentId;
+
+    private Integer id;
+
+    private String name;
+
+
+}

+ 29 - 0
src/main/java/com/usky/dxtop/service/vo/PersonVO.java

@@ -0,0 +1,29 @@
+package com.usky.dxtop.service.vo;
+
+import lombok.Data;
+
+/**
+ * @author yq
+ * @date 2021/9/15 11:30
+ */
+@Data
+public class PersonVO {
+
+
+    private Integer type;
+
+    private Long seq;
+
+    private Integer cartType;
+
+    private String card;
+
+    private String name;
+
+    private String mob;
+
+    private Integer groupId;
+
+    private String tel;
+
+}

+ 1 - 1
src/main/resources/application-dev.properties

@@ -93,7 +93,7 @@ ruoyi.demoEnabled: true
 ruoyi.addressEnabled: false
 ruoyi.captchaType: math
 
-spring.rabbitmq.host=47.98.201.73
+spring.rabbitmq.host=localhost
 spring.rabbitmq.port=5672
 spring.rabbitmq.username=guest
 spring.rabbitmq.password=guest