Selaa lähdekoodia

【功能完善】IoT: 重命名插件模块,重构插件管理逻辑,优化代码结构,更新配置文件以支持新插件架构。

安浩浩 6 kuukautta sitten
vanhempi
sitoutus
698cec92bd
26 muutettua tiedostoa jossa 193 lisäystä ja 163 poistoa
  1. 1 1
      yudao-module-iot/pom.xml
  2. 0 43
      yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/dependency-reduced-pom.xml
  3. 0 26
      yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/HttpPluginSpringbootApplication.java
  4. 0 69
      yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/config/TestConfiguration.java
  5. 2 1
      yudao-module-iot/yudao-module-iot-plugins/pom.xml
  6. 55 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/pom.xml
  7. 60 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/api/DeviceDataApiClient.java
  8. 29 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/DeviceDataApiInitializer.java
  9. 1 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/package-info.java
  10. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/plugin.properties
  11. 1 1
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/pom.xml
  12. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/src/main/assembly/assembly.xml
  13. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/src/main/java/cn/iocoder/yudao/module/iot/plugin/EmqxPlugin.java
  14. 1 1
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/plugin.properties
  15. 3 17
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/pom.xml
  16. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/assembly/assembly.xml
  17. 16 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/HttpPluginSpringbootApplication.java
  18. 2 2
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/HttpVertxPlugin.java
  19. 16 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/HttpVertxPluginConfiguration.java
  20. 1 1
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/service/HttpVertxHandler.java
  21. 4 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/resources/application.yml
  22. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/plugin.properties
  23. 1 1
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/pom.xml
  24. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/src/main/assembly/assembly.xml
  25. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/src/main/java/cn/iocoder/yudao/module/iot/plugin/MqttPlugin.java
  26. 0 0
      yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/src/main/java/cn/iocoder/yudao/module/iot/plugin/MqttServerExtension.java

+ 1 - 1
yudao-module-iot/pom.xml

@@ -10,7 +10,7 @@
     <modules>
         <module>yudao-module-iot-api</module>
         <module>yudao-module-iot-biz</module>
-        <module>yudao-module-iot-plugin</module>
+        <module>yudao-module-iot-plugins</module>
     </modules>
     <modelVersion>4.0.0</modelVersion>
 

+ 0 - 43
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/dependency-reduced-pom.xml

@@ -1,43 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-  <parent>
-    <artifactId>yudao-module-iot-plugin</artifactId>
-    <groupId>cn.iocoder.boot</groupId>
-    <version>2.2.0-snapshot</version>
-  </parent>
-  <modelVersion>4.0.0</modelVersion>
-  <artifactId>yudao-module-iot-plugin-http</artifactId>
-  <name>${project.artifactId}</name>
-  <version>1.0.0</version>
-  <description>物联网 插件模块 - http 插件</description>
-  <build>
-    <plugins>
-      <plugin>
-        <artifactId>maven-shade-plugin</artifactId>
-        <version>3.2.4</version>
-        <executions>
-          <execution>
-            <phase>package</phase>
-            <goals>
-              <goal>shade</goal>
-            </goals>
-            <configuration>
-              <transformers>
-                <transformer>
-                  <mainClass>com.example.HttpPluginSpringbootApplication</mainClass>
-                </transformer>
-              </transformers>
-            </configuration>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
-  <properties>
-    <plugin.id>${project.artifactId}</plugin.id>
-    <plugin.description>${project.artifactId}-${project.version}</plugin.description>
-    <plugin.class>cn.iocoder.yudao.module.iot.config.HttpVertxPlugin</plugin.class>
-    <plugin.version>${project.version}</plugin.version>
-    <plugin.provider>yudao</plugin.provider>
-  </properties>
-</project>

+ 0 - 26
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/HttpPluginSpringbootApplication.java

