Commit 8ced4a0a2cee3dbee171ecdcfb7766ede875f2d5
1 parent
7bcbe9a2
【功能新增】IoT:增加 ota 的表结构设计(100%)
Showing
5 changed files
with
133 additions
and
16 deletions
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaUpgradeRecordStatusEnum.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.iot.enums.ota; | |
| 2 | + | |
| 3 | + | |
| 4 | +import cn.iocoder.yudao.framework.common.core.ArrayValuable; | |
| 5 | +import lombok.Getter; | |
| 6 | +import lombok.RequiredArgsConstructor; | |
| 7 | + | |
| 8 | +import java.util.Arrays; | |
| 9 | + | |
| 10 | +/** | |
| 11 | + * IoT OTA 升级记录的范围枚举 | |
| 12 | + * | |
| 13 | + * @author haohao | |
| 14 | + */ | |
| 15 | +@RequiredArgsConstructor | |
| 16 | +@Getter | |
| 17 | +public enum IotOtaUpgradeRecordStatusEnum implements ArrayValuable<Integer> { | |
| 18 | + | |
| 19 | + PENDING(0), // 待推送 | |
| 20 | + PUSHED(10), // 已推送 | |
| 21 | + UPGRADING(20), // 升级中 | |
| 22 | + SUCCESS(30), // 升级成功 | |
| 23 | + FAILURE(40), // 升级失败 | |
| 24 | + CANCELED(50),; // 已取消 | |
| 25 | + | |
| 26 | + public static final Integer[] ARRAYS = Arrays.stream(values()).map(IotOtaUpgradeRecordStatusEnum::getStatus).toArray(Integer[]::new); | |
| 27 | + | |
| 28 | + /** | |
| 29 | + * 范围 | |
| 30 | + */ | |
| 31 | + private final Integer status; | |
| 32 | + | |
| 33 | + @Override | |
| 34 | + public Integer[] array() { | |
| 35 | + return ARRAYS; | |
| 36 | + } | |
| 37 | + | |
| 38 | +} | |
| 0 | 39 | \ No newline at end of file | ... | ... |
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaUpgradeTaskScopeEnum.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.iot.enums.ota; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.core.ArrayValuable; | |
| 4 | +import lombok.Getter; | |
| 5 | +import lombok.RequiredArgsConstructor; | |
| 6 | + | |
| 7 | +import java.util.Arrays; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * IoT OTA 升级任务的范围枚举 | |
| 11 | + * | |
| 12 | + * @author haohao | |
| 13 | + */ | |
| 14 | +@RequiredArgsConstructor | |
| 15 | +@Getter | |
| 16 | +public enum IotOtaUpgradeTaskScopeEnum implements ArrayValuable<Integer> { | |
| 17 | + | |
| 18 | + ALL(1), // 全部设备:只包括当前产品下的设备,不包括未来创建的设备 | |
| 19 | + SELECT(2); // 指定设备 | |
| 20 | + | |
| 21 | + public static final Integer[] ARRAYS = Arrays.stream(values()).map(IotOtaUpgradeTaskScopeEnum::getScope).toArray(Integer[]::new); | |
| 22 | + | |
| 23 | + /** | |
| 24 | + * 范围 | |
| 25 | + */ | |
| 26 | + private final Integer scope; | |
| 27 | + | |
| 28 | + @Override | |
| 29 | + public Integer[] array() { | |
| 30 | + return ARRAYS; | |
| 31 | + } | |
| 32 | + | |
| 33 | +} | ... | ... |
yudao-module-iot/yudao-module-iot-api/src/main/java/cn/iocoder/yudao/module/iot/enums/ota/IotOtaUpgradeTaskStatusEnum.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.iot.enums.ota; | |
| 2 | + | |
| 3 | +import cn.iocoder.yudao.framework.common.core.ArrayValuable; | |
| 4 | +import lombok.Getter; | |
| 5 | +import lombok.RequiredArgsConstructor; | |
| 6 | + | |
| 7 | +import java.util.Arrays; | |
| 8 | + | |
| 9 | +/** | |
| 10 | + * IoT OTA 升级任务的范围枚举 | |
| 11 | + * | |
| 12 | + * @author haohao | |
| 13 | + */ | |
| 14 | +@RequiredArgsConstructor | |
| 15 | +@Getter | |
| 16 | +public enum IotOtaUpgradeTaskStatusEnum implements ArrayValuable<Integer> { | |
| 17 | + | |
| 18 | + IN_PROGRESS(10), // 进行中:升级中 | |
| 19 | + COMPLETED(20), // 已完成:已结束,全部升级完成 | |
| 20 | + INCOMPLETE(21), // 未完成:已结束,部分升级完成 | |
| 21 | + CANCELED(30),; // 已取消:一般是主动取消任务 | |
| 22 | + | |
| 23 | + public static final Integer[] ARRAYS = Arrays.stream(values()).map(IotOtaUpgradeTaskStatusEnum::getStatus).toArray(Integer[]::new); | |
| 24 | + | |
| 25 | + /** | |
| 26 | + * 范围 | |
| 27 | + */ | |
| 28 | + private final Integer status; | |
| 29 | + | |
| 30 | + @Override | |
| 31 | + public Integer[] array() { | |
| 32 | + return ARRAYS; | |
| 33 | + } | |
| 34 | + | |
| 35 | +} | |
| 0 | 36 | \ No newline at end of file | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/ota/IotOtaUpgradeRecordDO.java
| ... | ... | @@ -40,17 +40,6 @@ public class IotOtaUpgradeRecordDO extends BaseDO { |
| 40 | 40 | private Long taskId; |
| 41 | 41 | |
| 42 | 42 | /** |
| 43 | - * 升级状态 | |
| 44 | - * | |
| 45 | - * TODO | |
| 46 | - */ | |
| 47 | - private Integer status; | |
| 48 | - /** | |
| 49 | - * 升级进度,百分比 | |
| 50 | - */ | |
| 51 | - private Integer progress; | |
| 52 | - | |
| 53 | - /** | |
| 54 | 43 | * 产品标识 |
| 55 | 44 | * |
| 56 | 45 | * 关联 {@link cn.iocoder.yudao.module.iot.dal.dataobject.product.IotProductDO#getId()} |
| ... | ... | @@ -70,6 +59,23 @@ public class IotOtaUpgradeRecordDO extends BaseDO { |
| 70 | 59 | private String deviceId; |
| 71 | 60 | |
| 72 | 61 | /** |
| 62 | + * 升级状态 | |
| 63 | + * | |
| 64 | + * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeRecordStatusEnum} | |
| 65 | + */ | |
| 66 | + private Integer status; | |
| 67 | + /** | |
| 68 | + * 升级进度,百分比 | |
| 69 | + */ | |
| 70 | + private Integer progress; | |
| 71 | + /** | |
| 72 | + * 升级进度描述 | |
| 73 | + * | |
| 74 | + * 注意,只记录设备最后一次的升级进度描述 | |
| 75 | + * 如果想看历史记录,可以查看 {@link cn.iocoder.yudao.module.iot.dal.dataobject.device.IotDeviceLogDO} 设备日志 | |
| 76 | + */ | |
| 77 | + private String description; | |
| 78 | + /** | |
| 73 | 79 | * 升级开始时间 |
| 74 | 80 | */ |
| 75 | 81 | private LocalDateTime startTime; |
| ... | ... | @@ -78,6 +84,4 @@ public class IotOtaUpgradeRecordDO extends BaseDO { |
| 78 | 84 | */ |
| 79 | 85 | private LocalDateTime endTime; |
| 80 | 86 | |
| 81 | - | |
| 82 | - | |
| 83 | 87 | } |
| 84 | 88 | \ No newline at end of file | ... | ... |
yudao-module-iot/yudao-module-iot-biz/src/main/java/cn/iocoder/yudao/module/iot/dal/dataobject/ota/IotOtaUpgradeTaskDO.java
| ... | ... | @@ -47,11 +47,18 @@ public class IotOtaUpgradeTaskDO extends BaseDO { |
| 47 | 47 | private Long firmwareId; |
| 48 | 48 | |
| 49 | 49 | /** |
| 50 | - * 任务类型 | |
| 50 | + * 任务状态 | |
| 51 | 51 | * |
| 52 | - * TODO @芋艿:1-全部、2-指定设备 | |
| 52 | + * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskStatusEnum} | |
| 53 | 53 | */ |
| 54 | - private Integer type; | |
| 54 | + private Integer status; | |
| 55 | + | |
| 56 | + /** | |
| 57 | + * 升级范围 | |
| 58 | + * | |
| 59 | + * 关联 {@link cn.iocoder.yudao.module.iot.enums.ota.IotOtaUpgradeTaskScopeEnum} | |
| 60 | + */ | |
| 61 | + private Integer scope; | |
| 55 | 62 | /** |
| 56 | 63 | * 选中的设备名字数组 |
| 57 | 64 | * | ... | ... |