Commit 5399e5bba0d4673c763b90dc50ab38ec29a5dbbe
1 parent
f9d782c7
reactor:【IoT 物联网】调整 ota 的 task 实体定义(暂时未处理 controller)
Showing
18 changed files
with
151 additions
and
366 deletions
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaFirmwareController.java
| @@ -21,7 +21,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | @@ -21,7 +21,7 @@ import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; | ||
| 21 | 21 | ||
| 22 | @Tag(name = "管理后台 - IoT OTA 固件") | 22 | @Tag(name = "管理后台 - IoT OTA 固件") |
| 23 | @RestController | 23 | @RestController |
| 24 | -@RequestMapping("/iot/ota-firmware") | 24 | +@RequestMapping("/iot/ota/firmware") |
| 25 | @Validated | 25 | @Validated |
| 26 | public class IotOtaFirmwareController { | 26 | public class IotOtaFirmwareController { |
| 27 | 27 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaUpgradeRecordController.java
| @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | 5 | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; |
| 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.upgrade.record.IotOtaUpgradeRecordPageReqVO; |
| 7 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordRespVO; | 7 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record.IotOtaUpgradeRecordRespVO; |
| 8 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeRecordDO; | 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.IotOtaUpgradeRecordService; |
| 10 | import io.swagger.v3.oas.annotations.Operation; | 10 | import io.swagger.v3.oas.annotations.Operation; |
| 11 | import io.swagger.v3.oas.annotations.Parameter; | 11 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -50,7 +50,7 @@ public class IotOtaUpgradeRecordController { | @@ -50,7 +50,7 @@ public class IotOtaUpgradeRecordController { | ||
| 50 | @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") | 50 | @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") |
| 51 | public CommonResult<PageResult<IotOtaUpgradeRecordRespVO>> getUpgradeRecordPage( | 51 | public CommonResult<PageResult<IotOtaUpgradeRecordRespVO>> getUpgradeRecordPage( |
| 52 | @Valid IotOtaUpgradeRecordPageReqVO pageReqVO) { | 52 | @Valid IotOtaUpgradeRecordPageReqVO pageReqVO) { |
| 53 | - PageResult<IotOtaUpgradeRecordDO> pageResult = upgradeRecordService.getUpgradeRecordPage(pageReqVO); | 53 | + PageResult<IotOtaTaskRecordDO> pageResult = upgradeRecordService.getUpgradeRecordPage(pageReqVO); |
| 54 | return success(BeanUtils.toBean(pageResult, IotOtaUpgradeRecordRespVO.class)); | 54 | return success(BeanUtils.toBean(pageResult, IotOtaUpgradeRecordRespVO.class)); |
| 55 | } | 55 | } |
| 56 | 56 | ||
| @@ -59,17 +59,8 @@ public class IotOtaUpgradeRecordController { | @@ -59,17 +59,8 @@ public class IotOtaUpgradeRecordController { | ||
| 59 | @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") | 59 | @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:query')") |
| 60 | @Parameter(name = "id", description = "升级记录编号", required = true, example = "1024") | 60 | @Parameter(name = "id", description = "升级记录编号", required = true, example = "1024") |
| 61 | public CommonResult<IotOtaUpgradeRecordRespVO> getUpgradeRecord(@RequestParam("id") Long id) { | 61 | public CommonResult<IotOtaUpgradeRecordRespVO> getUpgradeRecord(@RequestParam("id") Long id) { |
| 62 | - IotOtaUpgradeRecordDO upgradeRecord = upgradeRecordService.getUpgradeRecord(id); | 62 | + IotOtaTaskRecordDO upgradeRecord = upgradeRecordService.getUpgradeRecord(id); |
| 63 | return success(BeanUtils.toBean(upgradeRecord, IotOtaUpgradeRecordRespVO.class)); | 63 | return success(BeanUtils.toBean(upgradeRecord, IotOtaUpgradeRecordRespVO.class)); |
| 64 | } | 64 | } |
| 65 | 65 | ||
| 66 | - @PutMapping("/retry") | ||
| 67 | - @Operation(summary = "重试升级记录") | ||
| 68 | - @PreAuthorize("@ss.hasPermission('iot:ota-upgrade-record:retry')") | ||
| 69 | - @Parameter(name = "id", description = "升级记录编号", required = true, example = "1024") | ||
| 70 | - public CommonResult<Boolean> retryUpgradeRecord(@RequestParam("id") Long id) { | ||
| 71 | - upgradeRecordService.retryUpgradeRecord(id); | ||
| 72 | - return success(true); | ||
| 73 | - } | ||
| 74 | - | ||
| 75 | } | 66 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/IotOtaUpgradeTaskController.java
| @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||
| 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.upgrade.task.IotOtaUpgradeTaskPageReqVO; |
| 7 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskRespVO; | 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; | 8 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; |
| 9 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO; | 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.IotOtaUpgradeTaskService; |
| 11 | import io.swagger.v3.oas.annotations.Operation; | 11 | import io.swagger.v3.oas.annotations.Operation; |
| 12 | import io.swagger.v3.oas.annotations.Parameter; | 12 | import io.swagger.v3.oas.annotations.Parameter; |
| @@ -48,7 +48,7 @@ public class IotOtaUpgradeTaskController { | @@ -48,7 +48,7 @@ public class IotOtaUpgradeTaskController { | ||
| 48 | @Operation(summary = "获得升级任务分页") | 48 | @Operation(summary = "获得升级任务分页") |
| 49 | @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:query')") | 49 | @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:query')") |
| 50 | public CommonResult<PageResult<IotOtaUpgradeTaskRespVO>> getUpgradeTaskPage(@Valid IotOtaUpgradeTaskPageReqVO pageReqVO) { | 50 | public CommonResult<PageResult<IotOtaUpgradeTaskRespVO>> getUpgradeTaskPage(@Valid IotOtaUpgradeTaskPageReqVO pageReqVO) { |
| 51 | - PageResult<IotOtaUpgradeTaskDO> pageResult = upgradeTaskService.getUpgradeTaskPage(pageReqVO); | 51 | + PageResult<IotOtaTaskDO> pageResult = upgradeTaskService.getUpgradeTaskPage(pageReqVO); |
| 52 | return success(BeanUtils.toBean(pageResult, IotOtaUpgradeTaskRespVO.class)); | 52 | return success(BeanUtils.toBean(pageResult, IotOtaUpgradeTaskRespVO.class)); |
| 53 | } | 53 | } |
| 54 | 54 | ||
| @@ -57,7 +57,7 @@ public class IotOtaUpgradeTaskController { | @@ -57,7 +57,7 @@ public class IotOtaUpgradeTaskController { | ||
| 57 | @Parameter(name = "id", description = "升级任务编号", required = true, example = "1024") | 57 | @Parameter(name = "id", description = "升级任务编号", required = true, example = "1024") |
| 58 | @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:query')") | 58 | @PreAuthorize(value = "@ss.hasPermission('iot:ota-upgrade-task:query')") |
| 59 | public CommonResult<IotOtaUpgradeTaskRespVO> getUpgradeTask(@RequestParam("id") Long id) { | 59 | public CommonResult<IotOtaUpgradeTaskRespVO> getUpgradeTask(@RequestParam("id") Long id) { |
| 60 | - IotOtaUpgradeTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(id); | 60 | + IotOtaTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(id); |
| 61 | return success(BeanUtils.toBean(upgradeTask, IotOtaUpgradeTaskRespVO.class)); | 61 | return success(BeanUtils.toBean(upgradeTask, IotOtaUpgradeTaskRespVO.class)); |
| 62 | } | 62 | } |
| 63 | 63 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/record/IotOtaUpgradeRecordRespVO.java
| @@ -3,7 +3,8 @@ package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record; | @@ -3,7 +3,8 @@ package cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.record; | ||
| 3 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | 3 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; |
| 4 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceMessageDO; | 4 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceMessageDO; |
| 5 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; | 5 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; |
| 6 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO; | 6 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; |
| 7 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskRecordStatusEnum; | ||
| 7 | import com.fhs.core.trans.anno.Trans; | 8 | import com.fhs.core.trans.anno.Trans; |
| 8 | import com.fhs.core.trans.constant.TransType; | 9 | import com.fhs.core.trans.constant.TransType; |
| 9 | import io.swagger.v3.oas.annotations.media.Schema; | 10 | import io.swagger.v3.oas.annotations.media.Schema; |
| @@ -36,7 +37,7 @@ public class IotOtaUpgradeRecordRespVO { | @@ -36,7 +37,7 @@ public class IotOtaUpgradeRecordRespVO { | ||
| 36 | /** | 37 | /** |
| 37 | * 任务编号 | 38 | * 任务编号 |
| 38 | * <p> | 39 | * <p> |
| 39 | - * 关联 {@link IotOtaUpgradeTaskDO#getId()} | 40 | + * 关联 {@link IotOtaTaskDO#getId()} |
| 40 | */ | 41 | */ |
| 41 | @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 42 | @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 42 | private Long taskId; | 43 | private Long taskId; |
| @@ -77,7 +78,7 @@ public class IotOtaUpgradeRecordRespVO { | @@ -77,7 +78,7 @@ public class IotOtaUpgradeRecordRespVO { | ||
| 77 | /** | 78 | /** |
| 78 | * 升级状态 | 79 | * 升级状态 |
| 79 | * <p> | 80 | * <p> |
| 80 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum} | 81 | + * 关联 {@link IotOtaTaskRecordStatusEnum} |
| 81 | */ | 82 | */ |
| 82 | @Schema(description = "升级状态", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"0", "10", "20", "30", "40", "50"}) | 83 | @Schema(description = "升级状态", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"0", "10", "20", "30", "40", "50"}) |
| 83 | private Integer status; | 84 | private Integer status; |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskPageReqVO.java
| @@ -9,17 +9,11 @@ import lombok.Data; | @@ -9,17 +9,11 @@ import lombok.Data; | ||
| 9 | @Schema(description = "管理后台 - IoT OTA 升级任务分页 Request VO") | 9 | @Schema(description = "管理后台 - IoT OTA 升级任务分页 Request VO") |
| 10 | public class IotOtaUpgradeTaskPageReqVO extends PageParam { | 10 | public class IotOtaUpgradeTaskPageReqVO extends PageParam { |
| 11 | 11 | ||
| 12 | - /** | ||
| 13 | - * 任务名称字段,用于描述任务的名称 | ||
| 14 | - */ | ||
| 15 | - @Schema(description = "任务名称", example = "升级任务") | ||
| 16 | - private String name; | ||
| 17 | - | ||
| 18 | - /** | ||
| 19 | - * 固件编号字段,用于唯一标识固件,不能为空 | ||
| 20 | - */ | ||
| 21 | - @NotNull(message = "固件编号不能为空") | ||
| 22 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 12 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 13 | + @NotNull(message = "固件编号不能为空") | ||
| 23 | private Long firmwareId; | 14 | private Long firmwareId; |
| 24 | 15 | ||
| 16 | + @Schema(description = "任务名称", example = "升级任务") | ||
| 17 | + private String name; | ||
| 18 | + | ||
| 25 | } | 19 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskRespVO.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.upgrade.task; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | ||
| 4 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; | ||
| 5 | import com.fhs.core.trans.vo.VO; | 3 | import com.fhs.core.trans.vo.VO; |
| 6 | import io.swagger.v3.oas.annotations.media.Schema; | 4 | import io.swagger.v3.oas.annotations.media.Schema; |
| 7 | import lombok.Data; | 5 | import lombok.Data; |
| @@ -13,69 +11,33 @@ import java.util.List; | @@ -13,69 +11,33 @@ import java.util.List; | ||
| 13 | @Schema(description = "管理后台 - IoT OTA 升级任务 Response VO") | 11 | @Schema(description = "管理后台 - IoT OTA 升级任务 Response VO") |
| 14 | public class IotOtaUpgradeTaskRespVO implements VO { | 12 | public class IotOtaUpgradeTaskRespVO implements VO { |
| 15 | 13 | ||
| 16 | - /** | ||
| 17 | - * 任务编号 | ||
| 18 | - */ | ||
| 19 | @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 14 | @Schema(description = "任务编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 20 | private Long id; | 15 | private Long id; |
| 21 | - /** | ||
| 22 | - * 任务名称 | ||
| 23 | - */ | 16 | + |
| 24 | @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务") | 17 | @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务") |
| 25 | private String name; | 18 | private String name; |
| 26 | - /** | ||
| 27 | - * 任务描述 | ||
| 28 | - */ | 19 | + |
| 29 | @Schema(description = "任务描述", example = "升级任务") | 20 | @Schema(description = "任务描述", example = "升级任务") |
| 30 | private String description; | 21 | private String description; |
| 31 | - /** | ||
| 32 | - * 固件编号 | ||
| 33 | - * <p> | ||
| 34 | - * 关联 {@link IotOtaFirmwareDO#getId()} | ||
| 35 | - */ | 22 | + |
| 36 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 23 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 37 | private Long firmwareId; | 24 | private Long firmwareId; |
| 38 | - /** | ||
| 39 | - * 任务状态 | ||
| 40 | - * <p> | ||
| 41 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskStatusEnum} | ||
| 42 | - */ | ||
| 43 | - @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"10", "20", "21", "30"}) | 25 | + |
| 26 | + @Schema(description = "任务状态", requiredMode = Schema.RequiredMode.REQUIRED) | ||
| 44 | private Integer status; | 27 | private Integer status; |
| 45 | - /** | ||
| 46 | - * 任务状态名称 | ||
| 47 | - */ | ||
| 48 | - @Schema(description = "任务状态名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "进行中") | ||
| 49 | - private String statusName; | ||
| 50 | - /** | ||
| 51 | - * 升级范围 | ||
| 52 | - * <p> | ||
| 53 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum} | ||
| 54 | - */ | 28 | + |
| 55 | @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"1", "2"}) | 29 | @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, allowableValues = {"1", "2"}) |
| 56 | private Integer scope; | 30 | private Integer scope; |
| 57 | - /** | ||
| 58 | - * 设备数量 | ||
| 59 | - */ | 31 | + |
| 60 | @Schema(description = "设备数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 32 | @Schema(description = "设备数量", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 61 | private Long deviceCount; | 33 | private Long deviceCount; |
| 62 | - /** | ||
| 63 | - * 选中的设备编号数组 | ||
| 64 | - * <p> | ||
| 65 | - * 关联 {@link IotDeviceDO#getId()} | ||
| 66 | - */ | 34 | + |
| 67 | @Schema(description = "选中的设备编号数组", example = "1024") | 35 | @Schema(description = "选中的设备编号数组", example = "1024") |
| 68 | private List<Long> deviceIds; | 36 | private List<Long> deviceIds; |
| 69 | - /** | ||
| 70 | - * 选中的设备名字数组 | ||
| 71 | - * <p> | ||
| 72 | - * 关联 {@link IotDeviceDO#getDeviceName()} | ||
| 73 | - */ | 37 | + |
| 74 | @Schema(description = "选中的设备名字数组", example = "1024") | 38 | @Schema(description = "选中的设备名字数组", example = "1024") |
| 75 | private List<String> deviceNames; | 39 | private List<String> deviceNames; |
| 76 | - /** | ||
| 77 | - * 创建时间 | ||
| 78 | - */ | 40 | + |
| 79 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00") | 41 | @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED, example = "2022-07-08 07:30:00") |
| 80 | private LocalDateTime createTime; | 42 | private LocalDateTime createTime; |
| 81 | 43 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/controller/admin/ota/vo/upgrade/task/IotOtaUpgradeTaskSaveReqVO.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.upgrade.task; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; | 3 | import cn.iocoder.yudao.framework.common.validation.InEnum; |
| 4 | -import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | ||
| 5 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; | ||
| 6 | -import cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum; | 4 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskDeviceScopeEnum; |
| 7 | import io.swagger.v3.oas.annotations.media.Schema; | 5 | import io.swagger.v3.oas.annotations.media.Schema; |
| 8 | import jakarta.validation.constraints.NotEmpty; | 6 | import jakarta.validation.constraints.NotEmpty; |
| 9 | import jakarta.validation.constraints.NotNull; | 7 | import jakarta.validation.constraints.NotNull; |
| @@ -11,51 +9,27 @@ import lombok.Data; | @@ -11,51 +9,27 @@ import lombok.Data; | ||
| 11 | 9 | ||
| 12 | import java.util.List; | 10 | import java.util.List; |
| 13 | 11 | ||
| 14 | -@Data | ||
| 15 | @Schema(description = "管理后台 - IoT OTA 升级任务创建/修改 Request VO") | 12 | @Schema(description = "管理后台 - IoT OTA 升级任务创建/修改 Request VO") |
| 13 | +@Data | ||
| 16 | public class IotOtaUpgradeTaskSaveReqVO { | 14 | public class IotOtaUpgradeTaskSaveReqVO { |
| 17 | 15 | ||
| 18 | - // TODO @li:已经有注解,不用重复注释 | ||
| 19 | - // TODO @li: @Schema 写在参数校验前面。先有定义;其他的,也检查下; | ||
| 20 | - | ||
| 21 | - /** | ||
| 22 | - * 任务名称 | ||
| 23 | - */ | ||
| 24 | @NotEmpty(message = "任务名称不能为空") | 16 | @NotEmpty(message = "任务名称不能为空") |
| 25 | @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务") | 17 | @Schema(description = "任务名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "升级任务") |
| 26 | private String name; | 18 | private String name; |
| 27 | 19 | ||
| 28 | - /** | ||
| 29 | - * 任务描述 | ||
| 30 | - */ | ||
| 31 | @Schema(description = "任务描述", example = "升级任务") | 20 | @Schema(description = "任务描述", example = "升级任务") |
| 32 | private String description; | 21 | private String description; |
| 33 | 22 | ||
| 34 | - /** | ||
| 35 | - * 固件编号 | ||
| 36 | - * <p> | ||
| 37 | - * 关联 {@link IotOtaFirmwareDO#getId()} | ||
| 38 | - */ | ||
| 39 | - @NotNull(message = "固件编号不能为空") | ||
| 40 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") | 23 | @Schema(description = "固件编号", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") |
| 24 | + @NotNull(message = "固件编号不能为空") | ||
| 41 | private Long firmwareId; | 25 | private Long firmwareId; |
| 42 | 26 | ||
| 43 | - /** | ||
| 44 | - * 升级范围 | ||
| 45 | - * <p> | ||
| 46 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum} | ||
| 47 | - */ | ||
| 48 | - @NotNull(message = "升级范围不能为空") | ||
| 49 | - @InEnum(value = IotOtaUpgradeTaskScopeEnum.class) | ||
| 50 | @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") | 27 | @Schema(description = "升级范围", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") |
| 28 | + @NotNull(message = "升级范围不能为空") | ||
| 29 | + @InEnum(value = IotOtaTaskDeviceScopeEnum.class) | ||
| 51 | private Integer scope; | 30 | private Integer scope; |
| 52 | 31 | ||
| 53 | - /** | ||
| 54 | - * 选中的设备编号数组 | ||
| 55 | - * <p> | ||
| 56 | - * 关联 {@link IotDeviceDO#getId()} | ||
| 57 | - */ | ||
| 58 | - @Schema(description = "选中的设备编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "[1,2,3,4]") | 32 | + @Schema(description = "选中的设备编号数组", requiredMode = Schema.RequiredMode.REQUIRED, example = "1,2,3") |
| 59 | private List<Long> deviceIds; | 33 | private List<Long> deviceIds; |
| 60 | 34 | ||
| 61 | } | 35 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/ota/IotOtaUpgradeTaskDO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/ota/IotOtaTaskDO.java
| 1 | package cn.iocoder.yudao.module.iot.dal.dataobject.ota; | 1 | package cn.iocoder.yudao.module.iot.dal.dataobject.ota; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | -import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | 4 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskDeviceScopeEnum; |
| 5 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskStatusEnum; | ||
| 5 | import com.baomidou.mybatisplus.annotation.KeySequence; | 6 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 6 | -import com.baomidou.mybatisplus.annotation.TableField; | ||
| 7 | import com.baomidou.mybatisplus.annotation.TableId; | 7 | import com.baomidou.mybatisplus.annotation.TableId; |
| 8 | import com.baomidou.mybatisplus.annotation.TableName; | 8 | import com.baomidou.mybatisplus.annotation.TableName; |
| 9 | -import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; | ||
| 10 | import lombok.AllArgsConstructor; | 9 | import lombok.AllArgsConstructor; |
| 11 | import lombok.Builder; | 10 | import lombok.Builder; |
| 12 | import lombok.Data; | 11 | import lombok.Data; |
| 13 | import lombok.NoArgsConstructor; | 12 | import lombok.NoArgsConstructor; |
| 14 | 13 | ||
| 15 | -import java.util.List; | ||
| 16 | - | ||
| 17 | /** | 14 | /** |
| 18 | * IoT OTA 升级任务 DO | 15 | * IoT OTA 升级任务 DO |
| 19 | * | 16 | * |
| 20 | * @author 芋道源码 | 17 | * @author 芋道源码 |
| 21 | */ | 18 | */ |
| 22 | -@TableName(value = "iot_ota_upgrade_task", autoResultMap = true) | ||
| 23 | -@KeySequence("iot_ota_upgrade_task_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | 19 | +@TableName(value = "iot_ota_task", autoResultMap = true) |
| 20 | +@KeySequence("iot_ota_task_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 24 | @Data | 21 | @Data |
| 25 | @Builder | 22 | @Builder |
| 26 | @NoArgsConstructor | 23 | @NoArgsConstructor |
| 27 | @AllArgsConstructor | 24 | @AllArgsConstructor |
| 28 | -public class IotOtaUpgradeTaskDO extends BaseDO { | 25 | +public class IotOtaTaskDO extends BaseDO { |
| 29 | 26 | ||
| 30 | /** | 27 | /** |
| 31 | * 任务编号 | 28 | * 任务编号 |
| @@ -51,26 +48,23 @@ public class IotOtaUpgradeTaskDO extends BaseDO { | @@ -51,26 +48,23 @@ public class IotOtaUpgradeTaskDO extends BaseDO { | ||
| 51 | /** | 48 | /** |
| 52 | * 任务状态 | 49 | * 任务状态 |
| 53 | * <p> | 50 | * <p> |
| 54 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskStatusEnum} | 51 | + * 关联 {@link IotOtaTaskStatusEnum} |
| 55 | */ | 52 | */ |
| 56 | private Integer status; | 53 | private Integer status; |
| 57 | 54 | ||
| 58 | /** | 55 | /** |
| 59 | - * 升级范围 | 56 | + * 设备升级范围 |
| 60 | * <p> | 57 | * <p> |
| 61 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum} | 58 | + * 关联 {@link IotOtaTaskDeviceScopeEnum} |
| 62 | */ | 59 | */ |
| 63 | - private Integer scope; | 60 | + private Integer deviceScope; |
| 64 | /** | 61 | /** |
| 65 | - * 设备数量 | 62 | + * 设备总数数量 |
| 66 | */ | 63 | */ |
| 67 | - private Long deviceCount; | 64 | + private Long deviceTotalCount; |
| 68 | /** | 65 | /** |
| 69 | - * 选中的设备编号数组 | ||
| 70 | - * <p> | ||
| 71 | - * 关联 {@link IotDeviceDO#getId()} | 66 | + * 设备成功数量 |
| 72 | */ | 67 | */ |
| 73 | - @TableField(typeHandler = JacksonTypeHandler.class) | ||
| 74 | - private List<Long> deviceIds; | 68 | + private Integer deviceSuccessCount; |
| 75 | 69 | ||
| 76 | } | 70 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/ota/IotOtaUpgradeRecordDO.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/ota/IotOtaTaskRecordDO.java
| @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.iot.dal.dataobject.ota; | @@ -3,6 +3,7 @@ package cn.iocoder.yudao.module.iot.dal.dataobject.ota; | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 3 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
| 4 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | 4 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; |
| 5 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceMessageDO; | 5 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceMessageDO; |
| 6 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskRecordStatusEnum; | ||
| 6 | import com.baomidou.mybatisplus.annotation.KeySequence; | 7 | import com.baomidou.mybatisplus.annotation.KeySequence; |
| 7 | import com.baomidou.mybatisplus.annotation.TableId; | 8 | import com.baomidou.mybatisplus.annotation.TableId; |
| 8 | import com.baomidou.mybatisplus.annotation.TableName; | 9 | import com.baomidou.mybatisplus.annotation.TableName; |
| @@ -11,17 +12,17 @@ import lombok.*; | @@ -11,17 +12,17 @@ import lombok.*; | ||
| 11 | import java.time.LocalDateTime; | 12 | import java.time.LocalDateTime; |
| 12 | 13 | ||
| 13 | /** | 14 | /** |
| 14 | - * IoT OTA 升级记录 DO | 15 | + * IoT OTA 升级任务记录 DO |
| 15 | * | 16 | * |
| 16 | * @author 芋道源码 | 17 | * @author 芋道源码 |
| 17 | */ | 18 | */ |
| 18 | -@TableName(value = "iot_ota_upgrade_record", autoResultMap = true) | ||
| 19 | -@KeySequence("iot_ota_upgrade_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | 19 | +@TableName(value = "iot_ota_task_record", autoResultMap = true) |
| 20 | +@KeySequence("iot_ota_task_record_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 20 | @Data | 21 | @Data |
| 21 | @Builder | 22 | @Builder |
| 22 | @NoArgsConstructor | 23 | @NoArgsConstructor |
| 23 | @AllArgsConstructor | 24 | @AllArgsConstructor |
| 24 | -public class IotOtaUpgradeRecordDO extends BaseDO { | 25 | +public class IotOtaTaskRecordDO extends BaseDO { |
| 25 | 26 | ||
| 26 | @TableId | 27 | @TableId |
| 27 | private Long id; | 28 | private Long id; |
| @@ -35,28 +36,16 @@ public class IotOtaUpgradeRecordDO extends BaseDO { | @@ -35,28 +36,16 @@ public class IotOtaUpgradeRecordDO extends BaseDO { | ||
| 35 | /** | 36 | /** |
| 36 | * 任务编号 | 37 | * 任务编号 |
| 37 | * | 38 | * |
| 38 | - * 关联 {@link IotOtaUpgradeTaskDO#getId()} | 39 | + * 关联 {@link IotOtaTaskDO#getId()} |
| 39 | */ | 40 | */ |
| 40 | private Long taskId; | 41 | private Long taskId; |
| 41 | 42 | ||
| 42 | /** | 43 | /** |
| 43 | - * 产品标识 | ||
| 44 | - * | ||
| 45 | - * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()} | ||
| 46 | - */ | ||
| 47 | - private String productKey; | ||
| 48 | - /** | ||
| 49 | - * 设备名称 | ||
| 50 | - * | ||
| 51 | - * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()} | ||
| 52 | - */ | ||
| 53 | - private String deviceName; | ||
| 54 | - /** | ||
| 55 | * 设备编号 | 44 | * 设备编号 |
| 56 | * | 45 | * |
| 57 | - * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO#getId()} | 46 | + * 关联 {@link IotDeviceDO#getId()} |
| 58 | */ | 47 | */ |
| 59 | - private String deviceId; | 48 | + private Long deviceId; |
| 60 | /** | 49 | /** |
| 61 | * 来源的固件编号 | 50 | * 来源的固件编号 |
| 62 | * | 51 | * |
| @@ -67,7 +56,7 @@ public class IotOtaUpgradeRecordDO extends BaseDO { | @@ -67,7 +56,7 @@ public class IotOtaUpgradeRecordDO extends BaseDO { | ||
| 67 | /** | 56 | /** |
| 68 | * 升级状态 | 57 | * 升级状态 |
| 69 | * | 58 | * |
| 70 | - * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum} | 59 | + * 关联 {@link IotOtaTaskRecordStatusEnum} |
| 71 | */ | 60 | */ |
| 72 | private Integer status; | 61 | private Integer status; |
| 73 | /** | 62 | /** |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/ota/IotOtaUpgradeRecordMapper.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 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.upgrade.record.IotOtaUpgradeRecordPageReqVO; |
| 7 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeRecordDO; | 7 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| 8 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; | 8 | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| 9 | import org.apache.ibatis.annotations.Mapper; | 9 | import org.apache.ibatis.annotations.Mapper; |
| 10 | import org.apache.ibatis.annotations.Param; | 10 | import org.apache.ibatis.annotations.Param; |
| @@ -14,7 +14,7 @@ import java.util.List; | @@ -14,7 +14,7 @@ import java.util.List; | ||
| 14 | import java.util.Map; | 14 | import java.util.Map; |
| 15 | 15 | ||
| 16 | @Mapper | 16 | @Mapper |
| 17 | -public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeRecordDO> { | 17 | +public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaTaskRecordDO> { |
| 18 | 18 | ||
| 19 | // TODO @li:selectByFirmwareIdAndTaskIdAndDeviceId;让方法自解释 | 19 | // TODO @li:selectByFirmwareIdAndTaskIdAndDeviceId;让方法自解释 |
| 20 | /** | 20 | /** |
| @@ -25,12 +25,12 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | @@ -25,12 +25,12 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | ||
| 25 | * @param deviceId 设备ID,可选参数,用于筛选设备ID匹配的记录 | 25 | * @param deviceId 设备ID,可选参数,用于筛选设备ID匹配的记录 |
| 26 | * @return 返回符合条件的单个OTA升级记录,如果不存在则返回null | 26 | * @return 返回符合条件的单个OTA升级记录,如果不存在则返回null |
| 27 | */ | 27 | */ |
| 28 | - default IotOtaUpgradeRecordDO selectByConditions(Long firmwareId, Long taskId, String deviceId) { | 28 | + default IotOtaTaskRecordDO selectByConditions(Long firmwareId, Long taskId, String deviceId) { |
| 29 | // 使用LambdaQueryWrapperX构建查询条件,根据传入的参数动态添加查询条件 | 29 | // 使用LambdaQueryWrapperX构建查询条件,根据传入的参数动态添加查询条件 |
| 30 | - return selectOne(new LambdaQueryWrapperX<IotOtaUpgradeRecordDO>() | ||
| 31 | - .eqIfPresent(IotOtaUpgradeRecordDO::getFirmwareId, firmwareId) | ||
| 32 | - .eqIfPresent(IotOtaUpgradeRecordDO::getTaskId, taskId) | ||
| 33 | - .eqIfPresent(IotOtaUpgradeRecordDO::getDeviceId, deviceId)); | 30 | + return selectOne(new LambdaQueryWrapperX<IotOtaTaskRecordDO>() |
| 31 | + .eqIfPresent(IotOtaTaskRecordDO::getFirmwareId, firmwareId) | ||
| 32 | + .eqIfPresent(IotOtaTaskRecordDO::getTaskId, taskId) | ||
| 33 | + .eqIfPresent(IotOtaTaskRecordDO::getDeviceId, deviceId)); | ||
| 34 | } | 34 | } |
| 35 | 35 | ||
| 36 | // TODO @li:这个是不是 groupby status 就 ok 拉? | 36 | // TODO @li:这个是不是 groupby status 就 ok 拉? |
| @@ -80,12 +80,12 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | @@ -80,12 +80,12 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | ||
| 80 | * @return 返回分页查询结果,包含符合条件的 OTA升级记录列表 | 80 | * @return 返回分页查询结果,包含符合条件的 OTA升级记录列表 |
| 81 | */ | 81 | */ |
| 82 | // TODO @li:selectPage 就 ok 拉。 | 82 | // TODO @li:selectPage 就 ok 拉。 |
| 83 | - default PageResult<IotOtaUpgradeRecordDO> selectUpgradeRecordPage(IotOtaUpgradeRecordPageReqVO pageReqVO) { | 83 | + default PageResult<IotOtaTaskRecordDO> selectUpgradeRecordPage(IotOtaUpgradeRecordPageReqVO pageReqVO) { |
| 84 | // TODO @li:这里的注释,可以去掉哈;然后下面的“如果”。。。也没必要注释 | 84 | // TODO @li:这里的注释,可以去掉哈;然后下面的“如果”。。。也没必要注释 |
| 85 | // 使用LambdaQueryWrapperX构建查询条件,并根据请求参数动态添加查询条件 | 85 | // 使用LambdaQueryWrapperX构建查询条件,并根据请求参数动态添加查询条件 |
| 86 | - return selectPage(pageReqVO, new LambdaQueryWrapperX<IotOtaUpgradeRecordDO>() | ||
| 87 | - .likeIfPresent(IotOtaUpgradeRecordDO::getDeviceName, pageReqVO.getDeviceName()) // 如果设备名称存在,则添加模糊查询条件 | ||
| 88 | - .eqIfPresent(IotOtaUpgradeRecordDO::getTaskId, pageReqVO.getTaskId())); // 如果任务ID存在,则添加等值查询条件 | 86 | + return selectPage(pageReqVO, new LambdaQueryWrapperX<IotOtaTaskRecordDO>() |
| 87 | + .likeIfPresent(IotOtaTaskRecordDO::getDeviceName, pageReqVO.getDeviceName()) // 如果设备名称存在,则添加模糊查询条件 | ||
| 88 | + .eqIfPresent(IotOtaTaskRecordDO::getTaskId, pageReqVO.getTaskId())); // 如果任务ID存在,则添加等值查询条件 | ||
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | // TODO @li:这里的注释,可以去掉哈 | 91 | // TODO @li:这里的注释,可以去掉哈 |
| @@ -101,59 +101,11 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | @@ -101,59 +101,11 @@ public interface IotOtaUpgradeRecordMapper extends BaseMapperX<IotOtaUpgradeReco | ||
| 101 | // TODO @li:改成 updateByTaskIdAndStatus(taskId, status, IotOtaUpgradeRecordDO) 更通用一些。 | 101 | // TODO @li:改成 updateByTaskIdAndStatus(taskId, status, IotOtaUpgradeRecordDO) 更通用一些。 |
| 102 | default void updateUpgradeRecordStatusByTaskIdAndStatus(Integer setStatus, Long taskId, Integer whereStatus) { | 102 | default void updateUpgradeRecordStatusByTaskIdAndStatus(Integer setStatus, Long taskId, Integer whereStatus) { |
| 103 | // 使用LambdaUpdateWrapper构建更新条件,将指定状态的记录更新为指定状态 | 103 | // 使用LambdaUpdateWrapper构建更新条件,将指定状态的记录更新为指定状态 |
| 104 | - update(new LambdaUpdateWrapper<IotOtaUpgradeRecordDO>() | ||
| 105 | - .set(IotOtaUpgradeRecordDO::getStatus, setStatus) | ||
| 106 | - .eq(IotOtaUpgradeRecordDO::getTaskId, taskId) | ||
| 107 | - .eq(IotOtaUpgradeRecordDO::getStatus, whereStatus) | 104 | + update(new LambdaUpdateWrapper<IotOtaTaskRecordDO>() |
| 105 | + .set(IotOtaTaskRecordDO::getStatus, setStatus) | ||
| 106 | + .eq(IotOtaTaskRecordDO::getTaskId, taskId) | ||
| 107 | + .eq(IotOtaTaskRecordDO::getStatus, whereStatus) | ||
| 108 | ); | 108 | ); |
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | - // TODO @li:参考上面的建议,调整下这个方法 | ||
| 112 | - /** | ||
| 113 | - * 根据状态查询符合条件的升级记录列表 | ||
| 114 | - * <p> | ||
| 115 | - * 该函数使用LambdaQueryWrapperX构建查询条件,查询指定状态的升级记录。 | ||
| 116 | - * | ||
| 117 | - * @param state 升级记录的状态,用于筛选符合条件的记录 | ||
| 118 | - * @return 返回符合指定状态的升级记录列表,类型为List<IotOtaUpgradeRecordDO> | ||
| 119 | - */ | ||
| 120 | - default List<IotOtaUpgradeRecordDO> selectUpgradeRecordListByState(Integer state) { | ||
| 121 | - // 使用LambdaQueryWrapperX构建查询条件,根据状态查询符合条件的升级记录 | ||
| 122 | - return selectList(new LambdaQueryWrapperX<IotOtaUpgradeRecordDO>() | ||
| 123 | - .eq(IotOtaUpgradeRecordDO::getStatus, state)); | ||
| 124 | - } | ||
| 125 | - | ||
| 126 | - // TODO @li:参考上面的建议,调整下这个方法 | ||
| 127 | - /** | ||
| 128 | - * 更新升级记录状态 | ||
| 129 | - * <p> | ||
| 130 | - * 该函数用于批量更新指定ID列表中的升级记录状态。通过传入的ID列表和状态值,使用LambdaUpdateWrapper构建更新条件, | ||
| 131 | - * 并执行更新操作。 | ||
| 132 | - * | ||
| 133 | - * @param ids 需要更新的升级记录ID列表,类型为List<Long>。传入的ID列表中的记录将被更新。 | ||
| 134 | - * @param status 要更新的状态值,类型为Integer。该值将被设置到符合条件的升级记录中。 | ||
| 135 | - */ | ||
| 136 | - default void updateUpgradeRecordStatus(List<Long> ids, Integer status) { | ||
| 137 | - // 使用LambdaUpdateWrapper构建更新条件,设置状态字段,并根据ID列表进行筛选 | ||
| 138 | - update(new LambdaUpdateWrapper<IotOtaUpgradeRecordDO>() | ||
| 139 | - .set(IotOtaUpgradeRecordDO::getStatus, status) | ||
| 140 | - .in(IotOtaUpgradeRecordDO::getId, ids) | ||
| 141 | - ); | ||
| 142 | - } | ||
| 143 | - | ||
| 144 | - // TODO @li:参考上面的建议,调整下这个方法 | ||
| 145 | - /** | ||
| 146 | - * 根据任务ID查询升级记录列表 | ||
| 147 | - * <p> | ||
| 148 | - * 该函数通过任务ID查询符合条件的升级记录,并返回查询结果列表。 | ||
| 149 | - * | ||
| 150 | - * @param taskId 任务ID,用于筛选升级记录 | ||
| 151 | - * @return 返回符合条件的升级记录列表,若未找到则返回空列表 | ||
| 152 | - */ | ||
| 153 | - default List<IotOtaUpgradeRecordDO> selectUpgradeRecordListByTaskId(Long taskId) { | ||
| 154 | - // 使用LambdaQueryWrapperX构建查询条件,根据任务ID查询符合条件的升级记录 | ||
| 155 | - return selectList(new LambdaQueryWrapperX<IotOtaUpgradeRecordDO>() | ||
| 156 | - .eq(IotOtaUpgradeRecordDO::getTaskId, taskId)); | ||
| 157 | - } | ||
| 158 | - | ||
| 159 | } | 111 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/mysql/ota/IotOtaUpgradeTaskMapper.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 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.upgrade.task.IotOtaUpgradeTaskPageReqVO; |
| 7 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO; | 7 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; |
| 8 | import org.apache.ibatis.annotations.Mapper; | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | 9 | ||
| 10 | import java.util.List; | 10 | import java.util.List; |
| @@ -15,7 +15,7 @@ import java.util.List; | @@ -15,7 +15,7 @@ import java.util.List; | ||
| 15 | * @author Shelly | 15 | * @author Shelly |
| 16 | */ | 16 | */ |
| 17 | @Mapper | 17 | @Mapper |
| 18 | -public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO> { | 18 | +public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaTaskDO> { |
| 19 | 19 | ||
| 20 | /** | 20 | /** |
| 21 | * 根据固件ID和任务名称查询升级任务列表。 | 21 | * 根据固件ID和任务名称查询升级任务列表。 |
| @@ -24,10 +24,10 @@ public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO | @@ -24,10 +24,10 @@ public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO | ||
| 24 | * @param name 任务名称,用于筛选升级任务 | 24 | * @param name 任务名称,用于筛选升级任务 |
| 25 | * @return 符合条件的升级任务列表 | 25 | * @return 符合条件的升级任务列表 |
| 26 | */ | 26 | */ |
| 27 | - default List<IotOtaUpgradeTaskDO> selectByFirmwareIdAndName(Long firmwareId, String name) { | ||
| 28 | - return selectList(new LambdaQueryWrapperX<IotOtaUpgradeTaskDO>() | ||
| 29 | - .eqIfPresent(IotOtaUpgradeTaskDO::getFirmwareId, firmwareId) | ||
| 30 | - .eqIfPresent(IotOtaUpgradeTaskDO::getName, name)); | 27 | + default List<IotOtaTaskDO> selectByFirmwareIdAndName(Long firmwareId, String name) { |
| 28 | + return selectList(new LambdaQueryWrapperX<IotOtaTaskDO>() | ||
| 29 | + .eqIfPresent(IotOtaTaskDO::getFirmwareId, firmwareId) | ||
| 30 | + .eqIfPresent(IotOtaTaskDO::getName, name)); | ||
| 31 | } | 31 | } |
| 32 | 32 | ||
| 33 | /** | 33 | /** |
| @@ -36,10 +36,10 @@ public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO | @@ -36,10 +36,10 @@ public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO | ||
| 36 | * @param pageReqVO 分页查询请求对象,包含分页参数和筛选条件 | 36 | * @param pageReqVO 分页查询请求对象,包含分页参数和筛选条件 |
| 37 | * @return 分页结果,包含符合条件的升级任务列表 | 37 | * @return 分页结果,包含符合条件的升级任务列表 |
| 38 | */ | 38 | */ |
| 39 | - default PageResult<IotOtaUpgradeTaskDO> selectUpgradeTaskPage(IotOtaUpgradeTaskPageReqVO pageReqVO) { | ||
| 40 | - return selectPage(pageReqVO, new LambdaQueryWrapperX<IotOtaUpgradeTaskDO>() | ||
| 41 | - .eqIfPresent(IotOtaUpgradeTaskDO::getFirmwareId, pageReqVO.getFirmwareId()) | ||
| 42 | - .likeIfPresent(IotOtaUpgradeTaskDO::getName, pageReqVO.getName())); | 39 | + default PageResult<IotOtaTaskDO> selectUpgradeTaskPage(IotOtaUpgradeTaskPageReqVO pageReqVO) { |
| 40 | + return selectPage(pageReqVO, new LambdaQueryWrapperX<IotOtaTaskDO>() | ||
| 41 | + .eqIfPresent(IotOtaTaskDO::getFirmwareId, pageReqVO.getFirmwareId()) | ||
| 42 | + .likeIfPresent(IotOtaTaskDO::getName, pageReqVO.getName())); | ||
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | /** | 45 | /** |
| @@ -50,8 +50,8 @@ public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO | @@ -50,8 +50,8 @@ public interface IotOtaUpgradeTaskMapper extends BaseMapperX<IotOtaUpgradeTaskDO | ||
| 50 | * @param status 任务状态,用于筛选升级任务的状态值 | 50 | * @param status 任务状态,用于筛选升级任务的状态值 |
| 51 | * @return 返回符合条件的升级任务列表,列表中的每个元素为 IotOtaUpgradeTaskDO 对象 | 51 | * @return 返回符合条件的升级任务列表,列表中的每个元素为 IotOtaUpgradeTaskDO 对象 |
| 52 | */ | 52 | */ |
| 53 | - default List<IotOtaUpgradeTaskDO> selectUpgradeTaskByState(Integer status) { | ||
| 54 | - return selectList(IotOtaUpgradeTaskDO::getStatus, status); | 53 | + default List<IotOtaTaskDO> selectUpgradeTaskByState(Integer status) { |
| 54 | + return selectList(IotOtaTaskDO::getStatus, status); | ||
| 55 | } | 55 | } |
| 56 | 56 | ||
| 57 | } | 57 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaUpgradeTaskScopeEnum.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaTaskDeviceScopeEnum.java
| @@ -7,18 +7,19 @@ import lombok.RequiredArgsConstructor; | @@ -7,18 +7,19 @@ import lombok.RequiredArgsConstructor; | ||
| 7 | import java.util.Arrays; | 7 | import java.util.Arrays; |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
| 10 | - * IoT OTA 升级任务的范围枚举 | 10 | + * IoT OTA 升级任务的设备范围枚举 |
| 11 | * | 11 | * |
| 12 | * @author haohao | 12 | * @author haohao |
| 13 | */ | 13 | */ |
| 14 | @RequiredArgsConstructor | 14 | @RequiredArgsConstructor |
| 15 | @Getter | 15 | @Getter |
| 16 | -public enum IotOtaUpgradeTaskScopeEnum implements ArrayValuable<Integer> { | 16 | +public enum IotOtaTaskDeviceScopeEnum implements ArrayValuable<Integer> { |
| 17 | 17 | ||
| 18 | ALL(1), // 全部设备:只包括当前产品下的设备,不包括未来创建的设备 | 18 | ALL(1), // 全部设备:只包括当前产品下的设备,不包括未来创建的设备 |
| 19 | SELECT(2); // 指定设备 | 19 | SELECT(2); // 指定设备 |
| 20 | 20 | ||
| 21 | - public static final Integer[] ARRAYS = Arrays.stream(values()).map(IotOtaUpgradeTaskScopeEnum::getScope).toArray(Integer[]::new); | 21 | + public static final Integer[] ARRAYS = Arrays.stream(values()) |
| 22 | + .map(IotOtaTaskDeviceScopeEnum::getScope).toArray(Integer[]::new); | ||
| 22 | 23 | ||
| 23 | /** | 24 | /** |
| 24 | * 范围 | 25 | * 范围 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaUpgradeRecordStatusEnum.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaTaskRecordStatusEnum.java
| @@ -8,25 +8,26 @@ import lombok.RequiredArgsConstructor; | @@ -8,25 +8,26 @@ import lombok.RequiredArgsConstructor; | ||
| 8 | import java.util.Arrays; | 8 | import java.util.Arrays; |
| 9 | 9 | ||
| 10 | /** | 10 | /** |
| 11 | - * IoT OTA 升级记录的范围枚举 | 11 | + * IoT OTA 升级任务记录的状态枚举 |
| 12 | * | 12 | * |
| 13 | - * @author haohao | 13 | + * @author 芋道源码 |
| 14 | */ | 14 | */ |
| 15 | @RequiredArgsConstructor | 15 | @RequiredArgsConstructor |
| 16 | @Getter | 16 | @Getter |
| 17 | -public enum IotOtaUpgradeRecordStatusEnum implements ArrayValuable<Integer> { | 17 | +public enum IotOtaTaskRecordStatusEnum implements ArrayValuable<Integer> { |
| 18 | 18 | ||
| 19 | PENDING(0), // 待推送 | 19 | PENDING(0), // 待推送 |
| 20 | PUSHED(10), // 已推送 | 20 | PUSHED(10), // 已推送 |
| 21 | UPGRADING(20), // 升级中 | 21 | UPGRADING(20), // 升级中 |
| 22 | SUCCESS(30), // 升级成功 | 22 | SUCCESS(30), // 升级成功 |
| 23 | FAILURE(40), // 升级失败 | 23 | FAILURE(40), // 升级失败 |
| 24 | - CANCELED(50),; // 已取消 | 24 | + CANCELED(50),; // 升级取消 |
| 25 | 25 | ||
| 26 | - public static final Integer[] ARRAYS = Arrays.stream(values()).map(IotOtaUpgradeRecordStatusEnum::getStatus).toArray(Integer[]::new); | 26 | + public static final Integer[] ARRAYS = Arrays.stream(values()) |
| 27 | + .map(IotOtaTaskRecordStatusEnum::getStatus).toArray(Integer[]::new); | ||
| 27 | 28 | ||
| 28 | /** | 29 | /** |
| 29 | - * 范围 | 30 | + * 状态 |
| 30 | */ | 31 | */ |
| 31 | private final Integer status; | 32 | private final Integer status; |
| 32 | 33 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaUpgradeTaskStatusEnum.java renamed to yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaTaskStatusEnum.java
| @@ -7,23 +7,23 @@ import lombok.RequiredArgsConstructor; | @@ -7,23 +7,23 @@ import lombok.RequiredArgsConstructor; | ||
| 7 | import java.util.Arrays; | 7 | import java.util.Arrays; |
| 8 | 8 | ||
| 9 | /** | 9 | /** |
| 10 | - * IoT OTA 升级任务的范围枚举 | 10 | + * IoT OTA 升级任务的状态 |
| 11 | * | 11 | * |
| 12 | - * @author haohao | 12 | + * @author 芋道源码 |
| 13 | */ | 13 | */ |
| 14 | @RequiredArgsConstructor | 14 | @RequiredArgsConstructor |
| 15 | @Getter | 15 | @Getter |
| 16 | -public enum IotOtaUpgradeTaskStatusEnum implements ArrayValuable<Integer> { | 16 | +public enum IotOtaTaskStatusEnum implements ArrayValuable<Integer> { |
| 17 | 17 | ||
| 18 | - IN_PROGRESS(10), // 进行中:升级中 | ||
| 19 | - COMPLETED(20), // 已完成:已结束,全部升级完成 | ||
| 20 | - INCOMPLETE(21), // 未完成:已结束,部分升级完成 | ||
| 21 | - CANCELED(30),; // 已取消:一般是主动取消任务 | 18 | + IN_PROGRESS(10), // 进行中(升级中) |
| 19 | + COMPLETED(20), // 已完成(包括全部成功、部分成功) | ||
| 20 | + CANCELED(30),; // 已取消(一般是主动取消任务) | ||
| 22 | 21 | ||
| 23 | - public static final Integer[] ARRAYS = Arrays.stream(values()).map(IotOtaUpgradeTaskStatusEnum::getStatus).toArray(Integer[]::new); | 22 | + public static final Integer[] ARRAYS = Arrays.stream(values()) |
| 23 | + .map(IotOtaTaskStatusEnum::getStatus).toArray(Integer[]::new); | ||
| 24 | 24 | ||
| 25 | /** | 25 | /** |
| 26 | - * 范围 | 26 | + * 状态 |
| 27 | */ | 27 | */ |
| 28 | private final Integer status; | 28 | private final Integer status; |
| 29 | 29 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeRecordService.java
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.iot.service.ota; | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.iot.service.ota; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 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.upgrade.record.IotOtaUpgradeRecordPageReqVO; |
| 5 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeRecordDO; | 5 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| 6 | import jakarta.validation.Valid; | 6 | import jakarta.validation.Valid; |
| 7 | 7 | ||
| 8 | import java.util.List; | 8 | import java.util.List; |
| @@ -40,19 +40,12 @@ public interface IotOtaUpgradeRecordService { | @@ -40,19 +40,12 @@ public interface IotOtaUpgradeRecordService { | ||
| 40 | Map<Integer, Long> getOtaUpgradeRecordStatistics(Long firmwareId); | 40 | Map<Integer, Long> getOtaUpgradeRecordStatistics(Long firmwareId); |
| 41 | 41 | ||
| 42 | /** | 42 | /** |
| 43 | - * 重试指定的 OTA 升级记录 | ||
| 44 | - * | ||
| 45 | - * @param id 需要重试的升级记录的ID。 | ||
| 46 | - */ | ||
| 47 | - void retryUpgradeRecord(Long id); | ||
| 48 | - | ||
| 49 | - /** | ||
| 50 | * 获取指定 ID 的 OTA 升级记录的详细信息。 | 43 | * 获取指定 ID 的 OTA 升级记录的详细信息。 |
| 51 | * | 44 | * |
| 52 | * @param id 需要查询的升级记录的ID。 | 45 | * @param id 需要查询的升级记录的ID。 |
| 53 | * @return 返回包含升级记录详细信息的响应对象。 | 46 | * @return 返回包含升级记录详细信息的响应对象。 |
| 54 | */ | 47 | */ |
| 55 | - IotOtaUpgradeRecordDO getUpgradeRecord(Long id); | 48 | + IotOtaTaskRecordDO getUpgradeRecord(Long id); |
| 56 | 49 | ||
| 57 | /** | 50 | /** |
| 58 | * 分页查询 OTA 升级记录。 | 51 | * 分页查询 OTA 升级记录。 |
| @@ -60,7 +53,7 @@ public interface IotOtaUpgradeRecordService { | @@ -60,7 +53,7 @@ public interface IotOtaUpgradeRecordService { | ||
| 60 | * @param pageReqVO 包含分页查询条件的请求对象,必须经过验证。 | 53 | * @param pageReqVO 包含分页查询条件的请求对象,必须经过验证。 |
| 61 | * @return 返回包含分页查询结果的响应对象。 | 54 | * @return 返回包含分页查询结果的响应对象。 |
| 62 | */ | 55 | */ |
| 63 | - PageResult<IotOtaUpgradeRecordDO> getUpgradeRecordPage(@Valid IotOtaUpgradeRecordPageReqVO pageReqVO); | 56 | + PageResult<IotOtaTaskRecordDO> getUpgradeRecordPage(@Valid IotOtaUpgradeRecordPageReqVO pageReqVO); |
| 64 | 57 | ||
| 65 | /** | 58 | /** |
| 66 | * 根据任务 ID 取消升级记录 | 59 | * 根据任务 ID 取消升级记录 |
| @@ -72,33 +65,4 @@ public interface IotOtaUpgradeRecordService { | @@ -72,33 +65,4 @@ public interface IotOtaUpgradeRecordService { | ||
| 72 | */ | 65 | */ |
| 73 | void cancelUpgradeRecordByTaskId(Long taskId); | 66 | void cancelUpgradeRecordByTaskId(Long taskId); |
| 74 | 67 | ||
| 75 | - // TODO @li:不要的方法,可以删除下哈。 | ||
| 76 | - /** | ||
| 77 | - * 根据升级状态获取升级记录列表 | ||
| 78 | - * | ||
| 79 | - * @param state 升级状态,用于筛选符合条件的升级记录 | ||
| 80 | - * @return 返回符合指定状态的升级记录列表,列表中的元素为 {@link IotOtaUpgradeRecordDO} 对象 | ||
| 81 | - */ | ||
| 82 | - List<IotOtaUpgradeRecordDO> getUpgradeRecordListByState(Integer state); | ||
| 83 | - | ||
| 84 | - /** | ||
| 85 | - * 更新升级记录的状态。 | ||
| 86 | - * <p> | ||
| 87 | - * 该函数用于批量更新指定升级记录的状态。通过传入的ID列表和状态值,将对应的升级记录的状态更新为指定的值。 | ||
| 88 | - * | ||
| 89 | - * @param ids 需要更新状态的升级记录的ID列表。列表中的每个元素代表一个升级记录的ID。 | ||
| 90 | - * @param status 要更新的状态值。该值应为有效的状态标识符,通常为整数类型。 | ||
| 91 | - */ | ||
| 92 | - void updateUpgradeRecordStatus(List<Long> ids, Integer status); | ||
| 93 | - | ||
| 94 | - /** | ||
| 95 | - * 根据任务ID获取升级记录列表 | ||
| 96 | - * <p> | ||
| 97 | - * 该函数通过给定的任务ID,查询并返回与该任务相关的所有升级记录。 | ||
| 98 | - * | ||
| 99 | - * @param taskId 任务ID,用于指定需要查询的任务 | ||
| 100 | - * @return 返回一个包含升级记录的列表,列表中的每个元素为IotOtaUpgradeRecordDO对象 | ||
| 101 | - */ | ||
| 102 | - List<IotOtaUpgradeRecordDO> getUpgradeRecordListByTaskId(Long taskId); | ||
| 103 | - | ||
| 104 | } | 68 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeRecordServiceImpl.java
| @@ -6,14 +6,13 @@ import cn.iocoder.yudao.framework.common.util.object.ObjectUtils; | @@ -6,14 +6,13 @@ 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.upgrade.record.IotOtaUpgradeRecordPageReqVO; |
| 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | 7 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; |
| 8 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; | 8 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; |
| 9 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeRecordDO; | ||
| 10 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO; | 9 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskRecordDO; |
| 10 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; | ||
| 11 | import cn.iocoder.yudao.module.iot.dal.mysql.ota.IotOtaUpgradeRecordMapper; | 11 | import cn.iocoder.yudao.module.iot.dal.mysql.ota.IotOtaUpgradeRecordMapper; |
| 12 | -import cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum; | 12 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskRecordStatusEnum; |
| 13 | import cn.iocoder.yudao.module.iot.service.device.IotDeviceService; | 13 | import cn.iocoder.yudao.module.iot.service.device.IotDeviceService; |
| 14 | import jakarta.annotation.Resource; | 14 | import jakarta.annotation.Resource; |
| 15 | import lombok.extern.slf4j.Slf4j; | 15 | import lombok.extern.slf4j.Slf4j; |
| 16 | -import org.springframework.context.annotation.Lazy; | ||
| 17 | import org.springframework.stereotype.Service; | 16 | import org.springframework.stereotype.Service; |
| 18 | import org.springframework.transaction.annotation.Transactional; | 17 | import org.springframework.transaction.annotation.Transactional; |
| 19 | import org.springframework.validation.annotation.Validated; | 18 | import org.springframework.validation.annotation.Validated; |
| @@ -47,18 +46,18 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -47,18 +46,18 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 47 | deviceIds.forEach(deviceId -> validateUpgradeRecordDuplicate(firmwareId, upgradeTaskId, String.valueOf(deviceId))); | 46 | deviceIds.forEach(deviceId -> validateUpgradeRecordDuplicate(firmwareId, upgradeTaskId, String.valueOf(deviceId))); |
| 48 | 47 | ||
| 49 | // 2. 初始化OTA升级记录列表信息 | 48 | // 2. 初始化OTA升级记录列表信息 |
| 50 | - IotOtaUpgradeTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(upgradeTaskId); | 49 | + IotOtaTaskDO upgradeTask = upgradeTaskService.getUpgradeTask(upgradeTaskId); |
| 51 | IotOtaFirmwareDO firmware = firmwareService.getOtaFirmware(firmwareId); | 50 | IotOtaFirmwareDO firmware = firmwareService.getOtaFirmware(firmwareId); |
| 52 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByIdList(deviceIds); | 51 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByIdList(deviceIds); |
| 53 | - List<IotOtaUpgradeRecordDO> upgradeRecordList = deviceList.stream().map(device -> { | ||
| 54 | - IotOtaUpgradeRecordDO upgradeRecord = new IotOtaUpgradeRecordDO(); | 52 | + List<IotOtaTaskRecordDO> upgradeRecordList = deviceList.stream().map(device -> { |
| 53 | + IotOtaTaskRecordDO upgradeRecord = new IotOtaTaskRecordDO(); | ||
| 55 | upgradeRecord.setFirmwareId(firmware.getId()); | 54 | upgradeRecord.setFirmwareId(firmware.getId()); |
| 56 | upgradeRecord.setTaskId(upgradeTask.getId()); | 55 | upgradeRecord.setTaskId(upgradeTask.getId()); |
| 57 | upgradeRecord.setProductKey(device.getProductKey()); | 56 | upgradeRecord.setProductKey(device.getProductKey()); |
| 58 | upgradeRecord.setDeviceName(device.getDeviceName()); | 57 | upgradeRecord.setDeviceName(device.getDeviceName()); |
| 59 | upgradeRecord.setDeviceId(Convert.toStr(device.getId())); | 58 | upgradeRecord.setDeviceId(Convert.toStr(device.getId())); |
| 60 | upgradeRecord.setFromFirmwareId(Convert.toLong(device.getFirmwareId())); | 59 | upgradeRecord.setFromFirmwareId(Convert.toLong(device.getFirmwareId())); |
| 61 | - upgradeRecord.setStatus(IotOtaUpgradeRecordStatusEnum.PENDING.getStatus()); | 60 | + upgradeRecord.setStatus(IotOtaTaskRecordStatusEnum.PENDING.getStatus()); |
| 62 | upgradeRecord.setProgress(0); | 61 | upgradeRecord.setProgress(0); |
| 63 | return upgradeRecord; | 62 | return upgradeRecord; |
| 64 | }).toList(); | 63 | }).toList(); |
| @@ -88,14 +87,6 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -88,14 +87,6 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 88 | entry -> Convert.toLong(entry.getValue()))); | 87 | entry -> Convert.toLong(entry.getValue()))); |
| 89 | } | 88 | } |
| 90 | 89 | ||
| 91 | - // TODO @li:1)方法注释,简单写;2)父类写了注释,子类就不用写了。。。 | ||
| 92 | - /** | ||
| 93 | - * 获取指定固件ID的OTA升级记录统计信息。 | ||
| 94 | - * 该方法通过查询数据库,统计不同状态的OTA升级记录数量,并返回一个包含各状态数量的映射。 | ||
| 95 | - * | ||
| 96 | - * @param firmwareId 固件ID,用于指定需要统计的固件升级记录。 | ||
| 97 | - * @return 返回一个Map,其中键为升级记录状态(如PENDING、PUSHED等),值为对应状态的记录数量。 | ||
| 98 | - */ | ||
| 99 | @Override | 90 | @Override |
| 100 | @Transactional | 91 | @Transactional |
| 101 | public Map<Integer, Long> getOtaUpgradeRecordStatistics(Long firmwareId) { | 92 | public Map<Integer, Long> getOtaUpgradeRecordStatistics(Long firmwareId) { |
| @@ -109,26 +100,12 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -109,26 +100,12 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 109 | } | 100 | } |
| 110 | 101 | ||
| 111 | @Override | 102 | @Override |
| 112 | - public void retryUpgradeRecord(Long id) { | ||
| 113 | - // 1.1 校验升级记录信息是否存在 | ||
| 114 | - IotOtaUpgradeRecordDO upgradeRecord = validateUpgradeRecordExists(id); | ||
| 115 | - // 1.2 校验升级记录是否可以重新升级 | ||
| 116 | - validateUpgradeRecordCanRetry(upgradeRecord); | ||
| 117 | - | ||
| 118 | - // 2. 将一些数据重置,这样定时任务轮询就可以重启任务 | ||
| 119 | - // TODO @li:更新的时候,wherestatus; | ||
| 120 | - upgradeRecordMapper.updateById(new IotOtaUpgradeRecordDO() | ||
| 121 | - .setId(upgradeRecord.getId()).setProgress(0) | ||
| 122 | - .setStatus(IotOtaUpgradeRecordStatusEnum.PENDING.getStatus())); | ||
| 123 | - } | ||
| 124 | - | ||
| 125 | - @Override | ||
| 126 | - public IotOtaUpgradeRecordDO getUpgradeRecord(Long id) { | 103 | + public IotOtaTaskRecordDO getUpgradeRecord(Long id) { |
| 127 | return upgradeRecordMapper.selectById(id); | 104 | return upgradeRecordMapper.selectById(id); |
| 128 | } | 105 | } |
| 129 | 106 | ||
| 130 | @Override | 107 | @Override |
| 131 | - public PageResult<IotOtaUpgradeRecordDO> getUpgradeRecordPage(IotOtaUpgradeRecordPageReqVO pageReqVO) { | 108 | + public PageResult<IotOtaTaskRecordDO> getUpgradeRecordPage(IotOtaUpgradeRecordPageReqVO pageReqVO) { |
| 132 | return upgradeRecordMapper.selectUpgradeRecordPage(pageReqVO); | 109 | return upgradeRecordMapper.selectUpgradeRecordPage(pageReqVO); |
| 133 | } | 110 | } |
| 134 | 111 | ||
| @@ -136,23 +113,8 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -136,23 +113,8 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 136 | public void cancelUpgradeRecordByTaskId(Long taskId) { | 113 | public void cancelUpgradeRecordByTaskId(Long taskId) { |
| 137 | // 暂定只有待推送的升级记录可以取消 TODO @芋艿:可以看看阿里云,哪些可以取消 | 114 | // 暂定只有待推送的升级记录可以取消 TODO @芋艿:可以看看阿里云,哪些可以取消 |
| 138 | upgradeRecordMapper.updateUpgradeRecordStatusByTaskIdAndStatus( | 115 | upgradeRecordMapper.updateUpgradeRecordStatusByTaskIdAndStatus( |
| 139 | - IotOtaUpgradeRecordStatusEnum.CANCELED.getStatus(), taskId, | ||
| 140 | - IotOtaUpgradeRecordStatusEnum.PENDING.getStatus()); | ||
| 141 | - } | ||
| 142 | - | ||
| 143 | - @Override | ||
| 144 | - public List<IotOtaUpgradeRecordDO> getUpgradeRecordListByState(Integer state) { | ||
| 145 | - return upgradeRecordMapper.selectUpgradeRecordListByState(state); | ||
| 146 | - } | ||
| 147 | - | ||
| 148 | - @Override | ||
| 149 | - public void updateUpgradeRecordStatus(List<Long> ids, Integer status) { | ||
| 150 | - upgradeRecordMapper.updateUpgradeRecordStatus(ids, status); | ||
| 151 | - } | ||
| 152 | - | ||
| 153 | - @Override | ||
| 154 | - public List<IotOtaUpgradeRecordDO> getUpgradeRecordListByTaskId(Long taskId) { | ||
| 155 | - return upgradeRecordMapper.selectUpgradeRecordListByTaskId(taskId); | 116 | + IotOtaTaskRecordStatusEnum.CANCELED.getStatus(), taskId, |
| 117 | + IotOtaTaskRecordStatusEnum.PENDING.getStatus()); | ||
| 156 | } | 118 | } |
| 157 | 119 | ||
| 158 | /** | 120 | /** |
| @@ -163,9 +125,9 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -163,9 +125,9 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 163 | * @param id 升级记录的唯一标识符,类型为Long。 | 125 | * @param id 升级记录的唯一标识符,类型为Long。 |
| 164 | * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,则抛出异常,异常类型为OTA_UPGRADE_RECORD_NOT_EXISTS。 | 126 | * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,则抛出异常,异常类型为OTA_UPGRADE_RECORD_NOT_EXISTS。 |
| 165 | */ | 127 | */ |
| 166 | - private IotOtaUpgradeRecordDO validateUpgradeRecordExists(Long id) { | 128 | + private IotOtaTaskRecordDO validateUpgradeRecordExists(Long id) { |
| 167 | // 根据ID查询升级记录 | 129 | // 根据ID查询升级记录 |
| 168 | - IotOtaUpgradeRecordDO upgradeRecord = upgradeRecordMapper.selectById(id); | 130 | + IotOtaTaskRecordDO upgradeRecord = upgradeRecordMapper.selectById(id); |
| 169 | // 如果查询结果为空,抛出异常 | 131 | // 如果查询结果为空,抛出异常 |
| 170 | if (upgradeRecord == null) { | 132 | if (upgradeRecord == null) { |
| 171 | throw exception(OTA_UPGRADE_RECORD_NOT_EXISTS); | 133 | throw exception(OTA_UPGRADE_RECORD_NOT_EXISTS); |
| @@ -185,11 +147,11 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -185,11 +147,11 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 185 | * @param deviceId 设备ID,用于标识特定的设备 | 147 | * @param deviceId 设备ID,用于标识特定的设备 |
| 186 | */ | 148 | */ |
| 187 | private void validateUpgradeRecordDuplicate(Long firmwareId, Long taskId, String deviceId) { | 149 | private void validateUpgradeRecordDuplicate(Long firmwareId, Long taskId, String deviceId) { |
| 188 | - IotOtaUpgradeRecordDO upgradeRecord = upgradeRecordMapper.selectByConditions(firmwareId, taskId, deviceId); | 150 | + IotOtaTaskRecordDO upgradeRecord = upgradeRecordMapper.selectByConditions(firmwareId, taskId, deviceId); |
| 189 | if (upgradeRecord == null) { | 151 | if (upgradeRecord == null) { |
| 190 | return; | 152 | return; |
| 191 | } | 153 | } |
| 192 | - if (!Objects.equals(upgradeRecord.getStatus(), IotOtaUpgradeRecordStatusEnum.CANCELED.getStatus())) { | 154 | + if (!Objects.equals(upgradeRecord.getStatus(), IotOtaTaskRecordStatusEnum.CANCELED.getStatus())) { |
| 193 | throw exception(OTA_UPGRADE_RECORD_DUPLICATE); | 155 | throw exception(OTA_UPGRADE_RECORD_DUPLICATE); |
| 194 | } | 156 | } |
| 195 | } | 157 | } |
| @@ -205,11 +167,11 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | @@ -205,11 +167,11 @@ public class IotOtaUpgradeRecordServiceImpl implements IotOtaUpgradeRecordServic | ||
| 205 | * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,则抛出 OTA_UPGRADE_RECORD_CANNOT_RETRY 异常 | 167 | * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,则抛出 OTA_UPGRADE_RECORD_CANNOT_RETRY 异常 |
| 206 | */ | 168 | */ |
| 207 | // TODO @li:这种一次性的方法(不复用的),其实一步一定要抽成小方法; | 169 | // TODO @li:这种一次性的方法(不复用的),其实一步一定要抽成小方法; |
| 208 | - private void validateUpgradeRecordCanRetry(IotOtaUpgradeRecordDO upgradeRecord) { | 170 | + private void validateUpgradeRecordCanRetry(IotOtaTaskRecordDO upgradeRecord) { |
| 209 | if (ObjectUtils.equalsAny(upgradeRecord.getStatus(), | 171 | if (ObjectUtils.equalsAny(upgradeRecord.getStatus(), |
| 210 | - IotOtaUpgradeRecordStatusEnum.PENDING.getStatus(), | ||
| 211 | - IotOtaUpgradeRecordStatusEnum.PUSHED.getStatus(), | ||
| 212 | - IotOtaUpgradeRecordStatusEnum.UPGRADING.getStatus())) { | 172 | + IotOtaTaskRecordStatusEnum.PENDING.getStatus(), |
| 173 | + IotOtaTaskRecordStatusEnum.PUSHED.getStatus(), | ||
| 174 | + IotOtaTaskRecordStatusEnum.UPGRADING.getStatus())) { | ||
| 213 | throw exception(OTA_UPGRADE_RECORD_CANNOT_RETRY); | 175 | throw exception(OTA_UPGRADE_RECORD_CANNOT_RETRY); |
| 214 | } | 176 | } |
| 215 | } | 177 | } |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeTaskService.java
| @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.service.ota; | @@ -3,7 +3,7 @@ package cn.iocoder.yudao.module.iot.service.ota; | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskPageReqVO; | 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; | 5 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; |
| 6 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO; | 6 | +import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaTaskDO; |
| 7 | import jakarta.validation.Valid; | 7 | import jakarta.validation.Valid; |
| 8 | 8 | ||
| 9 | import java.util.List; | 9 | import java.util.List; |
| @@ -36,7 +36,7 @@ public interface IotOtaUpgradeTaskService { | @@ -36,7 +36,7 @@ public interface IotOtaUpgradeTaskService { | ||
| 36 | * @param id OTA升级任务的ID | 36 | * @param id OTA升级任务的ID |
| 37 | * @return OTA升级任务的详细信息对象 | 37 | * @return OTA升级任务的详细信息对象 |
| 38 | */ | 38 | */ |
| 39 | - IotOtaUpgradeTaskDO getUpgradeTask(Long id); | 39 | + IotOtaTaskDO getUpgradeTask(Long id); |
| 40 | 40 | ||
| 41 | /** | 41 | /** |
| 42 | * 分页查询OTA升级任务 | 42 | * 分页查询OTA升级任务 |
| @@ -44,7 +44,7 @@ public interface IotOtaUpgradeTaskService { | @@ -44,7 +44,7 @@ public interface IotOtaUpgradeTaskService { | ||
| 44 | * @param pageReqVO OTA升级任务的分页查询请求对象,包含查询条件和分页信息 | 44 | * @param pageReqVO OTA升级任务的分页查询请求对象,包含查询条件和分页信息 |
| 45 | * @return 分页查询结果,包含OTA升级任务列表和总记录数 | 45 | * @return 分页查询结果,包含OTA升级任务列表和总记录数 |
| 46 | */ | 46 | */ |
| 47 | - PageResult<IotOtaUpgradeTaskDO> getUpgradeTaskPage(@Valid IotOtaUpgradeTaskPageReqVO pageReqVO); | 47 | + PageResult<IotOtaTaskDO> getUpgradeTaskPage(@Valid IotOtaUpgradeTaskPageReqVO pageReqVO); |
| 48 | 48 | ||
| 49 | /** | 49 | /** |
| 50 | * 根据任务状态获取升级任务列表 | 50 | * 根据任务状态获取升级任务列表 |
| @@ -52,7 +52,7 @@ public interface IotOtaUpgradeTaskService { | @@ -52,7 +52,7 @@ public interface IotOtaUpgradeTaskService { | ||
| 52 | * @param state 任务状态,用于筛选符合条件的升级任务 | 52 | * @param state 任务状态,用于筛选符合条件的升级任务 |
| 53 | * @return 返回符合指定状态的升级任务列表,列表中的元素为 IotOtaUpgradeTaskDO 对象 | 53 | * @return 返回符合指定状态的升级任务列表,列表中的元素为 IotOtaUpgradeTaskDO 对象 |
| 54 | */ | 54 | */ |
| 55 | - List<IotOtaUpgradeTaskDO> getUpgradeTaskByState(Integer state); | 55 | + List<IotOtaTaskDO> getUpgradeTaskByState(Integer state); |
| 56 | 56 | ||
| 57 | /** | 57 | /** |
| 58 | * 更新升级任务的状态。 | 58 | * 更新升级任务的状态。 |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/service/ota/IotOtaUpgradeTaskServiceImpl.java
| @@ -8,10 +8,10 @@ import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUp | @@ -8,10 +8,10 @@ import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUp | ||
| 8 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; | 8 | import cn.iocoder.yudao.module.iot.controller.admin.ota.vo.upgrade.task.IotOtaUpgradeTaskSaveReqVO; |
| 9 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; | 9 | import cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceDO; |
| 10 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; | 10 | import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaFirmwareDO; |
| 11 | -import cn.iocoder.yudao.module.iot.dal.dataobject.ota.IotOtaUpgradeTaskDO; | 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.IotOtaUpgradeTaskMapper; |
| 13 | -import cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum; | ||
| 14 | -import cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskStatusEnum; | 13 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskDeviceScopeEnum; |
| 14 | +import cn.iocoder.yudao.module.iot.enums.ota.IotOtaTaskStatusEnum; | ||
| 15 | import cn.iocoder.yudao.module.iot.service.device.IotDeviceService; | 15 | import cn.iocoder.yudao.module.iot.service.device.IotDeviceService; |
| 16 | import jakarta.annotation.Resource; | 16 | import jakarta.annotation.Resource; |
| 17 | import lombok.extern.slf4j.Slf4j; | 17 | import lombok.extern.slf4j.Slf4j; |
| @@ -61,7 +61,7 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | @@ -61,7 +61,7 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | ||
| 61 | validateScopeAndDevice(createReqVO.getScope(), createReqVO.getDeviceIds(), firmware.getProductId()); | 61 | validateScopeAndDevice(createReqVO.getScope(), createReqVO.getDeviceIds(), firmware.getProductId()); |
| 62 | 62 | ||
| 63 | // 2. 保存 OTA 升级任务信息到数据库 | 63 | // 2. 保存 OTA 升级任务信息到数据库 |
| 64 | - IotOtaUpgradeTaskDO upgradeTask = initOtaUpgradeTask(createReqVO, firmware.getProductId()); | 64 | + IotOtaTaskDO upgradeTask = initOtaUpgradeTask(createReqVO, firmware.getProductId()); |
| 65 | upgradeTaskMapper.insert(upgradeTask); | 65 | upgradeTaskMapper.insert(upgradeTask); |
| 66 | 66 | ||
| 67 | // 3. 生成设备升级记录信息并存储,等待定时任务轮询 | 67 | // 3. 生成设备升级记录信息并存储,等待定时任务轮询 |
| @@ -73,16 +73,16 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | @@ -73,16 +73,16 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | ||
| 73 | @Transactional(rollbackFor = Exception.class) | 73 | @Transactional(rollbackFor = Exception.class) |
| 74 | public void cancelUpgradeTask(Long id) { | 74 | public void cancelUpgradeTask(Long id) { |
| 75 | // 1.1 校验升级任务是否存在 | 75 | // 1.1 校验升级任务是否存在 |
| 76 | - IotOtaUpgradeTaskDO upgradeTask = validateUpgradeTaskExists(id); | 76 | + IotOtaTaskDO upgradeTask = validateUpgradeTaskExists(id); |
| 77 | // 1.2 校验升级任务是否可以取消 | 77 | // 1.2 校验升级任务是否可以取消 |
| 78 | // TODO @li:ObjUtil notequals | 78 | // TODO @li:ObjUtil notequals |
| 79 | - if (!Objects.equals(upgradeTask.getStatus(), IotOtaUpgradeTaskStatusEnum.IN_PROGRESS.getStatus())) { | 79 | + if (!Objects.equals(upgradeTask.getStatus(), IotOtaTaskStatusEnum.IN_PROGRESS.getStatus())) { |
| 80 | throw exception(OTA_UPGRADE_TASK_CANNOT_CANCEL); | 80 | throw exception(OTA_UPGRADE_TASK_CANNOT_CANCEL); |
| 81 | } | 81 | } |
| 82 | 82 | ||
| 83 | // 2. 更新 OTA 升级任务状态为已取消 | 83 | // 2. 更新 OTA 升级任务状态为已取消 |
| 84 | - upgradeTaskMapper.updateById(IotOtaUpgradeTaskDO.builder() | ||
| 85 | - .id(id).status(IotOtaUpgradeTaskStatusEnum.CANCELED.getStatus()) | 84 | + upgradeTaskMapper.updateById(IotOtaTaskDO.builder() |
| 85 | + .id(id).status(IotOtaTaskStatusEnum.CANCELED.getStatus()) | ||
| 86 | .build()); | 86 | .build()); |
| 87 | 87 | ||
| 88 | // 3. 更新 OTA 升级记录状态为已取消 | 88 | // 3. 更新 OTA 升级记录状态为已取消 |
| @@ -90,30 +90,30 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | @@ -90,30 +90,30 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | ||
| 90 | } | 90 | } |
| 91 | 91 | ||
| 92 | @Override | 92 | @Override |
| 93 | - public IotOtaUpgradeTaskDO getUpgradeTask(Long id) { | 93 | + public IotOtaTaskDO getUpgradeTask(Long id) { |
| 94 | return upgradeTaskMapper.selectById(id); | 94 | return upgradeTaskMapper.selectById(id); |
| 95 | } | 95 | } |
| 96 | 96 | ||
| 97 | @Override | 97 | @Override |
| 98 | - public PageResult<IotOtaUpgradeTaskDO> getUpgradeTaskPage(IotOtaUpgradeTaskPageReqVO pageReqVO) { | 98 | + public PageResult<IotOtaTaskDO> getUpgradeTaskPage(IotOtaUpgradeTaskPageReqVO pageReqVO) { |
| 99 | return upgradeTaskMapper.selectUpgradeTaskPage(pageReqVO); | 99 | return upgradeTaskMapper.selectUpgradeTaskPage(pageReqVO); |
| 100 | } | 100 | } |
| 101 | 101 | ||
| 102 | @Override | 102 | @Override |
| 103 | - public List<IotOtaUpgradeTaskDO> getUpgradeTaskByState(Integer state) { | 103 | + public List<IotOtaTaskDO> getUpgradeTaskByState(Integer state) { |
| 104 | return upgradeTaskMapper.selectUpgradeTaskByState(state); | 104 | return upgradeTaskMapper.selectUpgradeTaskByState(state); |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | @Override | 107 | @Override |
| 108 | public void updateUpgradeTaskStatus(Long id, Integer status) { | 108 | public void updateUpgradeTaskStatus(Long id, Integer status) { |
| 109 | - upgradeTaskMapper.updateById(IotOtaUpgradeTaskDO.builder().id(id).status(status).build()); | 109 | + upgradeTaskMapper.updateById(IotOtaTaskDO.builder().id(id).status(status).build()); |
| 110 | } | 110 | } |
| 111 | 111 | ||
| 112 | /** | 112 | /** |
| 113 | * 校验固件升级任务是否重复 | 113 | * 校验固件升级任务是否重复 |
| 114 | */ | 114 | */ |
| 115 | private void validateFirmwareTaskDuplicate(Long firmwareId, String taskName) { | 115 | private void validateFirmwareTaskDuplicate(Long firmwareId, String taskName) { |
| 116 | - List<IotOtaUpgradeTaskDO> upgradeTaskList = upgradeTaskMapper.selectByFirmwareIdAndName(firmwareId, taskName); | 116 | + List<IotOtaTaskDO> upgradeTaskList = upgradeTaskMapper.selectByFirmwareIdAndName(firmwareId, taskName); |
| 117 | if (CollUtil.isNotEmpty(upgradeTaskList)) { | 117 | if (CollUtil.isNotEmpty(upgradeTaskList)) { |
| 118 | throw exception(OTA_UPGRADE_TASK_NAME_DUPLICATE); | 118 | throw exception(OTA_UPGRADE_TASK_NAME_DUPLICATE); |
| 119 | } | 119 | } |
| @@ -128,14 +128,14 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | @@ -128,14 +128,14 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | ||
| 128 | * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,抛出相应的异常 | 128 | * @throws cn.iocoder.yudao.framework.common.exception.ServiceException,抛出相应的异常 |
| 129 | */ | 129 | */ |
| 130 | private void validateScopeAndDevice(Integer scope, List<Long> deviceIds, Long productId) { | 130 | private void validateScopeAndDevice(Integer scope, List<Long> deviceIds, Long productId) { |
| 131 | - if (Objects.equals(scope, IotOtaUpgradeTaskScopeEnum.SELECT.getScope())) { | 131 | + if (Objects.equals(scope, IotOtaTaskDeviceScopeEnum.SELECT.getScope())) { |
| 132 | if (CollUtil.isEmpty(deviceIds)) { | 132 | if (CollUtil.isEmpty(deviceIds)) { |
| 133 | throw exception(OTA_UPGRADE_TASK_DEVICE_IDS_EMPTY); | 133 | throw exception(OTA_UPGRADE_TASK_DEVICE_IDS_EMPTY); |
| 134 | } | 134 | } |
| 135 | return; | 135 | return; |
| 136 | } | 136 | } |
| 137 | - | ||
| 138 | - if (Objects.equals(scope, IotOtaUpgradeTaskScopeEnum.ALL.getScope())) { | 137 | + |
| 138 | + if (Objects.equals(scope, IotOtaTaskDeviceScopeEnum.ALL.getScope())) { | ||
| 139 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByProductId(productId); | 139 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByProductId(productId); |
| 140 | if (CollUtil.isEmpty(deviceList)) { | 140 | if (CollUtil.isEmpty(deviceList)) { |
| 141 | throw exception(OTA_UPGRADE_TASK_DEVICE_LIST_EMPTY); | 141 | throw exception(OTA_UPGRADE_TASK_DEVICE_LIST_EMPTY); |
| @@ -146,8 +146,8 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | @@ -146,8 +146,8 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | ||
| 146 | /** | 146 | /** |
| 147 | * 验证升级任务是否存在 | 147 | * 验证升级任务是否存在 |
| 148 | */ | 148 | */ |
| 149 | - private IotOtaUpgradeTaskDO validateUpgradeTaskExists(Long id) { | ||
| 150 | - IotOtaUpgradeTaskDO upgradeTask = upgradeTaskMapper.selectById(id); | 149 | + private IotOtaTaskDO validateUpgradeTaskExists(Long id) { |
| 150 | + IotOtaTaskDO upgradeTask = upgradeTaskMapper.selectById(id); | ||
| 151 | if (Objects.isNull(upgradeTask)) { | 151 | if (Objects.isNull(upgradeTask)) { |
| 152 | throw exception(OTA_UPGRADE_TASK_NOT_EXISTS); | 152 | throw exception(OTA_UPGRADE_TASK_NOT_EXISTS); |
| 153 | } | 153 | } |
| @@ -157,14 +157,14 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | @@ -157,14 +157,14 @@ public class IotOtaUpgradeTaskServiceImpl implements IotOtaUpgradeTaskService { | ||
| 157 | /** | 157 | /** |
| 158 | * 初始化升级任务 | 158 | * 初始化升级任务 |
| 159 | */ | 159 | */ |
| 160 | - private IotOtaUpgradeTaskDO initOtaUpgradeTask(IotOtaUpgradeTaskSaveReqVO createReqVO, Long productId) { | ||
| 161 | - IotOtaUpgradeTaskDO upgradeTask = BeanUtils.toBean(createReqVO, IotOtaUpgradeTaskDO.class); | ||
| 162 | - upgradeTask.setDeviceCount(Convert.toLong(CollUtil.size(createReqVO.getDeviceIds()))) | ||
| 163 | - .setStatus(IotOtaUpgradeTaskStatusEnum.IN_PROGRESS.getStatus()); | ||
| 164 | - | ||
| 165 | - if (Objects.equals(createReqVO.getScope(), IotOtaUpgradeTaskScopeEnum.ALL.getScope())) { | 160 | + private IotOtaTaskDO initOtaUpgradeTask(IotOtaUpgradeTaskSaveReqVO createReqVO, Long productId) { |
| 161 | + IotOtaTaskDO upgradeTask = BeanUtils.toBean(createReqVO, IotOtaTaskDO.class); | ||
| 162 | + upgradeTask.setDeviceTotalCount(Convert.toLong(CollUtil.size(createReqVO.getDeviceIds()))) | ||
| 163 | + .setStatus(IotOtaTaskStatusEnum.IN_PROGRESS.getStatus()); | ||
| 164 | + | ||
| 165 | + if (Objects.equals(createReqVO.getScope(), IotOtaTaskDeviceScopeEnum.ALL.getScope())) { | ||
| 166 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByProductId(productId); | 166 | List<IotDeviceDO> deviceList = deviceService.getDeviceListByProductId(productId); |
| 167 | - upgradeTask.setDeviceCount((long) deviceList.size()); | 167 | + upgradeTask.setDeviceTotalCount((long) deviceList.size()); |
| 168 | upgradeTask.setDeviceIds( | 168 | upgradeTask.setDeviceIds( |
| 169 | deviceList.stream().map(IotDeviceDO::getId).collect(Collectors.toList())); | 169 | deviceList.stream().map(IotDeviceDO::getId).collect(Collectors.toList())); |
| 170 | } | 170 | } |