@@ -1,26 +0,0 @@
-package cn.iocoder.yudao.module.iot;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.WebApplicationType;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-// TODO @haohao:建议包名:cn.iocoder.yudao.module.iot.plugin.${pluginName},例如说 http。然后子包如下:
-// config:方配置类,以及 HttpVertxPlugin 初始化
-// service:放 HttpVertxHandler 逻辑;
-@SpringBootApplication
-public class HttpPluginSpringbootApplication {
-
-    public static void main(String[] args) {
-//        SpringApplication.run(HttpPluginSpringbootApplication.class, args);
-        SpringApplication application = new SpringApplication(HttpPluginSpringbootApplication.class);
-        application.setWebApplicationType(WebApplicationType.NONE);
-        application.run(args);
-    }
-
-}
-
-// TODO @haohao:如下是 sdk 的包:cn.iocoder.yudao.module.iot.plugin.sdk
-// 1. api 包:实现 DeviceDataApi 接口,通过 resttemplate 调用
-// 2. config 包:初始化 DeviceDataApi 等等
-
-// 3. 其中 resttemplate 调用的后端地址,通过每个服务的 application.yaml 进行注入。

+ 0 - 69
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/config/TestConfiguration.java

@@ -1,69 +0,0 @@
-package cn.iocoder.yudao.module.iot.config;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.module.iot.api.device.DeviceDataApi;
-import cn.iocoder.yudao.module.iot.api.device.dto.IotDeviceEventReportReqDTO;
-import cn.iocoder.yudao.module.iot.api.device.dto.IotDevicePropertyReportReqDTO;
-import cn.iocoder.yudao.module.iot.api.device.dto.IotDeviceStatusUpdateReqDTO;
-import org.pf4j.DefaultPluginManager;
-import org.pf4j.PluginWrapper;
-import org.springframework.boot.web.client.RestTemplateBuilder;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.web.client.RestTemplate;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-// TODO 芋艿:临时实现;
-@Configuration
-public class TestConfiguration {
-
-//    @Resource
-//    private RestTemplate restTemplate;
-
-    // TODO 芋艿:这里,后续看看怎么创建好点
-    @Bean
-    public RestTemplate restTemplate() {
-        return new RestTemplateBuilder().build();
-    }
-
-    @Bean
-    public DeviceDataApi deviceDataApi(RestTemplate restTemplate) {
-        return new DeviceDataApi() {
-
-            @Override
-            public CommonResult<Boolean> updateDeviceStatus(IotDeviceStatusUpdateReqDTO updateReqDTO) {
-                // TODO haohao:待实现
-                return null;
-            }
-
-            @Override
-            public CommonResult<Boolean> reportDeviceEventData(IotDeviceEventReportReqDTO reportReqDTO) {
-                // TODO haohao:待实现
-                return null;
-            }
-
-            @Override
-            public CommonResult<Boolean> reportDevicePropertyData(IotDevicePropertyReportReqDTO reportReqDTO) {
-                // TODO haohao:待完整实现
-                String url = "http://127.0.0.1:48080/rpc-api/iot/device-data/report-property";
-                try {
-                    restTemplate.postForObject(url, reportReqDTO, CommonResult.class);
-                    return success(true);
-                } catch (Exception e) {
-                    e.printStackTrace();
-                    return CommonResult.error(400, "error");
-                }
-            }
-
-        };
-    }
-
-    // TODO @haohao:可能要看下,有没更好的方式
-    @Bean(initMethod = "start")
-    public HttpVertxPlugin HttpVertxPlugin() {
-        PluginWrapper pluginWrapper = new PluginWrapper(new DefaultPluginManager(), null, null, null);
-        return new HttpVertxPlugin(pluginWrapper);
-    }
-
-}

+ 2 - 1
yudao-module-iot/yudao-module-iot-plugin/pom.xml → yudao-module-iot/yudao-module-iot-plugins/pom.xml

@@ -8,6 +8,7 @@
         <version>${revision}</version>
     </parent>
     <modules>
+        <module>yudao-module-iot-plugin-common</module>
         <module>yudao-module-iot-plugin-http</module>
         <module>yudao-module-iot-plugin-mqtt</module>
         <module>yudao-module-iot-plugin-emqx</module>
@@ -15,7 +16,7 @@
 
     <modelVersion>4.0.0</modelVersion>
 
