diff --git a/yudao-module-iot/yudao-module-iot-core/pom.xml b/yudao-module-iot/yudao-module-iot-core/pom.xml
index 3417fb05ec..3f4bb1f126 100644
--- a/yudao-module-iot/yudao-module-iot-core/pom.xml
+++ b/yudao-module-iot/yudao-module-iot-core/pom.xml
@@ -7,19 +7,61 @@
cn.iocoder.boot
${revision}
-
- yudao-module-iot-common
- yudao-module-iot-message-bus
-
4.0.0
yudao-module-iot-core
- pom
+ jar
${project.artifactId}
- iot 模块下,提供 iot-biz 和 iot-gateway 模块的核心功能。
- 例如说:消息总线、消息协议(编解码)等。
+ iot 模块下,提供 iot-biz 和 iot-gateway 模块的核心功能。例如说:
+ 1. 消息总线:跨 iot-biz 和 iot-gateway 的设备消息。可选择使用 spring event、redis stream、rocketmq、kafka、rabbitmq 等。
+ 2. 查询设备信息的通用 API
+
+
+ cn.iocoder.boot
+ yudao-common
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter
+
+
+
+
+ org.springframework.data
+ spring-data-redis
+ true
+
+
+
+ org.apache.rocketmq
+ rocketmq-spring-boot-starter
+ true
+
+
+
+ org.springframework.amqp
+ spring-rabbit
+ true
+
+
+
+ org.springframework.kafka
+ spring-kafka
+ true
+
+
+
+
+ org.springframework.boot
+ spring-boot-starter-test
+ test
+
+
+
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/biz/IotDeviceCommonApi.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/biz/IotDeviceCommonApi.java
similarity index 58%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/biz/IotDeviceCommonApi.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/biz/IotDeviceCommonApi.java
index 3b5385bf98..c3a57e5a0c 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/biz/IotDeviceCommonApi.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/biz/IotDeviceCommonApi.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.common.biz;
+package cn.iocoder.yudao.module.iot.core.biz;
// TODO @芋艿:待实现
public interface IotDeviceCommonApi {
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageIdentifierEnum.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageIdentifierEnum.java
similarity index 96%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageIdentifierEnum.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageIdentifierEnum.java
index 88de746035..ae9c9dee34 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageIdentifierEnum.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageIdentifierEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.common.enums;
+package cn.iocoder.yudao.module.iot.core.enums;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageTypeEnum.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageTypeEnum.java
similarity index 96%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageTypeEnum.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageTypeEnum.java
index 156e614c42..6e0feb16e5 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotDeviceMessageTypeEnum.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/enums/IotDeviceMessageTypeEnum.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.common.enums;
+package cn.iocoder.yudao.module.iot.core.enums;
import cn.iocoder.yudao.framework.common.core.ArrayValuable;
import lombok.Getter;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusAutoConfiguration.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusAutoConfiguration.java
similarity index 76%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusAutoConfiguration.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusAutoConfiguration.java
index aa216b55ad..6505058e77 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusAutoConfiguration.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusAutoConfiguration.java
@@ -1,8 +1,9 @@
-package cn.iocoder.yudao.module.iot.messagebus.config;
+package cn.iocoder.yudao.module.iot.core.messagebus.config;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
-import cn.iocoder.yudao.module.iot.messagebus.core.local.LocalIotMessageBus;
-import cn.iocoder.yudao.module.iot.messagebus.core.rocketmq.RocketMQIotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.local.LocalIotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq.RocketMQIotMessageBus;
+import cn.iocoder.yudao.module.iot.core.mq.producer.IotDeviceMessageProducer;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.autoconfigure.RocketMQProperties;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
@@ -24,6 +25,11 @@ import org.springframework.context.annotation.Configuration;
@Slf4j
public class IotMessageBusAutoConfiguration {
+ @Bean
+ public IotDeviceMessageProducer deviceMessageProducer(IotMessageBus messageBus) {
+ return new IotDeviceMessageProducer(messageBus);
+ }
+
// ==================== Local 实现 ====================
@Configuration
@@ -46,6 +52,7 @@ public class IotMessageBusAutoConfiguration {
public static class RocketMQIotMessageBusConfiguration {
@Bean
+ @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
public IotMessageBus rocketMQIotMessageBus(RocketMQProperties rocketMQProperties, RocketMQTemplate rocketMQTemplate) {
log.info("[rocketMQIotMessageBus][创建 RocketMQ IoT 消息总线]");
return new RocketMQIotMessageBus(rocketMQProperties, rocketMQTemplate);
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusProperties.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusProperties.java
similarity index 91%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusProperties.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusProperties.java
index eac974ee54..501eb2b0d8 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/config/IotMessageBusProperties.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/config/IotMessageBusProperties.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.messagebus.config;
+package cn.iocoder.yudao.module.iot.core.messagebus.config;
import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBus.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBus.java
similarity index 89%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBus.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBus.java
index 931e963989..b032298795 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBus.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBus.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.messagebus.core;
+package cn.iocoder.yudao.module.iot.core.messagebus.core;
/**
* IoT 消息总线接口
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBusSubscriber.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBusSubscriber.java
similarity index 87%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBusSubscriber.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBusSubscriber.java
index a8bdff9fa3..631fa88e5e 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/IotMessageBusSubscriber.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/IotMessageBusSubscriber.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.messagebus.core;
+package cn.iocoder.yudao.module.iot.core.messagebus.core;
/**
* IoT 消息总线订阅者接口
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessage.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessage.java
similarity index 72%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessage.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessage.java
index bd048e558a..c8c727792a 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessage.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessage.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.messagebus.core.local;
+package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
import lombok.AllArgsConstructor;
import lombok.Data;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBus.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBus.java
similarity index 87%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBus.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBus.java
index 5a27a676b2..af73547200 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBus.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBus.java
@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.iot.messagebus.core.local;
+package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
import cn.hutool.core.collection.CollUtil;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.ApplicationContext;
@@ -12,8 +12,6 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.CopyOnWriteArrayList;
/**
* 本地的 {@link IotMessageBus} 实现类
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBus.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBus.java
similarity index 94%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBus.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBus.java
index 346d66efbf..a304ef4597 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBus.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBus.java
@@ -1,9 +1,9 @@
-package cn.iocoder.yudao.module.iot.messagebus.core.rocketmq;
+package cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq;
import cn.hutool.core.util.TypeUtil;
import cn.iocoder.yudao.framework.common.util.json.JsonUtils;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/message/IotDeviceMessage.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/message/IotDeviceMessage.java
similarity index 86%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/message/IotDeviceMessage.java
rename to yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/message/IotDeviceMessage.java
index c55e806691..43b9f2e5d4 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/message/IotDeviceMessage.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/message/IotDeviceMessage.java
@@ -1,7 +1,7 @@
-package cn.iocoder.yudao.module.iot.common.message;
+package cn.iocoder.yudao.module.iot.core.mq.message;
-import cn.iocoder.yudao.module.iot.common.enums.IotDeviceMessageIdentifierEnum;
-import cn.iocoder.yudao.module.iot.common.enums.IotDeviceMessageTypeEnum;
+import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageIdentifierEnum;
+import cn.iocoder.yudao.module.iot.core.enums.IotDeviceMessageTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
diff --git a/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/producer/IotDeviceMessageProducer.java b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/producer/IotDeviceMessageProducer.java
new file mode 100644
index 0000000000..7e23dc4b6d
--- /dev/null
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/java/cn/iocoder/yudao/module/iot/core/mq/producer/IotDeviceMessageProducer.java
@@ -0,0 +1,48 @@
+package cn.iocoder.yudao.module.iot.core.mq.producer;
+
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
+import cn.iocoder.yudao.module.iot.core.mq.message.IotDeviceMessage;
+import lombok.RequiredArgsConstructor;
+
+/**
+ * IoT 设备消息生产者
+ *
+ * @author 芋道源码
+ */
+@RequiredArgsConstructor
+public class IotDeviceMessageProducer {
+
+ /**
+ * 【消息总线】应用的设备消息 Topic,由 iot-gateway 发给 iot-biz 进行消费
+ */
+ private static final String MESSAGE_BUS_DEVICE_MESSAGE_TOPIC = "iot_device_message";
+
+ /**
+ * 【消息总线】设备消息 Topic,由 iot-biz 发送给 iot-gateway 的某个 “server”(protocol) 进行消费
+ *
+ * 其中,%s 就是该“server”(protocol) 的标识
+ */
+ private static final String MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC = MESSAGE_BUS_DEVICE_MESSAGE_TOPIC + "/%s";
+
+ private final IotMessageBus messageBus;
+
+ /**
+ * 发送设备消息
+ *
+ * @param message 设备消息
+ */
+ public void sendDeviceMessage(IotDeviceMessage message) {
+ messageBus.post(MESSAGE_BUS_DEVICE_MESSAGE_TOPIC, message);
+ }
+
+ /**
+ * 发送网关设备消息
+ *
+ * @param server 网关的 server 标识
+ * @param message 设备消息
+ */
+ public void sendGatewayDeviceMessage(String server, Object message) {
+ messageBus.post(String.format(MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC, server), message);
+ }
+
+}
diff --git a/yudao-module-iot/yudao-module-iot-core/src/main/resources/META-INF/spring.factories b/yudao-module-iot/yudao-module-iot-core/src/main/resources/META-INF/spring.factories
new file mode 100644
index 0000000000..bfb44267ce
--- /dev/null
+++ b/yudao-module-iot/yudao-module-iot-core/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,2 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/TestMessage.java b/yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/TestMessage.java
similarity index 65%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/TestMessage.java
rename to yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/TestMessage.java
index df12d601a5..e06c9ec04b 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/TestMessage.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/TestMessage.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.messagebus.core;
+package cn.iocoder.yudao.module.iot.core.messagebus.core;
import lombok.Data;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBusIntegrationTest.java b/yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBusIntegrationTest.java
similarity index 94%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBusIntegrationTest.java
rename to yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBusIntegrationTest.java
index c44997f6c7..de757dd71e 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/local/LocalIotMessageBusIntegrationTest.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/local/LocalIotMessageBusIntegrationTest.java
@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.iot.messagebus.core.local;
+package cn.iocoder.yudao.module.iot.core.messagebus.core.local;
-import cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
+import cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.junit.jupiter.api.Test;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java b/yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java
similarity index 95%
rename from yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java
rename to yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java
index bd8ab074d4..babd3b252e 100644
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/test/java/cn/iocoder/yudao/module/iot/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java
+++ b/yudao-module-iot/yudao-module-iot-core/src/test/java/cn/iocoder/yudao/module/iot/core/messagebus/core/rocketmq/RocketMQIotMessageBusTest.java
@@ -1,17 +1,14 @@
-package cn.iocoder.yudao.module.iot.messagebus.core.rocketmq;
+package cn.iocoder.yudao.module.iot.core.messagebus.core.rocketmq;
import cn.hutool.core.util.IdUtil;
-import cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBus;
-import cn.iocoder.yudao.module.iot.messagebus.core.IotMessageBusSubscriber;
-import cn.iocoder.yudao.module.iot.messagebus.core.TestMessage;
+import cn.iocoder.yudao.module.iot.core.messagebus.config.IotMessageBusAutoConfiguration;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBus;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.IotMessageBusSubscriber;
+import cn.iocoder.yudao.module.iot.core.messagebus.core.TestMessage;
import jakarta.annotation.Resource;
-import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.autoconfigure.RocketMQAutoConfiguration;
-import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.junit.jupiter.api.Test;
-import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.TestPropertySource;
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/pom.xml b/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/pom.xml
deleted file mode 100644
index 3cf3fb69ed..0000000000
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/pom.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
- yudao-module-iot-core
- cn.iocoder.boot
- ${revision}
-
- 4.0.0
- yudao-module-iot-common
- jar
-
- ${project.artifactId}
-
- iot 模块下,提供通用的功能。
- 1. 跨 iot-biz 和 iot-gateway 的设备消息
- 2. 查询设备信息的通用 API
-
-
-
-
- cn.iocoder.boot
- yudao-common
-
-
-
-
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotCommonConstants.java b/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotCommonConstants.java
deleted file mode 100644
index 4a8860c28e..0000000000
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-common/src/main/java/cn/iocoder/yudao/module/iot/common/enums/IotCommonConstants.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package cn.iocoder.yudao.module.iot.common.enums;
-
-/**
- * IoT 通用的枚举
- *
- * @author 芋道源码
- */
-public interface IotCommonConstants {
-
- /**
- * 【消息总线】应用的设备消息 Topic,由 iot-gateway 发给 iot-biz 进行消费
- */
- String MESSAGE_BUS_DEVICE_MESSAGE_TOPIC = "iot_device_message";
-
- /**
- * 【消息总线】设备消息 Topic,由 iot-biz 发送给 iot-gateway 的某个 “server”(protocol) 进行消费
- *
- * 其中,%s 就是该“server”(protocol) 的标识
- */
- String MESSAGE_BUS_GATEWAY_DEVICE_MESSAGE_TOPIC = MESSAGE_BUS_DEVICE_MESSAGE_TOPIC + "/%s";
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/pom.xml b/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/pom.xml
deleted file mode 100644
index 436ec9ec67..0000000000
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/pom.xml
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- yudao-module-iot-core
- cn.iocoder.boot
- ${revision}
-
- 4.0.0
- yudao-module-iot-message-bus
- jar
-
- ${project.artifactId}
-
- iot 模块下,提供消息总线的功能。
- 可选择使用 spring event、redis stream、rocketmq、kafka、rabbitmq 等。
-
-
-
-
- cn.iocoder.boot
- yudao-common
-
-
-
-
- org.springframework.boot
- spring-boot-starter
-
-
-
-
- org.springframework.data
- spring-data-redis
- true
-
-
-
- org.apache.rocketmq
- rocketmq-spring-boot-starter
- true
-
-
-
- org.springframework.amqp
- spring-rabbit
- true
-
-
-
- org.springframework.kafka
- spring-kafka
- true
-
-
-
-
- org.springframework.boot
- spring-boot-starter-test
- test
-
-
-
-
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/resources/META-INF/spring.factories b/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/resources/META-INF/spring.factories
deleted file mode 100644
index 04096de530..0000000000
--- a/yudao-module-iot/yudao-module-iot-core/yudao-module-iot-message-bus/src/main/resources/META-INF/spring.factories
+++ /dev/null
@@ -1,2 +0,0 @@
-org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
-cn.iocoder.yudao.module.iot.messagebus.config.IotMessageBusAutoConfiguration
\ No newline at end of file