diff --git a/yudao-dependencies/pom.xml b/yudao-dependencies/pom.xml
index e7035871fb..05d9aa2b96 100644
--- a/yudao-dependencies/pom.xml
+++ b/yudao-dependencies/pom.xml
@@ -600,39 +600,42 @@
-
-
- org.eclipse.paho
- org.eclipse.paho.client.mqttv3
- ${mqtt.version}
-
-
org.pf4j
pf4j-spring
${pf4j-spring.version}
+
+
+ org.slf4j
+ slf4j-log4j12
+
+
-
+
io.vertx
vertx-core
${vertx.version}
-
io.vertx
vertx-web
${vertx.version}
-
io.vertx
vertx-mqtt
${vertx.version}
+
+
+ org.eclipse.paho
+ org.eclipse.paho.client.mqttv3
+ ${mqtt.version}
+
diff --git a/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml b/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
index 2a14c88b87..1f3c9144bf 100644
--- a/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
+++ b/yudao-framework/yudao-spring-boot-starter-mybatis/pom.xml
@@ -63,10 +63,6 @@
opengauss-jdbc
true
-
- com.taosdata.jdbc
- taos-jdbcdriver
-
com.alibaba
diff --git a/yudao-module-iot/yudao-module-iot-api/pom.xml b/yudao-module-iot/yudao-module-iot-api/pom.xml
index ab492729c5..4a31c9bf55 100644
--- a/yudao-module-iot/yudao-module-iot-api/pom.xml
+++ b/yudao-module-iot/yudao-module-iot-api/pom.xml
@@ -40,13 +40,6 @@
org.pf4j
pf4j-spring
-
-
-
- org.slf4j
- slf4j-log4j12
-
-
diff --git a/yudao-module-iot/yudao-module-iot-biz/pom.xml b/yudao-module-iot/yudao-module-iot-biz/pom.xml
index 1ac3f915a0..cc3141939d 100644
--- a/yudao-module-iot/yudao-module-iot-biz/pom.xml
+++ b/yudao-module-iot/yudao-module-iot-biz/pom.xml
@@ -52,6 +52,11 @@
yudao-spring-boot-starter-redis
+
+ com.taosdata.jdbc
+ taos-jdbcdriver
+
+
cn.iocoder.boot
@@ -64,12 +69,13 @@
yudao-spring-boot-starter-excel
-
+
io.vertx
vertx-web
+
org.eclipse.paho
org.eclipse.paho.client.mqttv3
@@ -78,13 +84,6 @@
org.pf4j
pf4j-spring
-
-
-
- org.slf4j
- slf4j-log4j12
-
-
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/plugininfo/PluginInfoMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/plugininfo/PluginInfoMapper.xml
deleted file mode 100644
index f24f7e14ce..0000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/plugininfo/PluginInfoMapper.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/plugininstance/PluginInstanceMapper.xml b/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/plugininstance/PluginInstanceMapper.xml
deleted file mode 100644
index df38e85eb6..0000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/resources/mapper/plugininstance/PluginInstanceMapper.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/pom.xml b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/pom.xml
index ccf010f24e..1e5a69bfa7 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/pom.xml
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/pom.xml
@@ -40,6 +40,13 @@
io.vertx
vertx-web
+
+
+
+ org.springframework.boot
+ spring-boot-starter-validation
+ true
+
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonAutoConfiguration.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonAutoConfiguration.java
index 0e5c73b092..7e3d669f20 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonAutoConfiguration.java
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonAutoConfiguration.java
@@ -3,59 +3,43 @@ package cn.iocoder.yudao.module.iot.plugin.common.config;
import cn.iocoder.yudao.module.iot.api.device.IotDeviceUpstreamApi;
import cn.iocoder.yudao.module.iot.plugin.common.downstream.IotDeviceDownstreamHandler;
import cn.iocoder.yudao.module.iot.plugin.common.downstream.IotDeviceDownstreamServer;
-import cn.iocoder.yudao.module.iot.plugin.common.heartbeta.IotPluginInstanceHeartbeatJob;
+import cn.iocoder.yudao.module.iot.plugin.common.heartbeat.IotPluginInstanceHeartbeatJob;
import cn.iocoder.yudao.module.iot.plugin.common.upstream.IotDeviceUpstreamClient;
-import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.client.RestTemplate;
-import java.time.Duration;
-
/**
* IoT 插件的通用自动配置类
*
* @author haohao
*/
@AutoConfiguration
+@EnableConfigurationProperties(IotPluginCommonProperties.class)
@EnableScheduling // 开启定时任务,因为 IotPluginInstanceHeartbeatJob 是一个定时任务
public class IotPluginCommonAutoConfiguration {
- // TODO @haohao:这个要不搞个配置类哈
- @Value("${iot.device-data.url}")
- private String deviceDataUrl;
-
- /**
- * 创建 RestTemplate 实例
- *
- * @return RestTemplate 实例
- */
@Bean
- public RestTemplate restTemplate() {
- // 如果你有更多的自定义需求,比如连接池、超时时间等,可以在这里设置
+ public RestTemplate restTemplate(IotPluginCommonProperties properties) {
return new RestTemplateBuilder()
- .connectTimeout(Duration.ofMillis(5000)) // 设置连接超时时间
- .readTimeout(Duration.ofMillis(5000)) // 设置读取超时时间
+ .connectTimeout(properties.getUpstreamConnectTimeout())
+ .readTimeout(properties.getUpstreamReadTimeout())
.build();
}
- /**
- * 创建 DeviceDataApi 实例
- *
- * @param restTemplate RestTemplate 实例
- * @return DeviceDataApi 实例
- */
@Bean
- public IotDeviceUpstreamApi deviceDataApi(RestTemplate restTemplate) {
- return new IotDeviceUpstreamClient(restTemplate, deviceDataUrl);
+ public IotDeviceUpstreamApi deviceUpstreamApi(IotPluginCommonProperties properties,
+ RestTemplate restTemplate) {
+ return new IotDeviceUpstreamClient(properties, restTemplate);
}
@Bean(initMethod = "start", destroyMethod = "stop")
- @SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
- public IotDeviceDownstreamServer deviceDownstreamServer(IotDeviceDownstreamHandler deviceDownstreamHandler) {
- return new IotDeviceDownstreamServer(deviceDownstreamHandler);
+ public IotDeviceDownstreamServer deviceDownstreamServer(IotPluginCommonProperties properties,
+ IotDeviceDownstreamHandler deviceDownstreamHandler) {
+ return new IotDeviceDownstreamServer(properties, deviceDownstreamHandler);
}
@Bean(initMethod = "init", destroyMethod = "stop")
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonProperties.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonProperties.java
new file mode 100644
index 0000000000..556786507c
--- /dev/null
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/config/IotPluginCommonProperties.java
@@ -0,0 +1,48 @@
+package cn.iocoder.yudao.module.iot.plugin.common.config;
+
+import jakarta.validation.constraints.NotEmpty;
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.validation.annotation.Validated;
+
+import java.time.Duration;
+
+@ConfigurationProperties(prefix = "yudao.iot.plugin.common")
+@Validated
+@Data
+public class IotPluginCommonProperties {
+
+ /**
+ * 上行连接超时的默认值
+ */
+ public static final Duration UPSTREAM_CONNECT_TIMEOUT_DEFAULT = Duration.ofSeconds(30);
+ /**
+ * 上行读取超时的默认值
+ */
+ public static final Duration UPSTREAM_READ_TIMEOUT_DEFAULT = Duration.ofSeconds(30);
+
+ /**
+ * 下行端口 - 随机
+ */
+ public static final Integer DOWNSTREAM_PORT_RANDOM = 0;
+
+ /**
+ * 上行 URL
+ */
+ @NotEmpty(message = "上行 URL 不能为空")
+ private String upstreamUrl;
+ /**
+ * 上行连接超时
+ */
+ private Duration upstreamConnectTimeout = UPSTREAM_CONNECT_TIMEOUT_DEFAULT;
+ /**
+ * 上行读取超时
+ */
+ private Duration upstreamReadTimeout = UPSTREAM_READ_TIMEOUT_DEFAULT;
+
+ /**
+ * 下行端口
+ */
+ private Integer downstreamPort = DOWNSTREAM_PORT_RANDOM;
+
+}
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/downstream/IotDeviceDownstreamServer.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/downstream/IotDeviceDownstreamServer.java
index 4c45e972e5..797d36d45b 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/downstream/IotDeviceDownstreamServer.java
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/downstream/IotDeviceDownstreamServer.java
@@ -1,5 +1,6 @@
package cn.iocoder.yudao.module.iot.plugin.common.downstream;
+import cn.iocoder.yudao.module.iot.plugin.common.config.IotPluginCommonProperties;
import cn.iocoder.yudao.module.iot.plugin.common.downstream.router.IotDevicePropertyGetVertxHandler;
import cn.iocoder.yudao.module.iot.plugin.common.downstream.router.IotDevicePropertySetVertxHandler;
import cn.iocoder.yudao.module.iot.plugin.common.downstream.router.IotDeviceServiceInvokeVertxHandler;
@@ -19,8 +20,11 @@ public class IotDeviceDownstreamServer {
private final Vertx vertx;
private final HttpServer server;
+ private final IotPluginCommonProperties properties;
- public IotDeviceDownstreamServer(IotDeviceDownstreamHandler deviceDownstreamHandler) {
+ public IotDeviceDownstreamServer(IotPluginCommonProperties properties,
+ IotDeviceDownstreamHandler deviceDownstreamHandler) {
+ this.properties = properties;
// 创建 Vertx 实例
this.vertx = Vertx.vertx();
// 创建 Router 实例
@@ -41,7 +45,7 @@ public class IotDeviceDownstreamServer {
*/
public void start() {
log.info("[start][开始启动]");
- server.listen(0) // 通过 0 自动选择端口
+ server.listen(properties.getDownstreamPort())
.toCompletionStage()
.toCompletableFuture()
.join();
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/heartbeta/IotPluginInstanceHeartbeatJob.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/heartbeat/IotPluginInstanceHeartbeatJob.java
similarity index 84%
rename from yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/heartbeta/IotPluginInstanceHeartbeatJob.java
rename to yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/heartbeat/IotPluginInstanceHeartbeatJob.java
index fe0244bc94..238d34f98a 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/heartbeta/IotPluginInstanceHeartbeatJob.java
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/heartbeat/IotPluginInstanceHeartbeatJob.java
@@ -1,4 +1,4 @@
-package cn.iocoder.yudao.module.iot.plugin.common.heartbeta;
+package cn.iocoder.yudao.module.iot.plugin.common.heartbeat;
import cn.hutool.system.SystemUtil;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
@@ -7,6 +7,7 @@ import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotPluginInst
import cn.iocoder.yudao.module.iot.plugin.common.downstream.IotDeviceDownstreamServer;
import cn.iocoder.yudao.module.iot.plugin.common.util.IotPluginCommonUtils;
import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.scheduling.annotation.Scheduled;
import java.util.concurrent.TimeUnit;
@@ -17,6 +18,7 @@ import java.util.concurrent.TimeUnit;
* 用于定时发送心跳给服务端
*/
@RequiredArgsConstructor
+@Slf4j
public class IotPluginInstanceHeartbeatJob {
private final IotDeviceUpstreamApi deviceUpstreamApi;
@@ -24,22 +26,22 @@ public class IotPluginInstanceHeartbeatJob {
public void init() {
CommonResult result = deviceUpstreamApi.heartbeatPluginInstance(buildPluginInstanceHeartbeatReqDTO(true));
- // TODO @芋艿:结果的处理
+ log.info("[init][上线结果:{})]", result);
}
public void stop() {
CommonResult result = deviceUpstreamApi.heartbeatPluginInstance(buildPluginInstanceHeartbeatReqDTO(false));
- // TODO @芋艿:结果的处理
+ log.info("[stop][下线结果:{})]", result);
}
@Scheduled(initialDelay = 3, fixedRate = 3, timeUnit = TimeUnit.MINUTES) // 3 分钟执行一次
public void execute() {
CommonResult result = deviceUpstreamApi.heartbeatPluginInstance(buildPluginInstanceHeartbeatReqDTO(true));
- // TODO @芋艿:结果的处理
+ log.info("[execute][心跳结果:{})]", result);
}
private IotPluginInstanceHeartbeatReqDTO buildPluginInstanceHeartbeatReqDTO(Boolean online) {
- // TODO @芋艿:pluginKey 的获取???
+ // TODO @haohao:pluginKey 的获取???
return new IotPluginInstanceHeartbeatReqDTO()
.setPluginKey("yudao-module-iot-plugin-http").setProcessId(IotPluginCommonUtils.getProcessId())
.setHostIp(SystemUtil.getHostInfo().getAddress()).setDownstreamPort(deviceDownstreamServer.getPort())
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/upstream/IotDeviceUpstreamClient.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/upstream/IotDeviceUpstreamClient.java
index c71606f62d..f3934cb0da 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/upstream/IotDeviceUpstreamClient.java
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-common/src/main/java/cn/iocoder/yudao/module/iot/plugin/common/upstream/IotDeviceUpstreamClient.java
@@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceEven
import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDevicePropertyReportReqDTO;
import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceStateUpdateReqDTO;
import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotPluginInstanceHeartbeatReqDTO;
+import cn.iocoder.yudao.module.iot.plugin.common.config.IotPluginCommonProperties;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.client.RestTemplate;
@@ -25,32 +26,31 @@ public class IotDeviceUpstreamClient implements IotDeviceUpstreamApi {
public static final String URL_PREFIX = "/rpc-api/iot/device/upstream";
- private final RestTemplate restTemplate;
+ private final IotPluginCommonProperties properties;
- // TODO @芋艿:改个名字
- private final String deviceDataUrl;
+ private final RestTemplate restTemplate;
@Override
public CommonResult updateDeviceState(IotDeviceStateUpdateReqDTO updateReqDTO) {
- String url = deviceDataUrl + URL_PREFIX + "/update-state";
+ String url = properties.getUpstreamUrl() + URL_PREFIX + "/update-state";
return doPost(url, updateReqDTO);
}
@Override
public CommonResult reportDeviceEvent(IotDeviceEventReportReqDTO reportReqDTO) {
- String url = deviceDataUrl + URL_PREFIX + "/report-event";
+ String url = properties.getUpstreamUrl() + URL_PREFIX + "/report-event";
return doPost(url, reportReqDTO);
}
@Override
public CommonResult reportDeviceProperty(IotDevicePropertyReportReqDTO reportReqDTO) {
- String url = deviceDataUrl + URL_PREFIX + "/report-property";
+ String url = properties.getUpstreamUrl() + URL_PREFIX + "/report-property";
return doPost(url, reportReqDTO);
}
@Override
public CommonResult heartbeatPluginInstance(IotPluginInstanceHeartbeatReqDTO heartbeatReqDTO) {
- String url = deviceDataUrl + URL_PREFIX + "/heartbeat-plugin-instance";
+ String url = properties.getUpstreamUrl() + URL_PREFIX + "/heartbeat-plugin-instance";
return doPost(url, heartbeatReqDTO);
}
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpAutoConfiguration.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpAutoConfiguration.java
index 4e402f91fd..63e55f58fe 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpAutoConfiguration.java
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpAutoConfiguration.java
@@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.iot.api.device.IotDeviceUpstreamApi;
import cn.iocoder.yudao.module.iot.plugin.common.downstream.IotDeviceDownstreamHandler;
import cn.iocoder.yudao.module.iot.plugin.http.downstream.IotDeviceDownstreamHandlerImpl;
import cn.iocoder.yudao.module.iot.plugin.http.upstream.IotDeviceUpstreamServer;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@@ -14,18 +14,13 @@ import org.springframework.context.annotation.Configuration;
* @author haohao
*/
@Configuration
+@EnableConfigurationProperties(IotPluginHttpProperties.class)
public class IotPluginHttpAutoConfiguration {
- // TODO @haohao:这个要不要搞个配置类,更容易维护;
- /**
- * 可在 application.yml 中配置,默认端口 8092
- */
- @Value("${plugin.http.server.port:8092}")
- private Integer port;
-
@Bean(initMethod = "start", destroyMethod = "stop")
- public IotDeviceUpstreamServer deviceUpstreamServer(IotDeviceUpstreamApi deviceUpstreamApi) {
- return new IotDeviceUpstreamServer(port, deviceUpstreamApi);
+ public IotDeviceUpstreamServer deviceUpstreamServer(IotDeviceUpstreamApi deviceUpstreamApi,
+ IotPluginHttpProperties properties) {
+ return new IotDeviceUpstreamServer(properties, deviceUpstreamApi);
}
@Bean
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpProperties.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpProperties.java
new file mode 100644
index 0000000000..49dca81261
--- /dev/null
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/config/IotPluginHttpProperties.java
@@ -0,0 +1,17 @@
+package cn.iocoder.yudao.module.iot.plugin.http.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.validation.annotation.Validated;
+
+@ConfigurationProperties(prefix = "yudao.iot.plugin.http")
+@Validated
+@Data
+public class IotPluginHttpProperties {
+
+ /**
+ * HTTP 服务端口
+ */
+ private Integer serverPort;
+
+}
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/upstream/IotDeviceUpstreamServer.java b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/upstream/IotDeviceUpstreamServer.java
index 0e4cebfe87..42da951a24 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/upstream/IotDeviceUpstreamServer.java
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/java/cn/iocoder/yudao/module/iot/plugin/http/upstream/IotDeviceUpstreamServer.java
@@ -1,6 +1,7 @@
package cn.iocoder.yudao.module.iot.plugin.http.upstream;
import cn.iocoder.yudao.module.iot.api.device.IotDeviceUpstreamApi;
+import cn.iocoder.yudao.module.iot.plugin.http.config.IotPluginHttpProperties;
import cn.iocoder.yudao.module.iot.plugin.http.upstream.router.IotDeviceEventReportVertxHandler;
import cn.iocoder.yudao.module.iot.plugin.http.upstream.router.IotDevicePropertyReportVertxHandler;
import io.vertx.core.Vertx;
@@ -21,11 +22,11 @@ public class IotDeviceUpstreamServer {
private final Vertx vertx;
private final HttpServer server;
- private final Integer port;
+ private final IotPluginHttpProperties properties;
- public IotDeviceUpstreamServer(Integer port,
+ public IotDeviceUpstreamServer(IotPluginHttpProperties properties,
IotDeviceUpstreamApi deviceUpstreamApi) {
- this.port = port;
+ this.properties = properties;
// 创建 Vertx 实例
this.vertx = Vertx.vertx();
// 创建 Router 实例
@@ -44,7 +45,7 @@ public class IotDeviceUpstreamServer {
*/
public void start() {
log.info("[start][开始启动]");
- server.listen(port)
+ server.listen(properties.getServerPort())
.toCompletionStage()
.toCompletableFuture()
.join();
diff --git a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/resources/application.yml b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/resources/application.yml
index f7f89e3e67..4afeb4f26f 100644
--- a/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/resources/application.yml
+++ b/yudao-module-iot/yudao-module-iot-plugins/yudao-module-iot-plugin-http/src/main/resources/application.yml
@@ -2,11 +2,11 @@ spring:
application:
name: yudao-module-iot-plugin-http
-iot:
- device-data:
- url: http://127.0.0.1:48080
-
-plugin:
- http:
- server:
- port: 8092
\ No newline at end of file
+yudao:
+ iot:
+ plugin:
+ common:
+ upstream-url: http://127.0.0.1:48080
+ downstream-port: 8093
+ http:
+ server-port: 8092