-    <artifactId>yudao-module-iot-plugin</artifactId>
+    <artifactId>yudao-module-iot-plugins</artifactId>
     <packaging>pom</packaging>
 
     <name>${project.artifactId}</name>

+ 55 - 0
yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/pom.xml

@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <parent>
+        <artifactId>yudao-module-iot-plugins</artifactId>
+        <groupId>cn.iocoder.boot</groupId>
+        <version>${revision}</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>yudao-module-iot-plugin-common</artifactId>
+    <packaging>jar</packaging>
+
+    <name>${project.artifactId}</name>
+    <description>
+        物联网 插件 模块 - 通用功能
+    </description>
+
+    <dependencies>
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-common</artifactId>
+        </dependency>
+        <!-- 项目依赖 -->
+        <dependency>
+            <groupId>cn.iocoder.boot</groupId>
+            <artifactId>yudao-module-iot-api</artifactId>
+            <version>${revision}</version>
+        </dependency>
+
+        <!-- 其他依赖项 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+        </dependency>
+
+        <!-- PF4J -->
+        <dependency>
+            <groupId>org.pf4j</groupId>
+            <artifactId>pf4j-spring</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.slf4j</groupId>
+                    <artifactId>slf4j-log4j12</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>org.projectlombok</groupId>
+            <artifactId>lombok</artifactId>
+        </dependency>
+    </dependencies>
+
+</project>

+ 60 - 0
yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/api/DeviceDataApiClient.java

@@ -0,0 +1,60 @@
+package cn.iocoder.yudao.module.iot.plugin.common.api;
+
+import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.module.iot.api.device.DeviceDataApi;
+import cn.iocoder.yudao.module.iot.api.device.dto.IotDeviceEventReportReqDTO;
+import cn.iocoder.yudao.module.iot.api.device.dto.IotDevicePropertyReportReqDTO;
+import cn.iocoder.yudao.module.iot.api.device.dto.IotDeviceStatusUpdateReqDTO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.client.RestTemplate;
+
+import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
+
+@Slf4j
+public class DeviceDataApiClient implements DeviceDataApi {
+
+    private final RestTemplate restTemplate;
+    private final String deviceDataUrl;
+
+    // 可以通过构造器把 RestTemplate 和 baseUrl 注入进来
+    public DeviceDataApiClient(RestTemplate restTemplate, String deviceDataUrl) {
+        this.restTemplate = restTemplate;
+        this.deviceDataUrl = deviceDataUrl;
+    }
+
+    @Override
+    public CommonResult<Boolean> updateDeviceStatus(IotDeviceStatusUpdateReqDTO updateReqDTO) {
+        // 示例:如果对应的远程地址是 /rpc-api/iot/device-data/update-status
+        String url = deviceDataUrl + "/rpc-api/iot/device-data/update-status";
+        return doPost(url, updateReqDTO, "updateDeviceStatus");
+    }
+
+    @Override
+    public CommonResult<Boolean> reportDeviceEventData(IotDeviceEventReportReqDTO reportReqDTO) {
+        // 示例:如果对应的远程地址是 /rpc-api/iot/device-data/report-event
+        String url = deviceDataUrl + "/rpc-api/iot/device-data/report-event";
+        return doPost(url, reportReqDTO, "reportDeviceEventData");
+    }
+
+    @Override
+    public CommonResult<Boolean> reportDevicePropertyData(IotDevicePropertyReportReqDTO reportReqDTO) {
+        // 示例:如果对应的远程地址是 /rpc-api/iot/device-data/report-property
+        String url = deviceDataUrl + "/rpc-api/iot/device-data/report-property";
+        return doPost(url, reportReqDTO, "reportDevicePropertyData");
+    }
+
+    /**
+     * 将与远程服务交互的通用逻辑抽取成一个私有方法
+     */
+    private <T> CommonResult<Boolean> doPost(String url, T requestBody, String actionName) {
+        log.info("[{}] Sending request to URL: {}", actionName, url);
+        try {
+            // 这里指定返回类型为 CommonResult<?>,根据后台服务返回的实际结构做调整
+            restTemplate.postForObject(url, requestBody, CommonResult.class);
+            return success(true);
+        } catch (Exception e) {
+            log.error("[{}] Error sending request to URL: {}", actionName, url, e);
+            return CommonResult.error(400, "Request error: " + e.getMessage());
+        }
+    }
+}

