Commit 47c281d933ffe3ace90ba73e66dcfc1863b33fb8

Authored by YunaiV
1 parent 25236678

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

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; @@ -6,9 +6,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
6 import cn.iocoder.yudao.framework.common.pojo.PageResult; 6 import cn.iocoder.yudao.framework.common.pojo.PageResult;
7 import cn.iocoder.yudao.framework.common.util.object.BeanUtils; 7 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
8 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; 8 import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
9 -import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationDownstreamReqVO; 9 +import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceDownstreamReqVO;
10 import cn.iocoder.yudao.module.iot.controller.admin.device.vo.device.*; 10 import cn.iocoder.yudao.module.iot.controller.admin.device.vo.device.*;
11 -import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationUpstreamReqVO; 11 +import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceUpstreamReqVO;
12 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; 12 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
13 import cn.iocoder.yudao.module.iot.service.device.IotDeviceService; 13 import cn.iocoder.yudao.module.iot.service.device.IotDeviceService;
14 import cn.iocoder.yudao.module.iot.service.device.control.IotDeviceDownstreamService; 14 import cn.iocoder.yudao.module.iot.service.device.control.IotDeviceDownstreamService;
@@ -159,21 +159,19 @@ public class IotDeviceController { @@ -159,21 +159,19 @@ public class IotDeviceController {
159 ExcelUtils.write(response, "设备导入模板.xls", "数据", IotDeviceImportExcelVO.class, list); 159 ExcelUtils.write(response, "设备导入模板.xls", "数据", IotDeviceImportExcelVO.class, list);
160 } 160 }
161 161
162 - @PostMapping("/simulation-upstream")  
163 - @Operation(summary = "模拟设备上行")  
164 - @PreAuthorize("@ss.hasPermission('iot:device:simulation')")  
165 - public CommonResult<Boolean> simulationDeviceUpstream(  
166 - @Valid @RequestBody IotDeviceSimulationUpstreamReqVO upstreamReqVO) {  
167 - deviceUpstreamService.simulationDeviceUpstream(upstreamReqVO); 162 + @PostMapping("/upstream")
  163 + @Operation(summary = "设备上行", description = "可用于设备模拟")
  164 + @PreAuthorize("@ss.hasPermission('iot:device:upstream')")
  165 + public CommonResult<Boolean> upstreamDevice(@Valid @RequestBody IotDeviceUpstreamReqVO upstreamReqVO) {
  166 + deviceUpstreamService.upstreamDevice(upstreamReqVO);
168 return success(true); 167 return success(true);
169 } 168 }
170 169
171 - @PostMapping("/simulation-downstream")  
172 - @Operation(summary = "模拟设备下行")  
173 - @PreAuthorize("@ss.hasPermission('iot:device:simulation')")  
174 - public CommonResult<Boolean> simulationDownstreamDevice(  
175 - @Valid @RequestBody IotDeviceSimulationDownstreamReqVO downstreamReqVO) {  
176 - deviceDownstreamService.simulationDeviceDownstream(downstreamReqVO); 170 + @PostMapping("/downstream")
  171 + @Operation(summary = "设备下行", description = "可用于设备模拟")
  172 + @PreAuthorize("@ss.hasPermission('iot:device:downstream')")
  173 + public CommonResult<Boolean> downstreamDevice(@Valid @RequestBody IotDeviceDownstreamReqVO downstreamReqVO) {
  174 + deviceDownstreamService.downstreamDevice(downstreamReqVO);
177 return success(true); 175 return success(true);
178 } 176 }
179 177
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/control/IotDeviceSimulationDownstreamReqVO.java renamed to 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; @@ -7,9 +7,9 @@ import jakarta.validation.constraints.NotEmpty;
7 import jakarta.validation.constraints.NotNull; 7 import jakarta.validation.constraints.NotNull;
8 import lombok.Data; 8 import lombok.Data;
9 9
10 -@Schema(description = "管理后台 - IoT 模拟设备下行 Request VO") // 服务调用、属性设置、属性获取等 10 +@Schema(description = "管理后台 - IoT 设备下行 Request VO") // 服务调用、属性设置、属性获取等
11 @Data 11 @Data
12 -public class IotDeviceSimulationDownstreamReqVO { 12 +public class IotDeviceDownstreamReqVO {
13 13
14 @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177") 14 @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177")
15 @NotNull(message = "设备编号不能为空") 15 @NotNull(message = "设备编号不能为空")
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/device/vo/control/IotDeviceSimulationUpstreamReqVO.java renamed to 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; @@ -7,9 +7,9 @@ import jakarta.validation.constraints.NotEmpty;
7 import jakarta.validation.constraints.NotNull; 7 import jakarta.validation.constraints.NotNull;
8 import lombok.Data; 8 import lombok.Data;
9 9
10 -@Schema(description = "管理后台 - IoT 模拟设备上行 Request VO") // 属性上报、事件上报、状态变更等 10 +@Schema(description = "管理后台 - IoT 设备上行 Request VO") // 属性上报、事件上报、状态变更等
11 @Data 11 @Data
12 -public class IotDeviceSimulationUpstreamReqVO { 12 +public class IotDeviceUpstreamReqVO {
13 13
14 @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177") 14 @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "177")
15 @NotNull(message = "设备编号不能为空") 15 @NotNull(message = "设备编号不能为空")
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 { @@ -160,4 +160,11 @@ public class IotDeviceDO extends BaseDO {
160 */ 160 */
161 private String address; 161 private String address;
162 162
  163 + /**
  164 + * 设备配置
  165 + *
  166 + * JSON 格式,可下发给 device 进行自定义配置
  167 + */
  168 + private String config;
  169 +
163 } 170 }
164 \ No newline at end of file 171 \ No newline at end of file
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/device/control/IotDeviceDownstreamService.java
1 package cn.iocoder.yudao.module.iot.service.device.control; 1 package cn.iocoder.yudao.module.iot.service.device.control;
2 2
3 -import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationDownstreamReqVO; 3 +import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceDownstreamReqVO;
4 import jakarta.validation.Valid; 4 import jakarta.validation.Valid;
5 5
6 /** 6 /**
@@ -13,10 +13,10 @@ import jakarta.validation.Valid; @@ -13,10 +13,10 @@ import jakarta.validation.Valid;
13 public interface IotDeviceDownstreamService { 13 public interface IotDeviceDownstreamService {
14 14
15 /** 15 /**
16 - * 模拟设备下行 16 + * 设备下行,可用于设备模拟
17 * 17 *
18 * @param downstreamReqVO 设备下行请求 VO 18 * @param downstreamReqVO 设备下行请求 VO
19 */ 19 */
20 - void simulationDeviceDownstream(@Valid IotDeviceSimulationDownstreamReqVO downstreamReqVO); 20 + void downstreamDevice(@Valid IotDeviceDownstreamReqVO downstreamReqVO);
21 21
22 } 22 }
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 @@ -9,7 +9,7 @@ import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDeviceDo
9 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDevicePropertyGetReqDTO; 9 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDevicePropertyGetReqDTO;
10 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDevicePropertySetReqDTO; 10 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDevicePropertySetReqDTO;
11 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDeviceServiceInvokeReqDTO; 11 import cn.iocoder.yudao.module.iot.api.device.dto.control.downstream.IotDeviceServiceInvokeReqDTO;
12 -import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationDownstreamReqVO; 12 +import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceDownstreamReqVO;
13 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; 13 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
14 import cn.iocoder.yudao.module.iot.dal.dataobject.plugin.IotPluginInstanceDO; 14 import cn.iocoder.yudao.module.iot.dal.dataobject.plugin.IotPluginInstanceDO;
15 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageIdentifierEnum; 15 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageIdentifierEnum;
@@ -56,7 +56,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic @@ -56,7 +56,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
56 private IotDeviceProducer deviceProducer; 56 private IotDeviceProducer deviceProducer;
57 57
58 @Override 58 @Override
59 - public void simulationDeviceDownstream(IotDeviceSimulationDownstreamReqVO downstreamReqVO) { 59 + public void downstreamDevice(IotDeviceDownstreamReqVO downstreamReqVO) {
60 // 校验设备是否存在 60 // 校验设备是否存在
61 IotDeviceDO device = deviceService.validateDeviceExists(downstreamReqVO.getId()); 61 IotDeviceDO device = deviceService.validateDeviceExists(downstreamReqVO.getId());
62 // TODO 芋艿:父设备的处理 62 // TODO 芋艿:父设备的处理
@@ -93,7 +93,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic @@ -93,7 +93,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
93 * @param parentDevice 父设备 93 * @param parentDevice 父设备
94 */ 94 */
95 @SuppressWarnings("unchecked") 95 @SuppressWarnings("unchecked")
96 - private void invokeDeviceService(IotDeviceSimulationDownstreamReqVO downstreamReqVO, 96 + private void invokeDeviceService(IotDeviceDownstreamReqVO downstreamReqVO,
97 IotDeviceDO device, IotDeviceDO parentDevice) { 97 IotDeviceDO device, IotDeviceDO parentDevice) {
98 // 1. 参数校验 98 // 1. 参数校验
99 if (!(downstreamReqVO.getData() instanceof Map<?, ?>)) { 99 if (!(downstreamReqVO.getData() instanceof Map<?, ?>)) {
@@ -130,7 +130,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic @@ -130,7 +130,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
130 * @param parentDevice 父设备 130 * @param parentDevice 父设备
131 */ 131 */
132 @SuppressWarnings("unchecked") 132 @SuppressWarnings("unchecked")
133 - private void setDeviceProperty(IotDeviceSimulationDownstreamReqVO downstreamReqVO, 133 + private void setDeviceProperty(IotDeviceDownstreamReqVO downstreamReqVO,
134 IotDeviceDO device, IotDeviceDO parentDevice) { 134 IotDeviceDO device, IotDeviceDO parentDevice) {
135 // 1. 参数校验 135 // 1. 参数校验
136 if (!(downstreamReqVO.getData() instanceof Map<?, ?>)) { 136 if (!(downstreamReqVO.getData() instanceof Map<?, ?>)) {
@@ -168,7 +168,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic @@ -168,7 +168,7 @@ public class IotDeviceDownstreamServiceImpl implements IotDeviceDownstreamServic
168 * @param parentDevice 父设备 168 * @param parentDevice 父设备
169 */ 169 */
170 @SuppressWarnings("unchecked") 170 @SuppressWarnings("unchecked")
171 - private void getDeviceProperty(IotDeviceSimulationDownstreamReqVO downstreamReqVO, 171 + private void getDeviceProperty(IotDeviceDownstreamReqVO downstreamReqVO,
172 IotDeviceDO device, IotDeviceDO parentDevice) { 172 IotDeviceDO device, IotDeviceDO parentDevice) {
173 // 1. 参数校验 173 // 1. 参数校验
174 if (!(downstreamReqVO.getData() instanceof List<?>)) { 174 if (!(downstreamReqVO.getData() instanceof List<?>)) {
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; @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.service.device.control;
3 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceEventReportReqDTO; 3 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceEventReportReqDTO;
4 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDevicePropertyReportReqDTO; 4 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDevicePropertyReportReqDTO;
5 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceStateUpdateReqDTO; 5 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceStateUpdateReqDTO;
6 -import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationUpstreamReqVO; 6 +import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceUpstreamReqVO;
7 import jakarta.validation.Valid; 7 import jakarta.validation.Valid;
8 8
9 /** 9 /**
@@ -16,11 +16,11 @@ import jakarta.validation.Valid; @@ -16,11 +16,11 @@ import jakarta.validation.Valid;
16 public interface IotDeviceUpstreamService { 16 public interface IotDeviceUpstreamService {
17 17
18 /** 18 /**
19 - * 模拟设备上行 19 + * 设备上行,可用于设备模拟
20 * 20 *
21 * @param simulatorReqVO 设备上行请求 VO 21 * @param simulatorReqVO 设备上行请求 VO
22 */ 22 */
23 - void simulationDeviceUpstream(@Valid IotDeviceSimulationUpstreamReqVO simulatorReqVO); 23 + void upstreamDevice(@Valid IotDeviceUpstreamReqVO simulatorReqVO);
24 24
25 /** 25 /**
26 * 更新设备状态 26 * 更新设备状态
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 @@ -11,7 +11,7 @@ import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceEven
11 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDevicePropertyReportReqDTO; 11 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDevicePropertyReportReqDTO;
12 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceStateUpdateReqDTO; 12 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceStateUpdateReqDTO;
13 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceUpstreamAbstractReqDTO; 13 import cn.iocoder.yudao.module.iot.api.device.dto.control.upstream.IotDeviceUpstreamAbstractReqDTO;
14 -import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceSimulationUpstreamReqVO; 14 +import cn.iocoder.yudao.module.iot.controller.admin.device.vo.control.IotDeviceUpstreamReqVO;
15 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; 15 import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
16 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageIdentifierEnum; 16 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageIdentifierEnum;
17 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageTypeEnum; 17 import cn.iocoder.yudao.module.iot.enums.device.IotDeviceMessageTypeEnum;
@@ -52,7 +52,7 @@ public class IotDeviceUpstreamServiceImpl implements IotDeviceUpstreamService { @@ -52,7 +52,7 @@ public class IotDeviceUpstreamServiceImpl implements IotDeviceUpstreamService {
52 52
53 @Override 53 @Override
54 @SuppressWarnings("unchecked") 54 @SuppressWarnings("unchecked")
55 - public void simulationDeviceUpstream(IotDeviceSimulationUpstreamReqVO simulatorReqVO) { 55 + public void upstreamDevice(IotDeviceUpstreamReqVO simulatorReqVO) {
56 // 1. 校验存在 56 // 1. 校验存在
57 IotDeviceDO device = deviceService.validateDeviceExists(simulatorReqVO.getId()); 57 IotDeviceDO device = deviceService.validateDeviceExists(simulatorReqVO.getId());
58 58