Преглед изворни кода

【代码优化】IoT:去除 Simulation 关键字,定义更清晰

YunaiV пре 6 месеци
родитељ
комит
47c281d933

+ 12 - 14
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/IotDeviceController.java

@@ -6,9 +6,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationDownstreamReqVO;
+import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceDownstreamReqVO;
 import cn.iocoder.yudao.module.iot.controller.admin.device.vo.device.*;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationUpstreamReqVO;
+import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceUpstreamReqVO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
 import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
 import cn.iocoder.yudao.module.iot.service.device.control.IotDeviceDownstreamService;
@@ -159,21 +159,19 @@ public class IotDeviceController {
         ExcelUtils.write(response, "设备导入模板.xls", "数据", IotDeviceImportExcelVO.class, list);
     }
 
-    @PostMapping("/simulation-upstream")
-    @Operation(summary = "模拟设备上行")
-    @PreAuthorize("@ss.hasPermission('iot:device:simulation')")
-    public CommonResult<Boolean> simulationDeviceUpstream(
-            @Valid @RequestBody IotDeviceSimulationUpstreamReqVO upstreamReqVO) {
-        deviceUpstreamService.simulationDeviceUpstream(upstreamReqVO);
+    @PostMapping("/upstream")
+    @Operation(summary = "设备上行", description = "可用于设备模拟")
+    @PreAuthorize("@ss.hasPermission('iot:device:upstream')")
+    public CommonResult<Boolean> upstreamDevice(@Valid @RequestBody IotDeviceUpstreamReqVO upstreamReqVO) {
+        deviceUpstreamService.upstreamDevice(upstreamReqVO);
         return success(true);
     }
 
-    @PostMapping("/simulation-downstream")
-    @Operation(summary = "模拟设备下行")
-    @PreAuthorize("@ss.hasPermission('iot:device:simulation')")
-    public CommonResult<Boolean> simulationDownstreamDevice(
-            @Valid @RequestBody IotDeviceSimulationDownstreamReqVO downstreamReqVO) {
-        deviceDownstreamService.simulationDeviceDownstream(downstreamReqVO);
+    @PostMapping("/downstream")
+    @Operation(summary = "设备下行", description = "可用于设备模拟")
+    @PreAuthorize("@ss.hasPermission('iot:device:downstream')")
+    public CommonResult<Boolean> downstreamDevice(@Valid @RequestBody IotDeviceDownstreamReqVO downstreamReqVO) {
+        deviceDownstreamService.downstreamDevice(downstreamReqVO);
         return success(true);
     }
 

+ 2 - 2
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/control/IotDeviceSimulationDownstreamReqVO.java → yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/control/IotDeviceDownstreamReqVO.java

@@ -7,9 +7,9 @@ import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
-@Schema(description = "管理后台 - IoT 模拟设备下行 Request VO") // 服务调用、属性设置、属性获取等
+@Schema(description = "管理后台 - IoT 设备下行 Request VO") // 服务调用、属性设置、属性获取等
 @Data
-public class IotDeviceSimulationDownstreamReqVO {
+public class IotDeviceDownstreamReqVO {
 
     @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177")
     @NotNull(message = "设备编号不能为空")

+ 2 - 2
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/control/IotDeviceSimulationUpstreamReqVO.java → yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/control/IotDeviceUpstreamReqVO.java

@@ -7,9 +7,9 @@ import jakarta.validation.constraints.NotEmpty;
 import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
-@Schema(description = "管理后台 - IoT 模拟设备上行 Request VO") // 属性上报、事件上报、状态变更等
+@Schema(description = "管理后台 - IoT 设备上行 Request VO") // 属性上报、事件上报、状态变更等
 @Data
-public class IotDeviceSimulationUpstreamReqVO {
+public class IotDeviceUpstreamReqVO {
 
     @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177")
     @NotNull(message = "设备编号不能为空")

+ 7 - 0
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/device/IotDeviceDO.java

@@ -160,4 +160,11 @@ public class IotDeviceDO extends BaseDO {
      */
     private String address;
 
+    /**
+     * 设备配置
+     *
+     * JSON 格式,可下发给 device 进行自定义配置
+     */
+    private String config;
+
 }

+ 3 - 3
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/control/IotDeviceDownstreamService.java

@@ -1,6 +1,6 @@
 package cn.iocoder.yudao.module.iot.service.device.control;
 
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationDownstreamReqVO;
+import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceDownstreamReqVO;
 import jakarta.validation.Valid;
 
 /**
@@ -13,10 +13,10 @@ import jakarta.validation.Valid;
 public interface IotDeviceDownstreamService {
 
     /**
-     * 模拟设备下行
+     * 设备下行,可用于设备模拟
      *
      * @param downstreamReqVO 设备下行请求 VO
      */
-    void simulationDeviceDownstream(@Valid IotDeviceSimulationDownstreamReqVO downstreamReqVO);
+    void downstreamDevice(@Valid IotDeviceDownstreamReqVO downstreamReqVO);
 
 }

+ 5 - 5
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/control/IotDeviceDownstreamServiceImpl.java

@@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDeviceDo
 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDevicePropertyGetReqDTO;
 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDevicePropertySetReqDTO;
 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDeviceServiceInvokeReqDTO;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationDownstreamReqVO;
+import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceDownstreamReqVO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.plugin.IotPluginInstanceDO;
 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageIdentifierEnum;
@@ -56,7 +56,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
     private IotDeviceProducer deviceProducer;
 
     @Override
-    public void simulationDeviceDownstream(IotDeviceSimulationDownstreamReqVO downstreamReqVO) {
+    public void downstreamDevice(IotDeviceDownstreamReqVO downstreamReqVO) {
         // 校验设备是否存在
         IotDeviceDO device = deviceService.validateDeviceExists(downstreamReqVO.getId());
         // TODO 芋艿:父设备的处理
@@ -93,7 +93,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
      * @param parentDevice    父设备
      */
     @SuppressWarnings("unchecked")
-    private void invokeDeviceService(IotDeviceSimulationDownstreamReqVO downstreamReqVO,
+    private void invokeDeviceService(IotDeviceDownstreamReqVO downstreamReqVO,
                                      IotDeviceDO device, IotDeviceDO parentDevice) {
         // 1. 参数校验
         if (!(downstreamReqVO.getData() instanceof Map<?, ?>)) {
@@ -130,7 +130,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
      * @param parentDevice    父设备
      */
     @SuppressWarnings("unchecked")
-    private void setDeviceProperty(IotDeviceSimulationDownstreamReqVO downstreamReqVO,
+    private void setDeviceProperty(IotDeviceDownstreamReqVO downstreamReqVO,
                                    IotDeviceDO device, IotDeviceDO parentDevice) {
         // 1. 参数校验
         if (!(downstreamReqVO.getData() instanceof Map<?, ?>)) {
@@ -168,7 +168,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
      * @param parentDevice    父设备
      */
     @SuppressWarnings("unchecked")
-    private void getDeviceProperty(IotDeviceSimulationDownstreamReqVO downstreamReqVO,
+    private void getDeviceProperty(IotDeviceDownstreamReqVO downstreamReqVO,
                                    IotDeviceDO device, IotDeviceDO parentDevice) {
         // 1. 参数校验
         if (!(downstreamReqVO.getData() instanceof List<?>)) {

+ 3 - 3
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/control/IotDeviceUpstreamService.java

@@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.service.device.control;
 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceEventReportReqDTO;
 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.controller.admin.device.vo.control.IotDeviceSimulationUpstreamReqVO;
+import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceUpstreamReqVO;
 import jakarta.validation.Valid;
 
 /**
@@ -16,11 +16,11 @@ import jakarta.validation.Valid;
 public interface IotDeviceUpstreamService {
 
     /**
-     * 模拟设备上行
+     * 设备上行,可用于设备模拟
      *
      * @param simulatorReqVO 设备上行请求 VO
      */
-    void simulationDeviceUpstream(@Valid IotDeviceSimulationUpstreamReqVO simulatorReqVO);
+    void upstreamDevice(@Valid IotDeviceUpstreamReqVO simulatorReqVO);
 
     /**
      * 更新设备状态

+ 2 - 2
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/control/IotDeviceUpstreamServiceImpl.java

@@ -11,7 +11,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.IotDeviceUpstreamAbstractReqDTO;
-import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationUpstreamReqVO;
+import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceUpstreamReqVO;
 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageIdentifierEnum;
 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageTypeEnum;
@@ -52,7 +52,7 @@ public class IotDeviceUpstreamServiceImpl implements IotDeviceUpstreamService {
 
     @Override
     @SuppressWarnings("unchecked")
-    public void simulationDeviceUpstream(IotDeviceSimulationUpstreamReqVO simulatorReqVO) {
+    public void upstreamDevice(IotDeviceUpstreamReqVO simulatorReqVO) {
         // 1. 校验存在
         IotDeviceDO device = deviceService.validateDeviceExists(simulatorReqVO.getId());