+ 29 - 0
yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/DeviceDataApiInitializer.java

@@ -0,0 +1,29 @@
+package cn.iocoder.yudao.module.iot.plugin.common.config;
+
+import cn.iocoder.yudao.module.iot.api.device.DeviceDataApi;
+import cn.iocoder.yudao.module.iot.plugin.common.api.DeviceDataApiClient;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.web.client.RestTemplateBuilder;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class DeviceDataApiInitializer {
+
+    @Value("${iot.device-data.url}")
+    private String deviceDataUrl;
+
+    @Bean
+    public RestTemplate restTemplate() {
+        // 如果你有更多的自定义需求,比如连接池、超时时间等,可以在这里设置
+        return new RestTemplateBuilder().build();
+    }
+
+    @Bean
+    public DeviceDataApi deviceDataApi(RestTemplate restTemplate) {
+        // 返回我们自定义的 Client 实例
+        return new DeviceDataApiClient(restTemplate, deviceDataUrl);
+    }
+
+}

+ 1 - 0
yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/package-info.java

@@ -0,0 +1 @@
+package cn.iocoder.yudao.module.iot.plugin.common;

+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-emqx/plugin.properties → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/plugin.properties


+ 1 - 1
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-emqx/pom.xml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/pom.xml

@@ -4,7 +4,7 @@
          http://maven.apache.org/POM/4.0.0
          http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>yudao-module-iot-plugin</artifactId>
+        <artifactId>yudao-module-iot-plugins</artifactId>
         <groupId>cn.iocoder.boot</groupId>
         <version>${revision}</version>
     </parent>

+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-emqx/src/main/assembly/assembly.xml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/src/main/assembly/assembly.xml


+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-emqx/src/main/java/cn/iocoder/yudao/module/iot/plugin/EmqxPlugin.java → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-emqx/src/main/java/cn/iocoder/yudao/module/iot/plugin/EmqxPlugin.java


+ 1 - 1
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/plugin.properties → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/plugin.properties

@@ -1,5 +1,5 @@
 plugin.id=yudao-module-iot-plugin-http
-plugin.class=cn.iocoder.yudao.module.iot.config.HttpVertxPlugin
+plugin.class=cn.iocoder.yudao.module.iot.plugin.http.config.HttpVertxPlugin
 plugin.version=1.0.0
 plugin.provider=yudao
 plugin.dependencies=

+ 3 - 17
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/pom.xml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/pom.xml

@@ -4,7 +4,7 @@
          http://maven.apache.org/POM/4.0.0
          http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>yudao-module-iot-plugin</artifactId>
+        <artifactId>yudao-module-iot-plugins</artifactId>
         <groupId>cn.iocoder.boot</groupId>
         <version>${revision}</version>
     </parent>
@@ -22,7 +22,7 @@
     <properties>
         <!-- 插件相关 -->
         <plugin.id>${project.artifactId}</plugin.id>
-        <plugin.class>cn.iocoder.yudao.module.iot.config.HttpVertxPlugin</plugin.class>
+        <plugin.class>cn.iocoder.yudao.module.iot.plugin.http.config.HttpVertxPlugin</plugin.class>
         <plugin.version>${project.version}</plugin.version>
         <plugin.provider>yudao</plugin.provider>
         <plugin.description>${project.artifactId}-${project.version}</plugin.description>
@@ -121,26 +121,12 @@
     </build>
 
     <dependencies>
-        <!-- 其他依赖项 -->
-        <dependency>
-            <groupId>org.springframework.boot</groupId>
-            <artifactId>spring-boot-starter-web</artifactId>
-        </dependency>
-        <!-- PF4J Spring 集成 -->
-        <dependency>
-            <groupId>org.pf4j</groupId>
-            <artifactId>pf4j-spring</artifactId>
-        </dependency>
         <!-- 项目依赖 -->
         <dependency>
             <groupId>cn.iocoder.boot</groupId>
