Commit 47c281d933ffe3ace90ba73e66dcfc1863b33fb8
1 parent
25236678
【代码优化】IoT:去除 Simulation 关键字,定义更清晰
Showing
8 changed files
with
36 additions
and
31 deletions
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 |