Commit 4749d93d0e4b12dbfe772d9fa97b3c3ce442b061
1 parent
5399e5bb
reactor:【IoT 物联网】调整 ota 的 task 实体定义(暂时未处理 controller)x2
Showing
14 changed files
with
205 additions
and
348 deletions
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaUpgradeTaskController.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaTaskController.java
| ... | ... | @@ -3,11 +3,11 @@ package cn.iocoder.yudao.module.iot.controller.admin.ota; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskPageReqVO; | |
| 7 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskRespVO; | |
| 8 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; | |
| 6 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskRespVO; | |
| 8 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskCreateReqVO; | |
| 9 | 9 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; |
| 10 | -import cn.iocoder.yudao.module.iot.service.ota.IotOtaUpgradeTaskService; | |
| 10 | +import cn.iocoder.yudao.module.iot.service.ota.IotOtaTaskService; | |
| 11 | 11 | import io.swagger.v3.oas.annotations.Operation; |
| 12 | 12 | import io.swagger.v3.oas.annotations.Parameter; |
| 13 | 13 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -21,44 +21,44 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 21 | 21 | |
| 22 | 22 | @Tag(name = "管理后台 - IoT OTA 升级任务") |
| 23 | 23 | @RestController |
| 24 | -@RequestMapping("/iot/ota-upgrade-task") | |
| 24 | +@RequestMapping("/iot/ota/task") | |
| 25 | 25 | @Validated |
| 26 | -public class IotOtaUpgradeTaskController { | |
| 26 | +public class IotOtaTaskController { | |
| 27 | 27 | |
| 28 | 28 | @Resource |
| 29 | - private IotOtaUpgradeTaskService upgradeTaskService; | |
| 29 | + private IotOtaTaskService otaTaskService; | |
| 30 | 30 | |
| 31 | 31 | @PostMapping("/create") |
| 32 | - @Operation(summary = "创建升级任务") | |
| 33 | - @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:create')") | |
| 34 | - public CommonResult<Long> createUpgradeTask(@Valid @RequestBody IotOtaUpgradeTaskSaveReqVO createReqVO) { | |
| 35 | - return success(upgradeTaskService.createUpgradeTask(createReqVO)); | |
| 32 | + @Operation(summary = "创建 OTA 升级任务") | |
| 33 | + @PreAuthorize(value = "@ss.hasPermission('iot:ota-task:create')") | |
| 34 | + public CommonResult<Long> createOtaTask(@Valid @RequestBody IotOtaTaskCreateReqVO createReqVO) { | |
| 35 | + return success(otaTaskService.createOtaTask(createReqVO)); | |
| 36 | 36 | } |
| 37 | 37 | |
| 38 | 38 | @PostMapping("/cancel") |
| 39 | - @Operation(summary = "取消升级任务") | |
| 39 | + @Operation(summary = "取消 OTA 升级任务") | |
| 40 | 40 | @Parameter(name = "id", description = "升级任务编号", required = true) |
| 41 | - @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:cancel')") | |
| 42 | - public CommonResult<Boolean> cancelUpgradeTask(@RequestParam("id") Long id) { | |
| 43 | - upgradeTaskService.cancelUpgradeTask(id); | |
| 41 | + @PreAuthorize(value = "@ss.hasPermission('iot:ota-task:cancel')") | |
| 42 | + public CommonResult<Boolean> cancelOtaTask(@RequestParam("id") Long id) { | |
| 43 | + otaTaskService.cancelOtaTask(id); | |
| 44 | 44 | return success(true); |
| 45 | 45 | } |
| 46 | 46 | |
| 47 | 47 | @GetMapping("/page") |
| 48 | - @Operation(summary = "获得升级任务分页") | |
| 49 | - @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:query')") | |
| 50 | - public CommonResult<PageResult<IotOtaUpgradeTaskRespVO>> getUpgradeTaskPage(@Valid IotOtaUpgradeTaskPageReqVO pageReqVO) { | |
| 51 | - PageResult<IotOtaTaskDO> pageResult = upgradeTaskService.getUpgradeTaskPage(pageReqVO); | |
| 52 | - return success(BeanUtils.toBean(pageResult, IotOtaUpgradeTaskRespVO.class)); | |
| 48 | + @Operation(summary = "获得 OTA 升级任务分页") | |
| 49 | + @PreAuthorize(value = "@ss.hasPermission('iot:ota-task:query')") | |
| 50 | + public CommonResult<PageResult<IotOtaTaskRespVO>> getOtaTaskPage(@Valid IotOtaTaskPageReqVO pageReqVO) { | |
| 51 | + PageResult<IotOtaTaskDO> pageResult = otaTaskService.getOtaTaskPage(pageReqVO); | |
| 52 | + return success(BeanUtils.toBean(pageResult, IotOtaTaskRespVO.class)); | |
| 53 | 53 | } |
| 54 | 54 | |
| 55 | 55 | @GetMapping("/get") |
| 56 | - @Operation(summary = "获得升级任务") | |
| 56 | + @Operation(summary = "获得 OTA 升级任务") | |
| 57 | 57 | @Parameter(name = "id", description = "升级任务编号", required = true, example = "1024") |
| 58 | - @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:query')") | |
| 59 | - public CommonResult<IotOtaUpgradeTaskRespVO> getUpgradeTask(@RequestParam("id") Long id) { | |
| 60 | - IotOtaTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(id); | |
| 61 | - return success(BeanUtils.toBean(upgradeTask, IotOtaUpgradeTaskRespVO.class)); | |
| 58 | + @PreAuthorize(value = "@ss.hasPermission('iot:ota-task:query')") | |
| 59 | + public CommonResult<IotOtaTaskRespVO> getOtaTask(@RequestParam("id") Long id) { | |
| 60 | + IotOtaTaskDO upgradeTask = otaTaskService.getOtaTask(id); | |
| 61 | + return success(BeanUtils.toBean(upgradeTask, IotOtaTaskRespVO.class)); | |
| 62 | 62 | } |
| 63 | 63 | |
| 64 | 64 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaUpgradeRecordController.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaTaskRecordController.java
| ... | ... | @@ -3,10 +3,10 @@ package cn.iocoder.yudao.module.iot.controller.admin.ota; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.CommonResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 6 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordPageReqVO; | |
| 7 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordRespVO; | |
| 6 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record.IotOtaTaskRecordPageReqVO; | |
| 7 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record.IotOtaTaskRecordRespVO; | |
| 8 | 8 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| 9 | -import cn.iocoder.yudao.module.iot.service.ota.IotOtaUpgradeRecordService; | |
| 9 | +import cn.iocoder.yudao.module.iot.service.ota.IotOtaTaskRecordService; | |
| 10 | 10 | import io.swagger.v3.oas.annotations.Operation; |
| 11 | 11 | import io.swagger.v3.oas.annotations.Parameter; |
| 12 | 12 | import io.swagger.v3.oas.annotations.tags.Tag; |
| ... | ... | @@ -20,47 +20,46 @@ import java.util.Map; |
| 20 | 20 | |
| 21 | 21 | import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; |
| 22 | 22 | |
| 23 | -@Tag(name = "管理后台 - IoT OTA 升级记录") | |
| 23 | +@Tag(name = "管理后台 - IoT OTA 升级任务记录") | |
| 24 | 24 | @RestController |
| 25 | -@RequestMapping("/iot/ota-upgrade-record") | |
| 25 | +@RequestMapping("/iot/ota/task-record") | |
| 26 | 26 | @Validated |
| 27 | -public class IotOtaUpgradeRecordController { | |
| 27 | +public class IotOtaTaskRecordController { | |
| 28 | 28 | |
| 29 | 29 | @Resource |
| 30 | - private IotOtaUpgradeRecordService upgradeRecordService; | |
| 30 | + private IotOtaTaskRecordService otaTaskRecordService; | |
| 31 | 31 | |
| 32 | 32 | @GetMapping("/get-statistics") |
| 33 | 33 | @Operation(summary = "固件升级设备统计") |
| 34 | - @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") | |
| 34 | + @PreAuthorize("@ss.hasPermission('iot:ota-task-record:query')") | |
| 35 | 35 | @Parameter(name = "firmwareId", description = "固件编号", required = true, example = "1024") |
| 36 | - public CommonResult<Map<Integer, Long>> getOtaUpgradeRecordStatistics(@RequestParam(value = "firmwareId") Long firmwareId) { | |
| 37 | - return success(upgradeRecordService.getOtaUpgradeRecordStatistics(firmwareId)); | |
| 36 | + public CommonResult<Map<Integer, Long>> getOtaTaskRecordStatistics(@RequestParam(value = "firmwareId") Long firmwareId) { | |
| 37 | + return success(otaTaskRecordService.getOtaTaskRecordStatistics(firmwareId)); | |
| 38 | 38 | } |
| 39 | 39 | |
| 40 | 40 | @GetMapping("/get-count") |
| 41 | 41 | @Operation(summary = "获得升级记录分页 tab 数量") |
| 42 | - @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") | |
| 43 | - public CommonResult<Map<Integer, Long>> getOtaUpgradeRecordCount( | |
| 44 | - @Valid IotOtaUpgradeRecordPageReqVO pageReqVO) { | |
| 45 | - return success(upgradeRecordService.getOtaUpgradeRecordCount(pageReqVO)); | |
| 42 | + @PreAuthorize("@ss.hasPermission('iot:ota-task-record:query')") | |
| 43 | + public CommonResult<Map<Integer, Long>> getOtaTaskRecordCount(@Valid IotOtaTaskRecordPageReqVO pageReqVO) { | |
| 44 | + return success(otaTaskRecordService.getOtaTaskRecordCount(pageReqVO)); | |
| 46 | 45 | } |
| 47 | 46 | |
| 48 | 47 | @GetMapping("/page") |
| 49 | 48 | @Operation(summary = "获得升级记录分页") |
| 50 | 49 | @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") |
| 51 | - public CommonResult<PageResult<IotOtaUpgradeRecordRespVO>> getUpgradeRecordPage( | |
| 52 | - @Valid IotOtaUpgradeRecordPageReqVO pageReqVO) { | |
| 53 | - PageResult<IotOtaTaskRecordDO> pageResult = upgradeRecordService.getUpgradeRecordPage(pageReqVO); | |
| 54 | - return success(BeanUtils.toBean(pageResult, IotOtaUpgradeRecordRespVO.class)); | |
| 50 | + public CommonResult<PageResult<IotOtaTaskRecordRespVO>> getOtaTaskRecordPage( | |
| 51 | + @Valid IotOtaTaskRecordPageReqVO pageReqVO) { | |
| 52 | + PageResult<IotOtaTaskRecordDO> pageResult = otaTaskRecordService.getOtaTaskRecordPage(pageReqVO); | |
| 53 | + return success(BeanUtils.toBean(pageResult, IotOtaTaskRecordRespVO.class)); | |
| 55 | 54 | } |
| 56 | 55 | |
| 57 | 56 | @GetMapping("/get") |
| 58 | 57 | @Operation(summary = "获得升级记录") |
| 59 | 58 | @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") |
| 60 | 59 | @Parameter(name = "id", description = "升级记录编号", required = true, example = "1024") |
| 61 | - public CommonResult<IotOtaUpgradeRecordRespVO> getUpgradeRecord(@RequestParam("id") Long id) { | |
| 62 | - IotOtaTaskRecordDO upgradeRecord = upgradeRecordService.getUpgradeRecord(id); | |
| 63 | - return success(BeanUtils.toBean(upgradeRecord, IotOtaUpgradeRecordRespVO.class)); | |
| 60 | + public CommonResult<IotOtaTaskRecordRespVO> getOtaTaskRecord(@RequestParam("id") Long id) { | |
| 61 | + IotOtaTaskRecordDO upgradeRecord = otaTaskRecordService.getOtaTaskRecord(id); | |
| 62 | + return success(BeanUtils.toBean(upgradeRecord, IotOtaTaskRecordRespVO.class)); | |
| 64 | 63 | } |
| 65 | 64 | |
| 66 | 65 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/task/IotOtaTaskCreateReqVO.java
| 1 | -package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task; | |
| 1 | +package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | 4 | import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskDeviceScopeEnum; |
| ... | ... | @@ -9,9 +9,9 @@ import lombok.Data; |
| 9 | 9 | |
| 10 | 10 | import java.util.List; |
| 11 | 11 | |
| 12 | -@Schema(description = "管理后台 - IoT OTA 升级任务创建/修改 Request VO") | |
| 12 | +@Schema(description = "管理后台 - IoT OTA 升级任务创建 Request VO") | |
| 13 | 13 | @Data |
| 14 | -public class IotOtaUpgradeTaskSaveReqVO { | |
| 14 | +public class IotOtaTaskCreateReqVO { | |
| 15 | 15 | |
| 16 | 16 | @NotEmpty(message = "任务名称不能为空") |
| 17 | 17 | @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务") |
| ... | ... | @@ -27,7 +27,7 @@ public class IotOtaUpgradeTaskSaveReqVO { |
| 27 | 27 | @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 28 | 28 | @NotNull(message = "升级范围不能为空") |
| 29 | 29 | @InEnum(value = IotOtaTaskDeviceScopeEnum.class) |
| 30 | - private Integer scope; | |
| 30 | + private Integer deviceScope; | |
| 31 | 31 | |
| 32 | 32 | @Schema(description = "选中的设备编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") |
| 33 | 33 | private List<Long> deviceIds; | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/task/IotOtaTaskPageReqVO.java
| 1 | -package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task; | |
| 1 | +package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | -import jakarta.validation.constraints.NotNull; | |
| 6 | 5 | import lombok.Data; |
| 7 | 6 | |
| 8 | -@Data | |
| 9 | 7 | @Schema(description = "管理后台 - IoT OTA 升级任务分页 Request VO") |
| 10 | -public class IotOtaUpgradeTaskPageReqVO extends PageParam { | |
| 11 | - | |
| 12 | - @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 13 | - @NotNull(message = "固件编号不能为空") | |
| 14 | - private Long firmwareId; | |
| 8 | +@Data | |
| 9 | +public class IotOtaTaskPageReqVO extends PageParam { | |
| 15 | 10 | |
| 16 | 11 | @Schema(description = "任务名称", example = "升级任务") |
| 17 | 12 | private String name; |
| 18 | 13 | |
| 14 | + @Schema(description = "固件编号", example = "1024") | |
| 15 | + private Long firmwareId; | |
| 16 | + | |
| 19 | 17 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/task/IotOtaTaskRespVO.java
| 1 | -package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task; | |
| 1 | +package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task; | |
| 2 | 2 | |
| 3 | 3 | import com.fhs.core.trans.vo.VO; |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | 5 | import lombok.Data; |
| 6 | 6 | |
| 7 | 7 | import java.time.LocalDateTime; |
| 8 | -import java.util.List; | |
| 9 | 8 | |
| 10 | -@Data | |
| 11 | 9 | @Schema(description = "管理后台 - IoT OTA 升级任务 Response VO") |
| 12 | -public class IotOtaUpgradeTaskRespVO implements VO { | |
| 10 | +@Data | |
| 11 | +public class IotOtaTaskRespVO implements VO { | |
| 13 | 12 | |
| 14 | 13 | @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 15 | 14 | private Long id; |
| ... | ... | @@ -23,20 +22,17 @@ public class IotOtaUpgradeTaskRespVO implements VO { |
| 23 | 22 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 24 | 23 | private Long firmwareId; |
| 25 | 24 | |
| 26 | - @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 25 | + @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") | |
| 27 | 26 | private Integer status; |
| 28 | 27 | |
| 29 | - @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"1", "2"}) | |
| 30 | - private Integer scope; | |
| 31 | - | |
| 32 | - @Schema(description = "设备数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 33 | - private Long deviceCount; | |
| 28 | + @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | |
| 29 | + private Integer deviceScope; | |
| 34 | 30 | |
| 35 | - @Schema(description = "选中的设备编号数组", example = "1024") | |
| 36 | - private List<Long> deviceIds; | |
| 31 | + @Schema(description = "设备总共数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | |
| 32 | + private Integer deviceTotalCount; | |
| 37 | 33 | |
| 38 | - @Schema(description = "选中的设备名字数组", example = "1024") | |
| 39 | - private List<String> deviceNames; | |
| 34 | + @Schema(description = "设备成功数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "66") | |
| 35 | + private Integer deviceSuccessCount; | |
| 40 | 36 | |
| 41 | 37 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00") |
| 42 | 38 | private LocalDateTime createTime; | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordPageReqVO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/task/record/IotOtaTaskRecordPageReqVO.java
| 1 | -package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record; | |
| 1 | +package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record; | |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageParam; |
| 4 | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 5 | 5 | import jakarta.validation.constraints.NotNull; |
| 6 | 6 | import lombok.Data; |
| 7 | 7 | |
| 8 | -@Data | |
| 9 | 8 | @Schema(description = "管理后台 - IoT OTA 升级记录分页 Request VO") |
| 10 | -public class IotOtaUpgradeRecordPageReqVO extends PageParam { | |
| 9 | +@Data | |
| 10 | +public class IotOtaTaskRecordPageReqVO extends PageParam { | |
| 11 | 11 | |
| 12 | - // TODO @li:已经有注解,不用重复注释 | |
| 13 | - /** | |
| 14 | - * 升级任务编号字段。 | |
| 15 | - * <p> | |
| 16 | - * 该字段用于标识升级任务的唯一编号,不能为空。 | |
| 17 | - */ | |
| 12 | + // TODO @芋艿:分页条件字段梳理; | |
| 18 | 13 | @Schema(description = "升级任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 19 | 14 | @NotNull(message = "升级任务编号不能为空") |
| 20 | 15 | private Long taskId; |
| 21 | 16 | |
| 22 | - /** | |
| 23 | - * 设备标识字段。 | |
| 24 | - * <p> | |
| 25 | - * 该字段用于标识设备的名称,通常用于区分不同的设备。 | |
| 26 | - */ | |
| 27 | 17 | @Schema(description = "设备标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "摄像头A1-1") |
| 28 | 18 | private String deviceName; |
| 29 | 19 | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/task/record/IotOtaTaskRecordRespVO.java
| 1 | -package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | |
| 4 | -import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceMessageDO; | |
| 5 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; | |
| 6 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; | |
| 7 | -import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskRecordStatusEnum; | |
| 8 | -import com.fhs.core.trans.anno.Trans; | |
| 9 | -import com.fhs.core.trans.constant.TransType; | |
| 1 | +package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record; | |
| 2 | + | |
| 10 | 3 | import io.swagger.v3.oas.annotations.media.Schema; |
| 11 | 4 | import lombok.Data; |
| 12 | 5 | |
| 13 | 6 | import java.time.LocalDateTime; |
| 14 | 7 | |
| 15 | -@Data | |
| 16 | 8 | @Schema(description = "管理后台 - IoT OTA 升级记录 Response VO") |
| 17 | -public class IotOtaUpgradeRecordRespVO { | |
| 9 | +@Data | |
| 10 | +public class IotOtaTaskRecordRespVO { | |
| 11 | + | |
| 12 | + // TODO @芋艿:梳理字段 | |
| 18 | 13 | |
| 19 | - /** | |
| 20 | - * 升级记录编号 | |
| 21 | - */ | |
| 22 | 14 | @Schema(description = "升级记录编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 23 | 15 | private Long id; |
| 24 | - /** | |
| 25 | - * 固件编号 | |
| 26 | - * <p> | |
| 27 | - * 关联 {@link IotOtaFirmwareDO#getId()} | |
| 28 | - */ | |
| 16 | + | |
| 29 | 17 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 30 | - @Trans(type = TransType.SIMPLE, target = IotOtaFirmwareDO.class, fields = {"version"}, refs = {"firmwareVersion"}) | |
| 31 | 18 | private Long firmwareId; |
| 32 | - /** | |
| 33 | - * 固件版本 | |
| 34 | - */ | |
| 19 | + | |
| 35 | 20 | @Schema(description = "固件版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "v1.0.0") |
| 36 | 21 | private String firmwareVersion; |
| 37 | - /** | |
| 38 | - * 任务编号 | |
| 39 | - * <p> | |
| 40 | - * 关联 {@link IotOtaTaskDO#getId()} | |
| 41 | - */ | |
| 22 | + | |
| 42 | 23 | @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 43 | 24 | private Long taskId; |
| 44 | - /** | |
| 45 | - * 产品标识 | |
| 46 | - * <p> | |
| 47 | - * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()} | |
| 48 | - */ | |
| 25 | + | |
| 49 | 26 | @Schema(description = "产品标识", requiredMode = Schema.RequiredMode.REQUIRED, example = "iot") |
| 50 | 27 | private String productKey; |
| 51 | - /** | |
| 52 | - * 设备名称 | |
| 53 | - * <p> | |
| 54 | - * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()} | |
| 55 | - */ | |
| 28 | + | |
| 56 | 29 | @Schema(description = "设备名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "iot") |
| 57 | 30 | private String deviceName; |
| 58 | - /** | |
| 59 | - * 设备编号 | |
| 60 | - * <p> | |
| 61 | - * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()} | |
| 62 | - */ | |
| 31 | + | |
| 63 | 32 | @Schema(description = "设备编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 64 | 33 | private String deviceId; |
| 65 | - /** | |
| 66 | - * 来源的固件编号 | |
| 67 | - * <p> | |
| 68 | - * 关联 {@link IotDeviceDO#getFirmwareId()} | |
| 69 | - */ | |
| 34 | + | |
| 70 | 35 | @Schema(description = "来源的固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 71 | - @Trans(type = TransType.SIMPLE, target = IotOtaFirmwareDO.class, fields = {"version"}, refs = {"fromFirmwareVersion"}) | |
| 72 | 36 | private Long fromFirmwareId; |
| 73 | - /** | |
| 74 | - * 来源的固件版本 | |
| 75 | - */ | |
| 37 | + | |
| 76 | 38 | @Schema(description = "来源的固件版本", requiredMode = Schema.RequiredMode.REQUIRED, example = "v1.0.0") |
| 77 | 39 | private String fromFirmwareVersion; |
| 78 | - /** | |
| 79 | - * 升级状态 | |
| 80 | - * <p> | |
| 81 | - * 关联 {@link IotOtaTaskRecordStatusEnum} | |
| 82 | - */ | |
| 83 | - @Schema(description = "升级状态", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"0", "10", "20", "30", "40", "50"}) | |
| 40 | + | |
| 41 | + @Schema(description = "升级状态", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 84 | 42 | private Integer status; |
| 85 | - /** | |
| 86 | - * 升级进度,百分比 | |
| 87 | - */ | |
| 43 | + | |
| 88 | 44 | @Schema(description = "升级进度,百分比", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") |
| 89 | 45 | private Integer progress; |
| 90 | - /** | |
| 91 | - * 升级进度描述 | |
| 92 | - * <p> | |
| 93 | - * 注意,只记录设备最后一次的升级进度描述 | |
| 94 | - * 如果想看历史记录,可以查看 {@link IotDeviceMessageDO} 设备日志 | |
| 95 | - */ | |
| 46 | + | |
| 96 | 47 | @Schema(description = "升级进度描述", requiredMode = Schema.RequiredMode.REQUIRED, example = "10") |
| 97 | 48 | private String description; |
| 98 | - /** | |
| 99 | - * 升级开始时间 | |
| 100 | - */ | |
| 101 | - @Schema(description = "升级开始时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00") | |
| 49 | + | |
| 50 | + @Schema(description = "升级开始时间", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 102 | 51 | private LocalDateTime startTime; |
| 103 | - /** | |
| 104 | - * 升级结束时间 | |
| 105 | - */ | |
| 106 | - @Schema(description = "升级结束时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00") | |
| 52 | + | |
| 53 | + @Schema(description = "升级结束时间", requiredMode = Schema.RequiredMode.REQUIRED) | |
| 107 | 54 | private LocalDateTime endTime; |
| 108 | 55 | |
| 109 | 56 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/ota/IotOtaUpgradeTaskMapper.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/ota/IotOtaTaskMapper.java
| ... | ... | @@ -3,55 +3,30 @@ package cn.iocoder.yudao.module.iot.dal.mysql.ota; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskPageReqVO; | |
| 6 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskPageReqVO; | |
| 7 | 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; |
| 8 | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | 9 | |
| 10 | 10 | import java.util.List; |
| 11 | 11 | |
| 12 | 12 | /** |
| 13 | - * OTA 升级任务Mapper | |
| 13 | + * OTA 升级任务 Mapper | |
| 14 | 14 | * |
| 15 | 15 | * @author Shelly |
| 16 | 16 | */ |
| 17 | 17 | @Mapper |
| 18 | -public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaTaskDO> { | |
| 18 | +public interface IotOtaTaskMapper extends BaseMapperX<IotOtaTaskDO> { | |
| 19 | 19 | |
| 20 | - /** | |
| 21 | - * 根据固件ID和任务名称查询升级任务列表。 | |
| 22 | - * | |
| 23 | - * @param firmwareId 固件ID,用于筛选升级任务 | |
| 24 | - * @param name 任务名称,用于筛选升级任务 | |
| 25 | - * @return 符合条件的升级任务列表 | |
| 26 | - */ | |
| 27 | 20 | default List<IotOtaTaskDO> selectByFirmwareIdAndName(Long firmwareId, String name) { |
| 28 | 21 | return selectList(new LambdaQueryWrapperX<IotOtaTaskDO>() |
| 29 | 22 | .eqIfPresent(IotOtaTaskDO::getFirmwareId, firmwareId) |
| 30 | 23 | .eqIfPresent(IotOtaTaskDO::getName, name)); |
| 31 | 24 | } |
| 32 | 25 | |
| 33 | - /** | |
| 34 | - * 分页查询升级任务列表,支持根据固件ID和任务名称进行筛选。 | |
| 35 | - * | |
| 36 | - * @param pageReqVO 分页查询请求对象,包含分页参数和筛选条件 | |
| 37 | - * @return 分页结果,包含符合条件的升级任务列表 | |
| 38 | - */ | |
| 39 | - default PageResult<IotOtaTaskDO> selectUpgradeTaskPage(IotOtaUpgradeTaskPageReqVO pageReqVO) { | |
| 26 | + default PageResult<IotOtaTaskDO> selectUpgradeTaskPage(IotOtaTaskPageReqVO pageReqVO) { | |
| 40 | 27 | return selectPage(pageReqVO, new LambdaQueryWrapperX<IotOtaTaskDO>() |
| 41 | 28 | .eqIfPresent(IotOtaTaskDO::getFirmwareId, pageReqVO.getFirmwareId()) |
| 42 | 29 | .likeIfPresent(IotOtaTaskDO::getName, pageReqVO.getName())); |
| 43 | 30 | } |
| 44 | 31 | |
| 45 | - /** | |
| 46 | - * 根据任务状态查询升级任务列表 | |
| 47 | - * <p> | |
| 48 | - * 该函数通过传入的任务状态,查询数据库中符合条件的升级任务列表。 | |
| 49 | - * | |
| 50 | - * @param status 任务状态,用于筛选升级任务的状态值 | |
| 51 | - * @return 返回符合条件的升级任务列表,列表中的每个元素为 IotOtaUpgradeTaskDO 对象 | |
| 52 | - */ | |
| 53 | - default List<IotOtaTaskDO> selectUpgradeTaskByState(Integer status) { | |
| 54 | - return selectList(IotOtaTaskDO::getStatus, status); | |
| 55 | - } | |
| 56 | - | |
| 57 | 32 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/ota/IotOtaUpgradeRecordMapper.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.dal.mysql.ota; |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordPageReqVO; | |
| 6 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record.IotOtaTaskRecordPageReqVO; | |
| 7 | 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| 8 | 8 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 9 | 9 | import org.apache.ibatis.annotations.Mapper; |
| ... | ... | @@ -80,11 +80,11 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaTaskRecordD |
| 80 | 80 | * @return 返回分页查询结果,包含符合条件的 OTA升级记录列表 |
| 81 | 81 | */ |
| 82 | 82 | // TODO @li:selectPage 就 ok 拉。 |
| 83 | - default PageResult<IotOtaTaskRecordDO> selectUpgradeRecordPage(IotOtaUpgradeRecordPageReqVO pageReqVO) { | |
| 83 | + default PageResult<IotOtaTaskRecordDO> selectUpgradeRecordPage(IotOtaTaskRecordPageReqVO pageReqVO) { | |
| 84 | 84 | // TODO @li:这里的注释,可以去掉哈;然后下面的“如果”。。。也没必要注释 |
| 85 | 85 | // 使用LambdaQueryWrapperX构建查询条件,并根据请求参数动态添加查询条件 |
| 86 | 86 | return selectPage(pageReqVO, new LambdaQueryWrapperX<IotOtaTaskRecordDO>() |
| 87 | - .likeIfPresent(IotOtaTaskRecordDO::getDeviceName, pageReqVO.getDeviceName()) // 如果设备名称存在,则添加模糊查询条件 | |
| 87 | +// .likeIfPresent(IotOtaTaskRecordDO::getDeviceName, pageReqVO.getDeviceName()) // 如果设备名称存在,则添加模糊查询条件 | |
| 88 | 88 | .eqIfPresent(IotOtaTaskRecordDO::getTaskId, pageReqVO.getTaskId())); // 如果任务ID存在,则添加等值查询条件 |
| 89 | 89 | } |
| 90 | 90 | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeRecordService.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaTaskRecordService.java
| 1 | 1 | package cn.iocoder.yudao.module.iot.service.ota; |
| 2 | 2 | |
| 3 | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordPageReqVO; | |
| 4 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record.IotOtaTaskRecordPageReqVO; | |
| 5 | 5 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| 6 | 6 | import jakarta.validation.Valid; |
| 7 | 7 | |
| ... | ... | @@ -13,7 +13,7 @@ import java.util.Map; |
| 13 | 13 | * IotOtaUpgradeRecordService 接口定义了与物联网设备OTA升级记录相关的操作。 |
| 14 | 14 | * 该接口提供了创建、更新、查询、统计和重试升级记录的功能。 |
| 15 | 15 | */ |
| 16 | -public interface IotOtaUpgradeRecordService { | |
| 16 | +public interface IotOtaTaskRecordService { | |
| 17 | 17 | |
| 18 | 18 | /** |
| 19 | 19 | * 批量创建 OTA 升级记录 |
| ... | ... | @@ -23,37 +23,37 @@ public interface IotOtaUpgradeRecordService { |
| 23 | 23 | * @param firmwareId 固件ID,表示要升级到的固件版本。 |
| 24 | 24 | * @param upgradeTaskId 升级任务ID,表示此次升级任务的唯一标识。 |
| 25 | 25 | */ |
| 26 | - void createOtaUpgradeRecordBatch(List<Long> deviceIds, Long firmwareId, Long upgradeTaskId); | |
| 26 | + void createOtaTaskRecordBatch(List<Long> deviceIds, Long firmwareId, Long upgradeTaskId); | |
| 27 | 27 | |
| 28 | 28 | /** |
| 29 | 29 | * 获取 OTA 升级记录的数量统计 |
| 30 | 30 | * |
| 31 | 31 | * @return 返回一个 Map,其中键为状态码,值为对应状态的升级记录数量 |
| 32 | 32 | */ |
| 33 | - Map<Integer, Long> getOtaUpgradeRecordCount(@Valid IotOtaUpgradeRecordPageReqVO pageReqVO); | |
| 33 | + Map<Integer, Long> getOtaTaskRecordCount(@Valid IotOtaTaskRecordPageReqVO pageReqVO); | |
| 34 | 34 | |
| 35 | 35 | /** |
| 36 | - * 获取 OTA 升级记录的统计信息。 | |
| 36 | + * 获取 OTA 升级记录的统计信息 | |
| 37 | 37 | * |
| 38 | 38 | * @return 返回一个 Map,其中键为状态码,值为对应状态的升级记录统计信息 |
| 39 | 39 | */ |
| 40 | - Map<Integer, Long> getOtaUpgradeRecordStatistics(Long firmwareId); | |
| 40 | + Map<Integer, Long> getOtaTaskRecordStatistics(Long firmwareId); | |
| 41 | 41 | |
| 42 | 42 | /** |
| 43 | - * 获取指定 ID 的 OTA 升级记录的详细信息。 | |
| 43 | + * 获取指定 ID 的 OTA 升级记录的详细信息 | |
| 44 | 44 | * |
| 45 | - * @param id 需要查询的升级记录的ID。 | |
| 46 | - * @return 返回包含升级记录详细信息的响应对象。 | |
| 45 | + * @param id 需要查询的升级记录的 ID | |
| 46 | + * @return 返回包含升级记录详细信息的响应对象 | |
| 47 | 47 | */ |
| 48 | - IotOtaTaskRecordDO getUpgradeRecord(Long id); | |
| 48 | + IotOtaTaskRecordDO getOtaTaskRecord(Long id); | |
| 49 | 49 | |
| 50 | 50 | /** |
| 51 | - * 分页查询 OTA 升级记录。 | |
| 51 | + * 分页查询 OTA 升级记录 | |
| 52 | 52 | * |
| 53 | 53 | * @param pageReqVO 包含分页查询条件的请求对象,必须经过验证。 |
| 54 | 54 | * @return 返回包含分页查询结果的响应对象。 |
| 55 | 55 | */ |
| 56 | - PageResult<IotOtaTaskRecordDO> getUpgradeRecordPage(@Valid IotOtaUpgradeRecordPageReqVO pageReqVO); | |
| 56 | + PageResult<IotOtaTaskRecordDO> getOtaTaskRecordPage(@Valid IotOtaTaskRecordPageReqVO pageReqVO); | |
| 57 | 57 | |
| 58 | 58 | /** |
| 59 | 59 | * 根据任务 ID 取消升级记录 | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeRecordServiceImpl.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaTaskRecordServiceImpl.java
| ... | ... | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.service.ota; |
| 3 | 3 | import cn.hutool.core.convert.Convert; |
| 4 | 4 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; |
| 6 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordPageReqVO; | |
| 6 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.record.IotOtaTaskRecordPageReqVO; | |
| 7 | 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; |
| 8 | 8 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; |
| 9 | 9 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| ... | ... | @@ -29,40 +29,39 @@ import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.*; |
| 29 | 29 | @Slf4j |
| 30 | 30 | @Service |
| 31 | 31 | @Validated |
| 32 | -public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordService { | |
| 32 | +public class IotOtaTaskRecordServiceImpl implements IotOtaTaskRecordService { | |
| 33 | 33 | |
| 34 | 34 | @Resource |
| 35 | - private IotOtaUpgradeRecordMapper upgradeRecordMapper; | |
| 35 | + private IotOtaUpgradeRecordMapper iotOtaUpgradeRecordMapper; | |
| 36 | + | |
| 36 | 37 | @Resource |
| 37 | 38 | private IotDeviceService deviceService; |
| 38 | 39 | @Resource |
| 39 | 40 | private IotOtaFirmwareService firmwareService; |
| 40 | 41 | @Resource |
| 41 | - private IotOtaUpgradeTaskService upgradeTaskService; | |
| 42 | + private IotOtaTaskService upgradeTaskService; | |
| 42 | 43 | |
| 43 | 44 | @Override |
| 44 | - public void createOtaUpgradeRecordBatch(List<Long> deviceIds, Long firmwareId, Long upgradeTaskId) { | |
| 45 | + public void createOtaTaskRecordBatch(List<Long> deviceIds, Long firmwareId, Long upgradeTaskId) { | |
| 45 | 46 | // 1. 校验升级记录信息是否存在,并且已经取消的任务可以重新开始 |
| 46 | 47 | deviceIds.forEach(deviceId -> validateUpgradeRecordDuplicate(firmwareId, upgradeTaskId, String.valueOf(deviceId))); |
| 47 | 48 | |
| 48 | 49 | // 2. 初始化OTA升级记录列表信息 |
| 49 | - IotOtaTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(upgradeTaskId); | |
| 50 | + IotOtaTaskDO upgradeTask = upgradeTaskService.getOtaTask(upgradeTaskId); | |
| 50 | 51 | IotOtaFirmwareDO firmware = firmwareService.getOtaFirmware(firmwareId); |
| 51 | 52 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByIdList(deviceIds); |
| 52 | 53 | List<IotOtaTaskRecordDO> upgradeRecordList = deviceList.stream().map(device -> { |
| 53 | 54 | IotOtaTaskRecordDO upgradeRecord = new IotOtaTaskRecordDO(); |
| 54 | 55 | upgradeRecord.setFirmwareId(firmware.getId()); |
| 55 | 56 | upgradeRecord.setTaskId(upgradeTask.getId()); |
| 56 | - upgradeRecord.setProductKey(device.getProductKey()); | |
| 57 | - upgradeRecord.setDeviceName(device.getDeviceName()); | |
| 58 | - upgradeRecord.setDeviceId(Convert.toStr(device.getId())); | |
| 57 | + upgradeRecord.setDeviceId(device.getId()); | |
| 59 | 58 | upgradeRecord.setFromFirmwareId(Convert.toLong(device.getFirmwareId())); |
| 60 | 59 | upgradeRecord.setStatus(IotOtaTaskRecordStatusEnum.PENDING.getStatus()); |
| 61 | 60 | upgradeRecord.setProgress(0); |
| 62 | 61 | return upgradeRecord; |
| 63 | 62 | }).toList(); |
| 64 | 63 | // 3. 保存数据 |
| 65 | - upgradeRecordMapper.insertBatch(upgradeRecordList); | |
| 64 | + iotOtaUpgradeRecordMapper.insertBatch(upgradeRecordList); | |
| 66 | 65 | // TODO @芋艿:在这里需要处理推送升级任务的逻辑 |
| 67 | 66 | } |
| 68 | 67 | |
| ... | ... | @@ -76,9 +75,9 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic |
| 76 | 75 | */ |
| 77 | 76 | @Override |
| 78 | 77 | @Transactional |
| 79 | - public Map<Integer, Long> getOtaUpgradeRecordCount(IotOtaUpgradeRecordPageReqVO pageReqVO) { | |
| 78 | + public Map<Integer, Long> getOtaTaskRecordCount(IotOtaTaskRecordPageReqVO pageReqVO) { | |
| 80 | 79 | // 分别查询不同状态的OTA升级记录数量 |
| 81 | - List<Map<String, Object>> upgradeRecordCountList = upgradeRecordMapper.selectOtaUpgradeRecordCount( | |
| 80 | + List<Map<String, Object>> upgradeRecordCountList = iotOtaUpgradeRecordMapper.selectOtaUpgradeRecordCount( | |
| 82 | 81 | pageReqVO.getTaskId(), pageReqVO.getDeviceName()); |
| 83 | 82 | Map<String, Object> upgradeRecordCountMap = ObjectUtils.defaultIfNull(upgradeRecordCountList.get(0)); |
| 84 | 83 | Objects.requireNonNull(upgradeRecordCountMap); |
| ... | ... | @@ -89,9 +88,9 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic |
| 89 | 88 | |
| 90 | 89 | @Override |
| 91 | 90 | @Transactional |
| 92 | - public Map<Integer, Long> getOtaUpgradeRecordStatistics(Long firmwareId) { | |
| 91 | + public Map<Integer, Long> getOtaTaskRecordStatistics(Long firmwareId) { | |
| 93 | 92 | // 查询并统计不同状态的OTA升级记录数量 |
| 94 | - List<Map<String, Object>> upgradeRecordStatisticsList = upgradeRecordMapper.selectOtaUpgradeRecordStatistics(firmwareId); | |
| 93 | + List<Map<String, Object>> upgradeRecordStatisticsList = iotOtaUpgradeRecordMapper.selectOtaUpgradeRecordStatistics(firmwareId); | |
| 95 | 94 | Map<String, Object> upgradeRecordStatisticsMap = ObjectUtils.defaultIfNull(upgradeRecordStatisticsList.get(0)); |
| 96 | 95 | Objects.requireNonNull(upgradeRecordStatisticsMap); |
| 97 | 96 | return upgradeRecordStatisticsMap.entrySet().stream().collect(Collectors.toMap( |
| ... | ... | @@ -100,19 +99,19 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic |
| 100 | 99 | } |
| 101 | 100 | |
| 102 | 101 | @Override |
| 103 | - public IotOtaTaskRecordDO getUpgradeRecord(Long id) { | |
| 104 | - return upgradeRecordMapper.selectById(id); | |
| 102 | + public IotOtaTaskRecordDO getOtaTaskRecord(Long id) { | |
| 103 | + return iotOtaUpgradeRecordMapper.selectById(id); | |
| 105 | 104 | } |
| 106 | 105 | |
| 107 | 106 | @Override |
| 108 | - public PageResult<IotOtaTaskRecordDO> getUpgradeRecordPage(IotOtaUpgradeRecordPageReqVO pageReqVO) { | |
| 109 | - return upgradeRecordMapper.selectUpgradeRecordPage(pageReqVO); | |
| 107 | + public PageResult<IotOtaTaskRecordDO> getOtaTaskRecordPage(IotOtaTaskRecordPageReqVO pageReqVO) { | |
| 108 | + return iotOtaUpgradeRecordMapper.selectUpgradeRecordPage(pageReqVO); | |
| 110 | 109 | } |
| 111 | 110 | |
| 112 | 111 | @Override |
| 113 | 112 | public void cancelUpgradeRecordByTaskId(Long taskId) { |
| 114 | 113 | // 暂定只有待推送的升级记录可以取消 TODO @芋艿:可以看看阿里云,哪些可以取消 |
| 115 | - upgradeRecordMapper.updateUpgradeRecordStatusByTaskIdAndStatus( | |
| 114 | + iotOtaUpgradeRecordMapper.updateUpgradeRecordStatusByTaskIdAndStatus( | |
| 116 | 115 | IotOtaTaskRecordStatusEnum.CANCELED.getStatus(), taskId, |
| 117 | 116 | IotOtaTaskRecordStatusEnum.PENDING.getStatus()); |
| 118 | 117 | } |
| ... | ... | @@ -127,7 +126,7 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic |
| 127 | 126 | */ |
| 128 | 127 | private IotOtaTaskRecordDO validateUpgradeRecordExists(Long id) { |
| 129 | 128 | // 根据ID查询升级记录 |
| 130 | - IotOtaTaskRecordDO upgradeRecord = upgradeRecordMapper.selectById(id); | |
| 129 | + IotOtaTaskRecordDO upgradeRecord = iotOtaUpgradeRecordMapper.selectById(id); | |
| 131 | 130 | // 如果查询结果为空,抛出异常 |
| 132 | 131 | if (upgradeRecord == null) { |
| 133 | 132 | throw exception(OTA_UPGRADE_RECORD_NOT_EXISTS); |
| ... | ... | @@ -147,7 +146,7 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic |
| 147 | 146 | * @param deviceId 设备ID,用于标识特定的设备 |
| 148 | 147 | */ |
| 149 | 148 | private void validateUpgradeRecordDuplicate(Long firmwareId, Long taskId, String deviceId) { |
| 150 | - IotOtaTaskRecordDO upgradeRecord = upgradeRecordMapper.selectByConditions(firmwareId, taskId, deviceId); | |
| 149 | + IotOtaTaskRecordDO upgradeRecord = iotOtaUpgradeRecordMapper.selectByConditions(firmwareId, taskId, deviceId); | |
| 151 | 150 | if (upgradeRecord == null) { |
| 152 | 151 | return; |
| 153 | 152 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaTaskService.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.iot.service.ota; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskCreateReqVO; | |
| 5 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskPageReqVO; | |
| 6 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; | |
| 7 | +import jakarta.validation.Valid; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * IoT OTA 升级任务 Service 接口 | |
| 11 | + * | |
| 12 | + * @author Shelly Chan | |
| 13 | + */ | |
| 14 | +public interface IotOtaTaskService { | |
| 15 | + | |
| 16 | + /** | |
| 17 | + * 创建 OTA升 级任务 | |
| 18 | + * | |
| 19 | + * @param createReqVO 创建请求对象 | |
| 20 | + * @return 升级任务编号 | |
| 21 | + */ | |
| 22 | + Long createOtaTask(@Valid IotOtaTaskCreateReqVO createReqVO); | |
| 23 | + | |
| 24 | + /** | |
| 25 | + * 取消 OTA 升级任务 | |
| 26 | + * | |
| 27 | + * @param id 升级任务编号 | |
| 28 | + */ | |
| 29 | + void cancelOtaTask(Long id); | |
| 30 | + | |
| 31 | + /** | |
| 32 | + * 获取 OTA 升级任务 | |
| 33 | + * | |
| 34 | + * @param id 升级任务编号 | |
| 35 | + * @return 升级任务 | |
| 36 | + */ | |
| 37 | + IotOtaTaskDO getOtaTask(Long id); | |
| 38 | + | |
| 39 | + /** | |
| 40 | + * 分页查询 OTA 升级任务 | |
| 41 | + * | |
| 42 | + * @param pageReqVO 分页查询请求 | |
| 43 | + * @return 升级任务分页结果 | |
| 44 | + */ | |
| 45 | + PageResult<IotOtaTaskDO> getOtaTaskPage(@Valid IotOtaTaskPageReqVO pageReqVO); | |
| 46 | + | |
| 47 | +} | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeTaskServiceImpl.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaTaskServiceImpl.java
| ... | ... | @@ -4,12 +4,12 @@ import cn.hutool.core.collection.CollUtil; |
| 4 | 4 | import cn.hutool.core.convert.Convert; |
| 5 | 5 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 6 | 6 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 7 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskPageReqVO; | |
| 8 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; | |
| 7 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskCreateReqVO; | |
| 8 | +import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.task.IotOtaTaskPageReqVO; | |
| 9 | 9 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; |
| 10 | 10 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; |
| 11 | 11 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; |
| 12 | -import cn.iocoder.yudao.module.iot.dal.mysql.ota.IotOtaUpgradeTaskMapper; | |
| 12 | +import cn.iocoder.yudao.module.iot.dal.mysql.ota.IotOtaTaskMapper; | |
| 13 | 13 | import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskDeviceScopeEnum; |
| 14 | 14 | import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskStatusEnum; |
| 15 | 15 | import cn.iocoder.yudao.module.iot.service.device.IotDeviceService; |
| ... | ... | @@ -22,56 +22,54 @@ import org.springframework.validation.annotation.Validated; |
| 22 | 22 | |
| 23 | 23 | import java.util.List; |
| 24 | 24 | import java.util.Objects; |
| 25 | -import java.util.stream.Collectors; | |
| 26 | 25 | |
| 27 | 26 | import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; |
| 28 | 27 | import static cn.iocoder.yudao.module.iot.enums.ErrorCodeConstants.*; |
| 29 | 28 | |
| 30 | 29 | /** |
| 31 | - * IoT OTA升级任务 Service 实现类 | |
| 30 | + * IoT OTA 升级任务 Service 实现类 | |
| 32 | 31 | * |
| 33 | 32 | * @author Shelly Chan |
| 34 | 33 | */ |
| 35 | 34 | @Service |
| 36 | 35 | @Validated |
| 37 | 36 | @Slf4j |
| 38 | -public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | |
| 37 | +public class IotOtaTaskServiceImpl implements IotOtaTaskService { | |
| 39 | 38 | |
| 40 | 39 | @Resource |
| 41 | - private IotOtaUpgradeTaskMapper upgradeTaskMapper; | |
| 40 | + private IotOtaTaskMapper otaTaskMapper; | |
| 42 | 41 | |
| 43 | 42 | @Resource |
| 44 | - @Lazy | |
| 45 | 43 | private IotDeviceService deviceService; |
| 46 | 44 | @Resource |
| 47 | - @Lazy | |
| 48 | - private IotOtaFirmwareService firmwareService; | |
| 45 | + private IotOtaFirmwareService otaFirmwareService; | |
| 49 | 46 | @Resource |
| 50 | - @Lazy | |
| 51 | - private IotOtaUpgradeRecordService upgradeRecordService; | |
| 47 | + @Lazy // 延迟,避免循环依赖报错 | |
| 48 | + private IotOtaTaskRecordService otaUpgradeRecordService; | |
| 52 | 49 | |
| 53 | 50 | @Override |
| 54 | 51 | @Transactional(rollbackFor = Exception.class) |
| 55 | - public Long createUpgradeTask(IotOtaUpgradeTaskSaveReqVO createReqVO) { | |
| 52 | + public Long createOtaTask(IotOtaTaskCreateReqVO createReqVO) { | |
| 56 | 53 | // 1.1 校验同一固件的升级任务名称不重复 |
| 57 | 54 | validateFirmwareTaskDuplicate(createReqVO.getFirmwareId(), createReqVO.getName()); |
| 58 | 55 | // 1.2 校验固件信息是否存在 |
| 59 | - IotOtaFirmwareDO firmware = firmwareService.validateFirmwareExists(createReqVO.getFirmwareId()); | |
| 56 | + IotOtaFirmwareDO firmware = otaFirmwareService.validateFirmwareExists(createReqVO.getFirmwareId()); | |
| 60 | 57 | // 1.3 补全设备范围信息,并且校验是否又设备可以升级,如果没有设备可以升级,则报错 |
| 61 | - validateScopeAndDevice(createReqVO.getScope(), createReqVO.getDeviceIds(), firmware.getProductId()); | |
| 58 | + validateScopeAndDevice(createReqVO.getDeviceScope(), createReqVO.getDeviceIds(), firmware.getProductId()); | |
| 62 | 59 | |
| 63 | 60 | // 2. 保存 OTA 升级任务信息到数据库 |
| 64 | 61 | IotOtaTaskDO upgradeTask = initOtaUpgradeTask(createReqVO, firmware.getProductId()); |
| 65 | - upgradeTaskMapper.insert(upgradeTask); | |
| 62 | + otaTaskMapper.insert(upgradeTask); | |
| 66 | 63 | |
| 67 | 64 | // 3. 生成设备升级记录信息并存储,等待定时任务轮询 |
| 68 | - upgradeRecordService.createOtaUpgradeRecordBatch(upgradeTask.getDeviceIds(), firmware.getId(), upgradeTask.getId()); | |
| 65 | + // TODO @芋艿:在处理; | |
| 66 | +// otaUpgradeRecordService.createOtaUpgradeRecordBatch(upgradeTask.getDeviceIds(), firmware.getId(), upgradeTask.getId()); | |
| 69 | 67 | return upgradeTask.getId(); |
| 70 | 68 | } |
| 71 | 69 | |
| 72 | 70 | @Override |
| 73 | 71 | @Transactional(rollbackFor = Exception.class) |
| 74 | - public void cancelUpgradeTask(Long id) { | |
| 72 | + public void cancelOtaTask(Long id) { | |
| 75 | 73 | // 1.1 校验升级任务是否存在 |
| 76 | 74 | IotOtaTaskDO upgradeTask = validateUpgradeTaskExists(id); |
| 77 | 75 | // 1.2 校验升级任务是否可以取消 |
| ... | ... | @@ -81,52 +79,34 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { |
| 81 | 79 | } |
| 82 | 80 | |
| 83 | 81 | // 2. 更新 OTA 升级任务状态为已取消 |
| 84 | - upgradeTaskMapper.updateById(IotOtaTaskDO.builder() | |
| 82 | + otaTaskMapper.updateById(IotOtaTaskDO.builder() | |
| 85 | 83 | .id(id).status(IotOtaTaskStatusEnum.CANCELED.getStatus()) |
| 86 | 84 | .build()); |
| 87 | 85 | |
| 88 | 86 | // 3. 更新 OTA 升级记录状态为已取消 |
| 89 | - upgradeRecordService.cancelUpgradeRecordByTaskId(id); | |
| 87 | + otaUpgradeRecordService.cancelUpgradeRecordByTaskId(id); | |
| 90 | 88 | } |
| 91 | 89 | |
| 92 | 90 | @Override |
| 93 | - public IotOtaTaskDO getUpgradeTask(Long id) { | |
| 94 | - return upgradeTaskMapper.selectById(id); | |
| 91 | + public IotOtaTaskDO getOtaTask(Long id) { | |
| 92 | + return otaTaskMapper.selectById(id); | |
| 95 | 93 | } |
| 96 | 94 | |
| 97 | 95 | @Override |
| 98 | - public PageResult<IotOtaTaskDO> getUpgradeTaskPage(IotOtaUpgradeTaskPageReqVO pageReqVO) { | |
| 99 | - return upgradeTaskMapper.selectUpgradeTaskPage(pageReqVO); | |
| 100 | - } | |
| 101 | - | |
| 102 | - @Override | |
| 103 | - public List<IotOtaTaskDO> getUpgradeTaskByState(Integer state) { | |
| 104 | - return upgradeTaskMapper.selectUpgradeTaskByState(state); | |
| 105 | - } | |
| 106 | - | |
| 107 | - @Override | |
| 108 | - public void updateUpgradeTaskStatus(Long id, Integer status) { | |
| 109 | - upgradeTaskMapper.updateById(IotOtaTaskDO.builder().id(id).status(status).build()); | |
| 96 | + public PageResult<IotOtaTaskDO> getOtaTaskPage(IotOtaTaskPageReqVO pageReqVO) { | |
| 97 | + return otaTaskMapper.selectUpgradeTaskPage(pageReqVO); | |
| 110 | 98 | } |
| 111 | 99 | |
| 112 | 100 | /** |
| 113 | 101 | * 校验固件升级任务是否重复 |
| 114 | 102 | */ |
| 115 | 103 | private void validateFirmwareTaskDuplicate(Long firmwareId, String taskName) { |
| 116 | - List<IotOtaTaskDO> upgradeTaskList = upgradeTaskMapper.selectByFirmwareIdAndName(firmwareId, taskName); | |
| 104 | + List<IotOtaTaskDO> upgradeTaskList = otaTaskMapper.selectByFirmwareIdAndName(firmwareId, taskName); | |
| 117 | 105 | if (CollUtil.isNotEmpty(upgradeTaskList)) { |
| 118 | 106 | throw exception(OTA_UPGRADE_TASK_NAME_DUPLICATE); |
| 119 | 107 | } |
| 120 | 108 | } |
| 121 | 109 | |
| 122 | - /** | |
| 123 | - * 验证升级任务的范围和设备列表的有效性。 | |
| 124 | - * | |
| 125 | - * @param scope 升级任务的范围,参考 IotOtaUpgradeTaskScopeEnum 枚举值 | |
| 126 | - * @param deviceIds 设备ID列表,当范围为"选择设备"时,该列表不能为空 | |
| 127 | - * @param productId 产品ID,当范围为"所有设备"时,用于获取设备列表 | |
| 128 | - * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,抛出相应的异常 | |
| 129 | - */ | |
| 130 | 110 | private void validateScopeAndDevice(Integer scope, List<Long> deviceIds, Long productId) { |
| 131 | 111 | if (Objects.equals(scope, IotOtaTaskDeviceScopeEnum.SELECT.getScope())) { |
| 132 | 112 | if (CollUtil.isEmpty(deviceIds)) { |
| ... | ... | @@ -143,30 +123,24 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { |
| 143 | 123 | } |
| 144 | 124 | } |
| 145 | 125 | |
| 146 | - /** | |
| 147 | - * 验证升级任务是否存在 | |
| 148 | - */ | |
| 149 | 126 | private IotOtaTaskDO validateUpgradeTaskExists(Long id) { |
| 150 | - IotOtaTaskDO upgradeTask = upgradeTaskMapper.selectById(id); | |
| 127 | + IotOtaTaskDO upgradeTask = otaTaskMapper.selectById(id); | |
| 151 | 128 | if (Objects.isNull(upgradeTask)) { |
| 152 | 129 | throw exception(OTA_UPGRADE_TASK_NOT_EXISTS); |
| 153 | 130 | } |
| 154 | 131 | return upgradeTask; |
| 155 | 132 | } |
| 156 | 133 | |
| 157 | - /** | |
| 158 | - * 初始化升级任务 | |
| 159 | - */ | |
| 160 | - private IotOtaTaskDO initOtaUpgradeTask(IotOtaUpgradeTaskSaveReqVO createReqVO, Long productId) { | |
| 134 | + private IotOtaTaskDO initOtaUpgradeTask(IotOtaTaskCreateReqVO createReqVO, Long productId) { | |
| 161 | 135 | IotOtaTaskDO upgradeTask = BeanUtils.toBean(createReqVO, IotOtaTaskDO.class); |
| 162 | 136 | upgradeTask.setDeviceTotalCount(Convert.toLong(CollUtil.size(createReqVO.getDeviceIds()))) |
| 163 | 137 | .setStatus(IotOtaTaskStatusEnum.IN_PROGRESS.getStatus()); |
| 164 | 138 | |
| 165 | - if (Objects.equals(createReqVO.getScope(), IotOtaTaskDeviceScopeEnum.ALL.getScope())) { | |
| 139 | + if (Objects.equals(createReqVO.getDeviceScope(), IotOtaTaskDeviceScopeEnum.ALL.getScope())) { | |
| 166 | 140 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByProductId(productId); |
| 167 | 141 | upgradeTask.setDeviceTotalCount((long) deviceList.size()); |
| 168 | - upgradeTask.setDeviceIds( | |
| 169 | - deviceList.stream().map(IotDeviceDO::getId).collect(Collectors.toList())); | |
| 142 | +// upgradeTask.setDeviceIds( | |
| 143 | +// deviceList.stream().map(IotDeviceDO::getId).collect(Collectors.toList())); | |
| 170 | 144 | } |
| 171 | 145 | return upgradeTask; |
| 172 | 146 | } | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeTaskService.java deleted
| 1 | -package cn.iocoder.yudao.module.iot.service.ota; | |
| 2 | - | |
| 3 | -import cn.iocoder.yudao.framework.common.pojo.PageResult; | |
| 4 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskPageReqVO; | |
| 5 | -import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; | |
| 6 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; | |
| 7 | -import jakarta.validation.Valid; | |
| 8 | - | |
| 9 | -import java.util.List; | |
| 10 | - | |
| 11 | -/** | |
| 12 | - * IoT OTA升级任务 Service 接口 | |
| 13 | - * | |
| 14 | - * @author Shelly Chan | |
| 15 | - */ | |
| 16 | -public interface IotOtaUpgradeTaskService { | |
| 17 | - | |
| 18 | - /** | |
| 19 | - * 创建OTA升级任务 | |
| 20 | - * | |
| 21 | - * @param createReqVO OTA升级任务的创建请求对象,包含创建任务所需的信息 | |
| 22 | - * @return 创建成功的OTA升级任务的ID | |
| 23 | - */ | |
| 24 | - Long createUpgradeTask(@Valid IotOtaUpgradeTaskSaveReqVO createReqVO); | |
| 25 | - | |
| 26 | - /** | |
| 27 | - * 取消OTA升级任务 | |
| 28 | - * | |
| 29 | - * @param id 要取消的OTA升级任务的ID | |
| 30 | - */ | |
| 31 | - void cancelUpgradeTask(Long id); | |
| 32 | - | |
| 33 | - /** | |
| 34 | - * 根据ID获取OTA升级任务的详细信息 | |
| 35 | - * | |
| 36 | - * @param id OTA升级任务的ID | |
| 37 | - * @return OTA升级任务的详细信息对象 | |
| 38 | - */ | |
| 39 | - IotOtaTaskDO getUpgradeTask(Long id); | |
| 40 | - | |
| 41 | - /** | |
| 42 | - * 分页查询OTA升级任务 | |
| 43 | - * | |
| 44 | - * @param pageReqVO OTA升级任务的分页查询请求对象,包含查询条件和分页信息 | |
| 45 | - * @return 分页查询结果,包含OTA升级任务列表和总记录数 | |
| 46 | - */ | |
| 47 | - PageResult<IotOtaTaskDO> getUpgradeTaskPage(@Valid IotOtaUpgradeTaskPageReqVO pageReqVO); | |
| 48 | - | |
| 49 | - /** | |
| 50 | - * 根据任务状态获取升级任务列表 | |
| 51 | - * | |
| 52 | - * @param state 任务状态,用于筛选符合条件的升级任务 | |
| 53 | - * @return 返回符合指定状态的升级任务列表,列表中的元素为 IotOtaUpgradeTaskDO 对象 | |
| 54 | - */ | |
| 55 | - List<IotOtaTaskDO> getUpgradeTaskByState(Integer state); | |
| 56 | - | |
| 57 | - /** | |
| 58 | - * 更新升级任务的状态。 | |
| 59 | - * <p> | |
| 60 | - * 该函数用于根据任务ID更新指定升级任务的状态。通常用于在任务执行过程中 | |
| 61 | - * 更新任务的状态,例如从“进行中”变为“已完成”或“失败”。 | |
| 62 | - * | |
| 63 | - * @param id 升级任务的唯一标识符,类型为Long。不能为null。 | |
| 64 | - * @param status 要更新的任务状态,类型为Integer。通常表示任务的状态码,如0表示未开始,1表示进行中,2表示已完成等。 | |
| 65 | - */ | |
| 66 | - void updateUpgradeTaskStatus(Long id, Integer status); | |
| 67 | - | |
| 68 | -} |