-            <artifactId>yudao-module-iot-api</artifactId>
+            <artifactId>yudao-module-iot-plugin-common</artifactId>
             <version>${revision}</version>
         </dependency>
-        <dependency>
-            <groupId>org.projectlombok</groupId>
-            <artifactId>lombok</artifactId>
-        </dependency>
         <!-- Vert.x Web -->
         <dependency>
             <groupId>io.vertx</groupId>

+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/assembly/assembly.xml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/assembly/assembly.xml


+ 16 - 0
yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/HttpPluginSpringbootApplication.java

@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.iot.plugin.http;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.WebApplicationType;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication(scanBasePackages = "cn.iocoder.yudao.module.iot.plugin")
+public class HttpPluginSpringbootApplication {
+
+    public static void main(String[] args) {
+        SpringApplication application = new SpringApplication(HttpPluginSpringbootApplication.class);
+        application.setWebApplicationType(WebApplicationType.NONE);
+        application.run(args);
+    }
+
+}

+ 2 - 2
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/config/HttpVertxPlugin.java → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/HttpVertxPlugin.java

@@ -1,8 +1,8 @@
-package cn.iocoder.yudao.module.iot.config;
+package cn.iocoder.yudao.module.iot.plugin.http.config;
 
 import cn.hutool.extra.spring.SpringUtil;
 import cn.iocoder.yudao.module.iot.api.device.DeviceDataApi;
-import cn.iocoder.yudao.module.iot.service.HttpVertxHandler;
+import cn.iocoder.yudao.module.iot.plugin.http.service.HttpVertxHandler;
 import io.vertx.core.Vertx;
 import io.vertx.ext.web.Router;
 import io.vertx.ext.web.handler.BodyHandler;

+ 16 - 0
yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/HttpVertxPluginConfiguration.java

@@ -0,0 +1,16 @@
+package cn.iocoder.yudao.module.iot.plugin.http.config;
+
+import org.pf4j.DefaultPluginManager;
+import org.pf4j.PluginWrapper;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class HttpVertxPluginConfiguration {
+
+    @Bean(initMethod = "start")
+    public HttpVertxPlugin httpVertxPlugin() {
+        PluginWrapper pluginWrapper = new PluginWrapper(new DefaultPluginManager(), null, null, null);
+        return new HttpVertxPlugin(pluginWrapper);
+    }
+} 

+ 1 - 1
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/service/HttpVertxHandler.java → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/service/HttpVertxHandler.java

@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.service;
+package cn.iocoder.yudao.module.iot.plugin.http.service;
 
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;

+ 4 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-http/src/main/resources/application.yml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/resources/application.yml

@@ -1,3 +1,7 @@
 spring:
   application:
     name: yudao-module-iot-plugin-http
+
+iot:
+  device-data:
+    url: http://127.0.0.1:48080

+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-mqtt/plugin.properties → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/plugin.properties


+ 1 - 1
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-mqtt/pom.xml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/pom.xml

@@ -4,7 +4,7 @@
          http://maven.apache.org/POM/4.0.0
          http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <parent>
-        <artifactId>yudao-module-iot-plugin</artifactId>
+        <artifactId>yudao-module-iot-plugins</artifactId>
         <groupId>cn.iocoder.boot</groupId>
         <version>${revision}</version>
     </parent>

+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-mqtt/src/main/assembly/assembly.xml → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/src/main/assembly/assembly.xml


+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-mqtt/src/main/java/cn/iocoder/yudao/module/iot/plugin/MqttPlugin.java → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/src/main/java/cn/iocoder/yudao/module/iot/plugin/MqttPlugin.java


+ 0 - 0
yudao-module-iot/yudao-module-iot-plugin/yudao-module-iot-plugin-mqtt/src/main/java/cn/iocoder/yudao/module/iot/plugin/MqttServerExtension.java → yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-mqtt/src/main/java/cn/iocoder/yudao/module/iot/plugin/MqttServerExtension.java