getUpgradeTask(@RequestParam("id") Long id) {
- IotOtaUpgradeTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(id);
- return success(BeanUtils.toBean(upgradeTask, IotOtaUpgradeTaskRespVO.class));
- }
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareCreateReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareCreateReqVO.java
deleted file mode 100644
index 335bcddb7..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareCreateReqVO.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.firmware;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Schema(description = "管理后台 - IoT OTA 固件创建 Request VO")
-@Data
-public class IotOtaFirmwareCreateReqVO {
-
- @Schema(description = "固件名称", requiredMode = REQUIRED, example = "智能开关固件")
- @NotEmpty(message = "固件名称不能为空")
- private String name;
-
- @Schema(description = "固件描述", example = "某品牌型号固件,测试用")
- private String description;
-
- @Schema(description = "版本号", requiredMode = REQUIRED, example = "1.0.0")
- @NotEmpty(message = "版本号不能为空")
- private String version;
-
- @Schema(description = "产品编号", requiredMode = REQUIRED, example = "1024")
- @NotNull(message = "产品编号不能为空")
- private String productId;
-
- @Schema(description = "签名方式", example = "MD5")
- // TODO @li:是不是必传哈
- private String signMethod;
-
- @Schema(description = "固件文件 URL", requiredMode = REQUIRED, example = "https://www.iocoder.cn/yudao-firmware.zip")
- @NotEmpty(message = "固件文件 URL 不能为空")
- private String fileUrl;
-
- @Schema(description = "自定义信息,建议使用 JSON 格式", example = "{\"key1\":\"value1\",\"key2\":\"value2\"}")
- private String information;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareRespVO.java
deleted file mode 100644
index 735618781..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/firmware/IotOtaFirmwareRespVO.java
+++ /dev/null
@@ -1,85 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.firmware;
-
-import cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO;
-import com.fhs.core.trans.anno.Trans;
-import com.fhs.core.trans.constant.TransType;
-import com.fhs.core.trans.vo.VO;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Data
-@Schema(description = "管理后台 - IoT OTA 固件 Response VO")
-public class IotOtaFirmwareRespVO implements VO {
-
- /**
- * 固件编号
- */
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
- private Long id;
- /**
- * 固件名称
- */
- @Schema(description = "固件名称", requiredMode = REQUIRED, example = "OTA固件")
- private String name;
- /**
- * 固件描述
- */
- @Schema(description = "固件描述")
- private String description;
- /**
- * 版本号
- */
- @Schema(description = "版本号", requiredMode = REQUIRED, example = "1.0.0")
- private String version;
-
- /**
- * 产品编号
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()}
- */
- @Schema(description = "产品编号", requiredMode = REQUIRED, example = "1024")
- @Trans(type = TransType.SIMPLE, target = IotProductDO.class, fields = {"name"}, refs = {"productName"})
- private String productId;
- /**
- * 产品标识
- *
- * 冗余 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getProductKey()}
- */
- @Schema(description = "产品标识", requiredMode = REQUIRED, example = "iot-product-key")
- private String productKey;
- /**
- * 产品名称
- */
- @Schema(description = "产品名称", requiredMode = REQUIRED, example = "OTA产品")
- private String productName;
- /**
- * 签名方式
- *
- * 例如说:MD5、SHA256
- */
- @Schema(description = "签名方式", example = "MD5")
- private String signMethod;
- /**
- * 固件文件签名
- */
- @Schema(description = "固件文件签名", example = "1024")
- private String fileSign;
- /**
- * 固件文件大小
- */
- @Schema(description = "固件文件大小", requiredMode = REQUIRED, example = "1024")
- private Long fileSize;
- /**
- * 固件文件 URL
- */
- @Schema(description = "固件文件 URL", requiredMode = REQUIRED, example = "https://www.iocoder.cn")
- private String fileUrl;
- /**
- * 自定义信息,建议使用 JSON 格式
- */
- @Schema(description = "自定义信息,建议使用 JSON 格式")
- private String information;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java
deleted file mode 100644
index d3ea8106d..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Data
-@Schema(description = "管理后台 - IoT OTA 升级记录分页 Request VO")
-public class IotOtaUpgradeRecordPageReqVO extends PageParam {
-
- // TODO @li:已经有注解,不用重复注释
- /**
- * 升级任务编号字段。
- *
- * 该字段用于标识升级任务的唯一编号,不能为空。
- */
- @Schema(description = "升级任务编号", requiredMode = REQUIRED, example = "1024")
- @NotNull(message = "升级任务编号不能为空")
- private Long taskId;
-
- /**
- * 设备标识字段。
- *
- * 该字段用于标识设备的名称,通常用于区分不同的设备。
- */
- @Schema(description = "设备标识", requiredMode = REQUIRED, example = "摄像头A1-1")
- private String deviceName;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java
deleted file mode 100644
index db6737feb..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record;
-
-import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO;
-import com.fhs.core.trans.anno.Trans;
-import com.fhs.core.trans.constant.TransType;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Data
-@Schema(description = "管理后台 - IoT OTA 升级记录 Response VO")
-public class IotOtaUpgradeRecordRespVO {
-
- /**
- * 升级记录编号
- */
- @Schema(description = "升级记录编号", requiredMode = REQUIRED, example = "1024")
- private Long id;
- /**
- * 固件编号
- *
- * 关联 {@link IotOtaFirmwareDO#getId()}
- */
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
- @Trans(type = TransType.SIMPLE, target = IotOtaFirmwareDO.class, fields = {"version"}, refs = {"firmwareVersion"})
- private Long firmwareId;
- /**
- * 固件版本
- */
- @Schema(description = "固件版本", requiredMode = REQUIRED, example = "v1.0.0")
- private String firmwareVersion;
- /**
- * 任务编号
- *
- * 关联 {@link IotOtaUpgradeTaskDO#getId()}
- */
- @Schema(description = "任务编号", requiredMode = REQUIRED, example = "1024")
- private Long taskId;
- /**
- * 产品标识
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()}
- */
- @Schema(description = "产品标识", requiredMode = REQUIRED, example = "iot")
- private String productKey;
- /**
- * 设备名称
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()}
- */
- @Schema(description = "设备名称", requiredMode = REQUIRED, example = "iot")
- private String deviceName;
- /**
- * 设备编号
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()}
- */
- @Schema(description = "设备编号", requiredMode = REQUIRED, example = "1024")
- private String deviceId;
- /**
- * 来源的固件编号
- *
- * 关联 {@link IotDeviceDO#getFirmwareId()}
- */
- @Schema(description = "来源的固件编号", requiredMode = REQUIRED, example = "1024")
- @Trans(type = TransType.SIMPLE, target = IotOtaFirmwareDO.class, fields = {"version"}, refs = {"fromFirmwareVersion"})
- private Long fromFirmwareId;
- /**
- * 来源的固件版本
- */
- @Schema(description = "来源的固件版本", requiredMode = REQUIRED, example = "v1.0.0")
- private String fromFirmwareVersion;
- /**
- * 升级状态
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum}
- */
- @Schema(description = "升级状态", requiredMode = REQUIRED, allowableValues = {"0", "10", "20", "30", "40", "50"})
- private Integer status;
- /**
- * 升级进度,百分比
- */
- @Schema(description = "升级进度,百分比", requiredMode = REQUIRED, example = "10")
- private Integer progress;
- /**
- * 升级进度描述
- *
- * 注意,只记录设备最后一次的升级进度描述
- * 如果想看历史记录,可以查看 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceLogDO} 设备日志
- */
- @Schema(description = "升级进度描述", requiredMode = REQUIRED, example = "10")
- private String description;
- /**
- * 升级开始时间
- */
- @Schema(description = "升级开始时间", requiredMode = REQUIRED, example = "2022-07-08 07:30:00")
- private LocalDateTime startTime;
- /**
- * 升级结束时间
- */
- @Schema(description = "升级结束时间", requiredMode = REQUIRED, example = "2022-07-08 07:30:00")
- private LocalDateTime endTime;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java
deleted file mode 100644
index df6599148..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotNull;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Data
-@Schema(description = "管理后台 - IoT OTA 升级任务分页 Request VO")
-public class IotOtaUpgradeTaskPageReqVO extends PageParam {
-
- /**
- * 任务名称字段,用于描述任务的名称
- */
- @Schema(description = "任务名称", example = "升级任务")
- private String name;
-
- /**
- * 固件编号字段,用于唯一标识固件,不能为空
- */
- @NotNull(message = "固件编号不能为空")
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
- private Long firmwareId;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java
deleted file mode 100644
index dbc29618f..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java
+++ /dev/null
@@ -1,84 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task;
-
-import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO;
-import com.fhs.core.trans.vo.VO;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-import java.util.List;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Data
-@Schema(description = "管理后台 - IoT OTA 升级任务 Response VO")
-public class IotOtaUpgradeTaskRespVO implements VO {
-
- /**
- * 任务编号
- */
- @Schema(description = "任务编号", requiredMode = REQUIRED, example = "1024")
- private Long id;
- /**
- * 任务名称
- */
- @Schema(description = "任务名称", requiredMode = REQUIRED, example = "升级任务")
- private String name;
- /**
- * 任务描述
- */
- @Schema(description = "任务描述", example = "升级任务")
- private String description;
- /**
- * 固件编号
- *
- * 关联 {@link IotOtaFirmwareDO#getId()}
- */
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
- private Long firmwareId;
- /**
- * 任务状态
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskStatusEnum}
- */
- @Schema(description = "任务状态", requiredMode = REQUIRED, allowableValues = {"10", "20", "21", "30"})
- private Integer status;
- /**
- * 任务状态名称
- */
- @Schema(description = "任务状态名称", requiredMode = REQUIRED, example = "进行中")
- private String statusName;
- /**
- * 升级范围
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum}
- */
- @Schema(description = "升级范围", requiredMode = REQUIRED, allowableValues = {"1", "2"})
- private Integer scope;
- /**
- * 设备数量
- */
- @Schema(description = "设备数量", requiredMode = REQUIRED, example = "1024")
- private Long deviceCount;
- /**
- * 选中的设备编号数组
- *
- * 关联 {@link IotDeviceDO#getId()}
- */
- @Schema(description = "选中的设备编号数组", example = "1024")
- private List deviceIds;
- /**
- * 选中的设备名字数组
- *
- * 关联 {@link IotDeviceDO#getDeviceName()}
- */
- @Schema(description = "选中的设备名字数组", example = "1024")
- private List deviceNames;
- /**
- * 创建时间
- */
- @Schema(description = "创建时间", requiredMode = REQUIRED, example = "2022-07-08 07:30:00")
- private LocalDateTime createTime;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java
deleted file mode 100644
index 21c4208ef..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task;
-
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO;
-import cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-import java.util.List;
-
-import static io.swagger.v3.oas.annotations.media.Schema.RequiredMode.REQUIRED;
-
-@Data
-@Schema(description = "管理后台 - IoT OTA 升级任务创建/修改 Request VO")
-public class IotOtaUpgradeTaskSaveReqVO {
-
- // TODO @li:已经有注解,不用重复注释
- // TODO @li: @Schema 写在参数校验前面。先有定义;其他的,也检查下;
-
- /**
- * 任务名称
- */
- @NotEmpty(message = "任务名称不能为空")
- @Schema(description = "任务名称", requiredMode = REQUIRED, example = "升级任务")
- private String name;
-
- /**
- * 任务描述
- */
- @Schema(description = "任务描述", example = "升级任务")
- private String description;
-
- /**
- * 固件编号
- *
- * 关联 {@link IotOtaFirmwareDO#getId()}
- */
- @NotNull(message = "固件编号不能为空")
- @Schema(description = "固件编号", requiredMode = REQUIRED, example = "1024")
- private Long firmwareId;
-
- /**
- * 升级范围
- *
- * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum}
- */
- @NotNull(message = "升级范围不能为空")
- @InEnum(value = IotOtaUpgradeTaskScopeEnum.class)
- @Schema(description = "升级范围", requiredMode = REQUIRED, example = "1")
- private Integer scope;
-
- /**
- * 选中的设备编号数组
- *
- * 关联 {@link IotDeviceDO#getId()}
- */
- @Schema(description = "选中的设备编号数组", requiredMode = REQUIRED, example = "[1,2,3,4]")
- private List deviceIds;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/PluginConfigController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/PluginConfigController.java
deleted file mode 100644
index a7076de72..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/PluginConfigController.java
+++ /dev/null
@@ -1,91 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config.PluginConfigImportReqVO;
-import cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config.PluginConfigPageReqVO;
-import cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config.PluginConfigRespVO;
-import cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config.PluginConfigSaveReqVO;
-import cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config.PluginConfigStatusReqVO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.plugin.IotPluginConfigDO;
-import cn.iocoder.yudao.module.iot.service.plugin.IotPluginConfigService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Tag(name = "管理后台 - IoT 插件配置")
-@RestController
-@RequestMapping("/iot/plugin-config")
-@Validated
-public class PluginConfigController {
-
- @Resource
- private IotPluginConfigService pluginConfigService;
-
- @PostMapping("/create")
- @Operation(summary = "创建插件配置")
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:create')")
- public CommonResult createPluginConfig(@Valid @RequestBody PluginConfigSaveReqVO createReqVO) {
- return success(pluginConfigService.createPluginConfig(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新插件配置")
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:update')")
- public CommonResult updatePluginConfig(@Valid @RequestBody PluginConfigSaveReqVO updateReqVO) {
- pluginConfigService.updatePluginConfig(updateReqVO);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除插件配置")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:delete')")
- public CommonResult deletePluginConfig(@RequestParam("id") Long id) {
- pluginConfigService.deletePluginConfig(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得插件配置")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:query')")
- public CommonResult getPluginConfig(@RequestParam("id") Long id) {
- IotPluginConfigDO pluginConfig = pluginConfigService.getPluginConfig(id);
- return success(BeanUtils.toBean(pluginConfig, PluginConfigRespVO.class));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得插件配置分页")
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:query')")
- public CommonResult> getPluginConfigPage(@Valid PluginConfigPageReqVO pageReqVO) {
- PageResult pageResult = pluginConfigService.getPluginConfigPage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, PluginConfigRespVO.class));
- }
-
- @PostMapping("/upload-file")
- @Operation(summary = "上传插件文件")
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:update')")
- public CommonResult uploadFile(@Valid PluginConfigImportReqVO reqVO) {
- pluginConfigService.uploadFile(reqVO.getId(), reqVO.getFile());
- return success(true);
- }
-
- @PutMapping("/update-status")
- @Operation(summary = "修改插件状态")
- @PreAuthorize("@ss.hasPermission('iot:plugin-config:update')")
- public CommonResult updatePluginConfigStatus(@Valid @RequestBody PluginConfigStatusReqVO reqVO) {
- pluginConfigService.updatePluginStatus(reqVO.getId(), reqVO.getStatus());
- return success(true);
- }
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigImportReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigImportReqVO.java
deleted file mode 100644
index ddade1d88..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigImportReqVO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - IoT 插件上传 Request VO")
-@Data
-public class PluginConfigImportReqVO {
-
- @Schema(description = "主键 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11546")
- private Long id;
-
- @Schema(description = "插件文件", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "插件文件不能为空")
- private MultipartFile file;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigPageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigPageReqVO.java
deleted file mode 100644
index 1666d5d6b..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigPageReqVO.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config;
-
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.iot.enums.plugin.IotPluginStatusEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Schema(description = "管理后台 - IoT 插件配置分页 Request VO")
-@Data
-public class PluginConfigPageReqVO extends PageParam {
-
- @Schema(description = "插件名称", example = "http")
- private String name;
-
- @Schema(description = "状态", example = "1")
- @InEnum(IotPluginStatusEnum.class)
- private Integer status;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigRespVO.java
deleted file mode 100644
index 2b8c4dcde..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigRespVO.java
+++ /dev/null
@@ -1,54 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Schema(description = "管理后台 - IoT 插件配置 Response VO")
-@Data
-public class PluginConfigRespVO {
-
- @Schema(description = "主键 ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "11546")
- private Long id;
-
- @Schema(description = "插件包标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "24627")
- private String pluginKey;
-
- @Schema(description = "插件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
- private String name;
-
- @Schema(description = "描述", example = "你猜")
- private String description;
-
- @Schema(description = "部署方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
- private Integer deployType;
-
- @Schema(description = "插件包文件名", requiredMode = Schema.RequiredMode.REQUIRED)
- private String fileName;
-
- @Schema(description = "插件版本", requiredMode = Schema.RequiredMode.REQUIRED)
- private String version;
-
- @Schema(description = "插件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
- private Integer type;
-
- @Schema(description = "设备插件协议类型")
- private String protocol;
-
- @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
- private Integer status;
-
- @Schema(description = "插件配置项描述信息")
- private String configSchema;
-
- @Schema(description = "插件配置信息")
- private String config;
-
- @Schema(description = "插件脚本")
- private String script;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigSaveReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigSaveReqVO.java
deleted file mode 100644
index e48869d64..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigSaveReqVO.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config;
-
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.iot.enums.plugin.IotPluginStatusEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Schema(description = "管理后台 - IoT 插件配置新增/修改 Request VO")
-@Data
-public class PluginConfigSaveReqVO {
-
- // TODO @haohao:新增的字段有点多,每个都需要哇?
-
- // TODO @haohao:一些枚举字段,需要加枚举校验。例如说,deployType、status、type 等
-
- @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11546")
- private Long id;
-
- @Schema(description = "插件包标识符", requiredMode = Schema.RequiredMode.REQUIRED, example = "24627")
- private String pluginKey;
-
- @Schema(description = "插件名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
- private String name;
-
- @Schema(description = "描述", example = "你猜")
- private String description;
-
- @Schema(description = "部署方式", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
- private Integer deployType;
-
- @Schema(description = "插件包文件名", requiredMode = Schema.RequiredMode.REQUIRED)
- private String fileName;
-
- @Schema(description = "插件版本", requiredMode = Schema.RequiredMode.REQUIRED)
- private String version;
-
- @Schema(description = "插件类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
- private Integer type;
-
- @Schema(description = "设备插件协议类型")
- private String protocol;
-
- @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
- @InEnum(IotPluginStatusEnum.class)
- private Integer status;
-
- @Schema(description = "插件配置项描述信息")
- private String configSchema;
-
- @Schema(description = "插件配置信息")
- private String config;
-
- @Schema(description = "插件脚本")
- private String script;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigStatusReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigStatusReqVO.java
deleted file mode 100644
index eae4aa0a2..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/config/PluginConfigStatusReqVO.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.config;
-
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.iot.enums.plugin.IotPluginStatusEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-@Schema(description = "管理后台 - IoT 插件配置状态 Request VO")
-@Data
-public class PluginConfigStatusReqVO {
-
- @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "11546")
- private Long id;
-
- @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED)
- @InEnum(IotPluginStatusEnum.class)
- private Integer status;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/instance/PluginInstancePageReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/instance/PluginInstancePageReqVO.java
deleted file mode 100644
index e58b88856..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/instance/PluginInstancePageReqVO.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.instance;
-
-import lombok.*;
-import io.swagger.v3.oas.annotations.media.Schema;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import org.springframework.format.annotation.DateTimeFormat;
-import java.time.LocalDateTime;
-
-import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
-
-// TODO @haohao:后续需要使用下
-@Schema(description = "管理后台 - IoT 插件实例分页 Request VO")
-@Data
-public class PluginInstancePageReqVO extends PageParam {
-
- @Schema(description = "插件主程序编号", example = "23738")
- private String mainId;
-
- @Schema(description = "插件id", example = "26498")
- private Long pluginId;
-
- @Schema(description = "插件主程序所在ip")
- private String ip;
-
- @Schema(description = "插件主程序端口")
- private Integer port;
-
- @Schema(description = "心跳时间,心路时间超过30秒需要剔除")
- private Long heartbeatAt;
-
- @Schema(description = "创建时间")
- @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
- private LocalDateTime[] createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/instance/PluginInstanceRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/instance/PluginInstanceRespVO.java
deleted file mode 100644
index cba59fdaf..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/plugin/vo/instance/PluginInstanceRespVO.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.plugin.vo.instance;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-// TODO @haohao:后续需要使用下
-@Schema(description = "管理后台 - IoT 插件实例 Response VO")
-@Data
-public class PluginInstanceRespVO {
-
- @Schema(description = "主键编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "23864")
- private Long id;
-
- @Schema(description = "插件主程序id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23738")
- private String mainId;
-
- @Schema(description = "插件id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26498")
- private Long pluginId;
-
- @Schema(description = "插件主程序所在ip", requiredMode = Schema.RequiredMode.REQUIRED)
- private String ip;
-
- @Schema(description = "插件主程序端口", requiredMode = Schema.RequiredMode.REQUIRED)
- private Integer port;
-
- @Schema(description = "心跳时间,心路时间超过30秒需要剔除", requiredMode = Schema.RequiredMode.REQUIRED)
- private Long heartbeatAt;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotDataBridgeController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotDataBridgeController.java
deleted file mode 100644
index 9b1589bbc..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotDataBridgeController.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.rule;
-
-import cn.iocoder.yudao.framework.common.pojo.CommonResult;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
-import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.IotDataBridgePageReqVO;
-import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.IotDataBridgeRespVO;
-import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.IotDataBridgeSaveReqVO;
-import cn.iocoder.yudao.module.iot.dal.dataobject.rule.IotDataBridgeDO;
-import cn.iocoder.yudao.module.iot.service.rule.IotDataBridgeService;
-import io.swagger.v3.oas.annotations.Operation;
-import io.swagger.v3.oas.annotations.Parameter;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.security.access.prepost.PreAuthorize;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.*;
-
-import javax.annotation.Resource;
-import javax.validation.Valid;
-
-import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
-
-@Tag(name = "管理后台 - IoT 数据桥梁")
-@RestController
-@RequestMapping("/iot/data-bridge")
-@Validated
-public class IotDataBridgeController {
-
- @Resource
- private IotDataBridgeService dataBridgeService;
-
- @PostMapping("/create")
- @Operation(summary = "创建数据桥梁")
- @PreAuthorize("@ss.hasPermission('iot:data-bridge:create')")
- public CommonResult createDataBridge(@Valid @RequestBody IotDataBridgeSaveReqVO createReqVO) {
- return success(dataBridgeService.createDataBridge(createReqVO));
- }
-
- @PutMapping("/update")
- @Operation(summary = "更新数据桥梁")
- @PreAuthorize("@ss.hasPermission('iot:data-bridge:update')")
- public CommonResult updateDataBridge(@Valid @RequestBody IotDataBridgeSaveReqVO updateReqVO) {
- dataBridgeService.updateDataBridge(updateReqVO);
- return success(true);
- }
-
- @DeleteMapping("/delete")
- @Operation(summary = "删除数据桥梁")
- @Parameter(name = "id", description = "编号", required = true)
- @PreAuthorize("@ss.hasPermission('iot:data-bridge:delete')")
- public CommonResult deleteDataBridge(@RequestParam("id") Long id) {
- dataBridgeService.deleteDataBridge(id);
- return success(true);
- }
-
- @GetMapping("/get")
- @Operation(summary = "获得数据桥梁")
- @Parameter(name = "id", description = "编号", required = true, example = "1024")
- @PreAuthorize("@ss.hasPermission('iot:data-bridge:query')")
- public CommonResult getDataBridge(@RequestParam("id") Long id) {
- IotDataBridgeDO dataBridge = dataBridgeService.getDataBridge(id);
- return success(BeanUtils.toBean(dataBridge, IotDataBridgeRespVO.class));
- }
-
- @GetMapping("/page")
- @Operation(summary = "获得数据桥梁分页")
- @PreAuthorize("@ss.hasPermission('iot:data-bridge:query')")
- public CommonResult> getDataBridgePage(@Valid IotDataBridgePageReqVO pageReqVO) {
- PageResult pageResult = dataBridgeService.getDataBridgePage(pageReqVO);
- return success(BeanUtils.toBean(pageResult, IotDataBridgeRespVO.class));
- }
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java
deleted file mode 100644
index 165981c97..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/IotRuleSceneController.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.rule;
-
-import cn.iocoder.yudao.module.iot.service.rule.IotRuleSceneService;
-import io.swagger.v3.oas.annotations.tags.Tag;
-import org.springframework.validation.annotation.Validated;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.annotation.Resource;
-import javax.annotation.security.PermitAll;
-
-@Tag(name = "管理后台 - IoT 规则场景")
-@RestController
-@RequestMapping("/iot/rule-scene")
-@Validated
-public class IotRuleSceneController {
-
- @Resource
- private IotRuleSceneService ruleSceneService;
-
- @GetMapping("/test")
- @PermitAll
- public void test() {
- ruleSceneService.test();
- }
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeRespVO.java
deleted file mode 100644
index 38e04b2eb..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeRespVO.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge;
-
-import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeAbstractConfig;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.time.LocalDateTime;
-
-@Schema(description = "管理后台 - IoT 数据桥梁 Response VO")
-@Data
-public class IotDataBridgeRespVO {
-
- @Schema(description = "桥梁编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18564")
- private Long id;
-
- @Schema(description = "桥梁名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
- private String name;
-
- @Schema(description = "桥梁描述", example = "随便")
- private String description;
-
- @Schema(description = "桥梁状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Integer status;
-
- @Schema(description = "桥梁方向", requiredMode = Schema.RequiredMode.REQUIRED)
- private Integer direction;
-
- @Schema(description = "桥梁类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- private Integer type;
-
- @Schema(description = "桥梁配置")
- private IotDataBridgeAbstractConfig config;
-
- @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
- private LocalDateTime createTime;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeSaveReqVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeSaveReqVO.java
deleted file mode 100644
index 451ac887a..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/IotDataBridgeSaveReqVO.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge;
-
-import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
-import cn.iocoder.yudao.framework.common.validation.InEnum;
-import cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config.IotDataBridgeAbstractConfig;
-import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeDirectionEnum;
-import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeTypeEnum;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
-@Schema(description = "管理后台 - IoT 数据桥梁新增/修改 Request VO")
-@Data
-public class IotDataBridgeSaveReqVO {
-
- @Schema(description = "桥梁编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "18564")
- private Long id;
-
- @Schema(description = "桥梁名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
- @NotEmpty(message = "桥梁名称不能为空")
- private String name;
-
- @Schema(description = "桥梁描述", example = "随便")
- private String description;
-
- @Schema(description = "桥梁状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2")
- @NotNull(message = "桥梁状态不能为空")
- @InEnum(CommonStatusEnum.class)
- private Integer status;
-
- @Schema(description = "桥梁方向", requiredMode = Schema.RequiredMode.REQUIRED)
- @NotNull(message = "桥梁方向不能为空")
- @InEnum(IotDataBridgeDirectionEnum.class)
- private Integer direction;
-
- @Schema(description = "桥梁类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
- @NotNull(message = "桥梁类型不能为空")
- @InEnum(IotDataBridgeTypeEnum.class)
- private Integer type;
-
- @Schema(description = "桥梁配置")
- @NotNull(message = "桥梁配置不能为空")
- private IotDataBridgeAbstractConfig config;
-
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeAbstractConfig.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeAbstractConfig.java
deleted file mode 100644
index 527e79b35..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeAbstractConfig.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config;
-
-import cn.iocoder.yudao.module.iot.enums.rule.IotDataBridgeTypeEnum;
-import com.fasterxml.jackson.annotation.JsonSubTypes;
-import com.fasterxml.jackson.annotation.JsonTypeInfo;
-import lombok.Data;
-
-/**
- * IoT IotDataBridgeConfig 抽象类
- *
- * 用于表示数据桥梁配置数据的通用类型,根据具体的 "type" 字段动态映射到对应的子类
- * 提供多态支持,适用于不同类型的数据结构序列化和反序列化场景。
- *
- * @author HUIHUI
- */
-@Data
-@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", visible = true)
-@JsonSubTypes({
- @JsonSubTypes.Type(value = IotDataBridgeHttpConfig.class, name = "1"),
- @JsonSubTypes.Type(value = IotDataBridgeMqttConfig.class, name = "10"),
- @JsonSubTypes.Type(value = IotDataBridgeRedisStreamMQConfig.class, name = "21"),
- @JsonSubTypes.Type(value = IotDataBridgeRocketMQConfig.class, name = "30"),
- @JsonSubTypes.Type(value = IotDataBridgeRabbitMQConfig.class, name = "31"),
- @JsonSubTypes.Type(value = IotDataBridgeKafkaMQConfig.class, name = "32"),
-})
-public abstract class IotDataBridgeAbstractConfig {
-
- /**
- * 配置类型
- *
- * 枚举 {@link IotDataBridgeTypeEnum#getType()}
- */
- private String type;
-
-}
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeRedisStreamMQConfig.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeRedisStreamMQConfig.java
deleted file mode 100644
index 3c9bb330f..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/databridge/config/IotDataBridgeRedisStreamMQConfig.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.rule.vo.databridge.config;
-
-import lombok.Data;
-
-// TODO @puhui999:MQ 可以去掉哈。stream 更精准
-/**
- * IoT Redis Stream 配置 {@link IotDataBridgeAbstractConfig} 实现类
- *
- * @author HUIHUI
- */
-@Data
-public class IotDataBridgeRedisStreamMQConfig extends IotDataBridgeAbstractConfig {
-
- /**
- * Redis 服务器地址
- */
- private String host;
- /**
- * 端口
- */
- private Integer port;
- /**
- * 密码
- */
- private String password;
- /**
- * 数据库索引
- */
- private Integer database;
-
- /**
- * 主题
- */
- private String topic;
-}
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/package-info.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/package-info.java
deleted file mode 100644
index f397e0acd..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/rule/vo/package-info.java
+++ /dev/null
@@ -1,2 +0,0 @@
-// TODO @芋艿:占位
-package cn.iocoder.yudao.module.iot.controller.admin.rule.vo;
\ No newline at end of file
diff --git a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/statistics/vo/IotStatisticsDeviceMessageSummaryRespVO.java b/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/statistics/vo/IotStatisticsDeviceMessageSummaryRespVO.java
deleted file mode 100644
index 15d2abccc..000000000
--- a/yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/statistics/vo/IotStatisticsDeviceMessageSummaryRespVO.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package cn.iocoder.yudao.module.iot.controller.admin.statistics.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Data;
-
-import java.util.List;
-import java.util.Map;
-
-@Schema(description = "管理后台 - IoT 设备上下行消息数量统计 Response VO")
-@Data
-public class IotStatisticsDeviceMessageSummaryRespVO {
-
- @Schema(description = "每小时上行数据数量统计")
- private List