From 41db04adedf2eb42e8765ef91a582c905eef3bda Mon Sep 17 00:00:00 2001
From: 935090232@qq.com <ak473600000>
Date: Sun, 14 Mar 2021 08:43:47 +0800
Subject: [PATCH] 创建订单采用广播形式
---
zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java | 3 ++-
zq-erp/src/test/java/com/matrix/SourceFlowTests.java | 15 +++++++++++++++
zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java | 1 +
zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java | 16 +++++++++++++---
4 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java b/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java
index a1dac18..ce1ff16 100644
--- a/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java
+++ b/zq-erp/src/main/java/com/matrix/config/RabbitMqConfig.java
@@ -36,7 +36,7 @@
public static final String MQ_EXCHANGE_A = "hive_exchange_A";
//订阅模式
- public static final String MQ_EXCHANGE_FANOUT = "hive_exchange_fanout";
+ public static final String MQ_EXCHANGE_TOPIC = "hive_exchange_fanout";
@Bean
VipCreateTask VipCreateTask() {
@@ -46,6 +46,10 @@
@Bean
OrderTask OrderrCreateTask() {
return new OrderTask();
+ }
+ @Bean
+ SalesOrderTask SalesOrderTask() {
+ return new SalesOrderTask();
}
@Bean
@@ -71,18 +75,24 @@
//声明一个交换机
rabiitMqTemplate.exchangeDeclare(MQ_EXCHANGE_A+evn, "direct");
- rabiitMqTemplate.exchangeDeclare(MQ_EXCHANGE_FANOUT+evn, "fanout");
+ rabiitMqTemplate.exchangeDeclare(MQ_EXCHANGE_TOPIC +evn, "topic");
List<MqTask> taskList = new ArrayList<>();
//注册RabbitMq任务
taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.CREATE_VIP + evn, MQTaskRouting.CREATE_VIP + evn, VipCreateTask()));
//订阅模式
- taskList.add(new MqTask(MQ_EXCHANGE_FANOUT + evn, MQTaskRouting.CREATE_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,OrderrCreateTask()));
+
+
taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SEND_TEMPLATE_MSG + evn,MQTaskRouting.SEND_TEMPLATE_MSG + evn, TemplateMsgTask()));
taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.ORDER_OUT_SOTORE + evn,MQTaskRouting.ORDER_OUT_SOTORE + evn, OrderOutSotoreTask()));
taskList.add(new MqTask(MQ_EXCHANGE_A + evn, MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn,MQTaskRouting.SEND_UNIFORM_TEMPLATE_MSG + evn, UniformMsgSentTask()));
+ //不同任务在不同的队列,但是routingKey一样则可以收到生产者消息
+ taskList.add(new MqTask(MQ_EXCHANGE_TOPIC + evn, MQTaskRouting.CREATE_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,SalesOrderTask()));
+ taskList.add(new MqTask(MQ_EXCHANGE_TOPIC + evn, MQTaskRouting.SALES_ORDER + evn,MQTaskRouting.CREATE_ORDER + evn,OrderrCreateTask()));
+
+
rabiitMqTemplate.binding(taskList);
return rabiitMqTemplate;
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
index ff78386..508d4e7 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/action/WxCommonAction.java
@@ -4,6 +4,7 @@
import com.matrix.component.wechat.externalInterface.common.Signature;
import com.matrix.component.wechat.externalInterface.common.Util;
import com.matrix.component.wechat.externalInterface.protocol.queryProtocol.NotifyData;
+import com.matrix.config.RabbitMqConfig;
import com.matrix.core.pojo.AjaxResult;
import com.matrix.core.tools.LogUtil;
import com.matrix.system.common.bean.BusParameterSettings;
@@ -192,7 +193,7 @@
}
// 根据订单类型创建不同的处理任务
- rabiitMqTemplate.sendMsg(MQTaskRouting.CREATE_ORDER+evn, orderId);
+ rabiitMqTemplate.sendTopicMsg(RabbitMqConfig.MQ_EXCHANGE_TOPIC +evn, MQTaskRouting.CREATE_ORDER+evn, orderId);
threadResult.putInMap("status", "success");
diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java
index 861de97..c80101b 100644
--- a/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java
+++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/mqTask/MQTaskRouting.java
@@ -8,6 +8,7 @@
String CREATE_VIP = "CREATE_VIP";
String CREATE_ORDER = "CREATE_ORDER";
+ String SALES_ORDER = "SALES_ORDER";
/**
* 发送微信消息
*/
diff --git a/zq-erp/src/test/java/com/matrix/SourceFlowTests.java b/zq-erp/src/test/java/com/matrix/SourceFlowTests.java
index 9c1a1bd..9d6d51a 100644
--- a/zq-erp/src/test/java/com/matrix/SourceFlowTests.java
+++ b/zq-erp/src/test/java/com/matrix/SourceFlowTests.java
@@ -1,11 +1,14 @@
package com.matrix;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.matrix.component.rabbitmq.RabiitMqTemplate;
+import com.matrix.config.RabbitMqConfig;
import com.matrix.core.tools.StringUtils;
import com.matrix.system.fenxiao.dao.ShopSalesmanApplyDao;
import com.matrix.system.hive.bean.*;
import com.matrix.system.hive.dao.*;
import com.matrix.system.hive.service.CodeService;
+import com.matrix.system.shopXcx.mqTask.MQTaskRouting;
import com.matrix.system.shopXcx.vo.SalesmanVo;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -49,8 +52,20 @@
@Autowired
private SysVipInfoDao vipInfoDao;
+ @Autowired
+ RabiitMqTemplate rabiitMqTemplate;
+ /**
+ * 发送订阅消息
+ * @throws InterruptedException
+ */
+ @Test
+ public void testTopic() throws InterruptedException {
+ rabiitMqTemplate.sendTopicMsg(RabbitMqConfig.MQ_EXCHANGE_TOPIC +"dev", MQTaskRouting.CREATE_ORDER+"dev", "123");
+ Thread.sleep(10000);
+ }
+
@Test
@Transactional
@Rollback
--
Gitblit v1.9.1