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

This commit is contained in:
YunaiV 2025-01-31 22:47:04 +08:00
parent 252366781d
commit 47c281d933
8 changed files with 36 additions and 31 deletions

View File

@ -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);
}

View File

@ -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 = "设备编号不能为空")

View File

@ -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 = "设备编号不能为空")

View File

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

View File

@ -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);
}

View File

@ -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<?>)) {

View File

@ -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);
/**
* 更新设备状态

View File

@ -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());