feat(mqtt): 添加设备程序文件上传和升级功能
- 在FileDto中新增压缩方式、文件大小、文件个数等文件传输相关字段 - 在MqttMessageHandler中添加4664消息类型处理设备程序文件单帧上送 - 实现文件校验码验证和程序升级请求逻辑 - 添加UpgradeDevDto用于程序升级相关的数据传输 - 在CsDevModelServiceImpl异常处理中清理上传状态缓存 - 添加程序升级(type 32)消息类型定义 - 集成csEdDataFeignClient进行设备数据查询 - 实现升级结果确认和设备端升级流程控制
This commit is contained in:
@@ -45,11 +45,13 @@ public enum TypeEnum {
|
||||
TYPE_29("9217","设备心跳请求"),
|
||||
TYPE_30("4865","设备数据主动上送"),
|
||||
TYPE_31("8503","设备控制命令"),
|
||||
TYPE_32("8504","程序升级"),
|
||||
READ_FILE_DIR("1101", "读取文件目录"),
|
||||
FILE_DOWNLOAD("1102", "文件下载"),
|
||||
FIXED_VALUE("1103", "定值读取/写入"),
|
||||
INNER_FIXED_VALUE("1104", "内部定值读取/写入"),
|
||||
|
||||
|
||||
WORKING_LOG("1111","设备运行日志"),
|
||||
DEVICE_VERSION("1112","设备版本信息"),
|
||||
DEVICE_REBOOT("1114","设备重启"),
|
||||
|
||||
@@ -0,0 +1,48 @@
|
||||
package com.njcn.access.pojo.dto;
|
||||
|
||||
import com.alibaba.nacos.shaded.com.google.gson.annotations.SerializedName;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author xy
|
||||
*/
|
||||
@Data
|
||||
public class UpgradeDevDto {
|
||||
|
||||
@SerializedName("CmpAlg")
|
||||
@ApiModelProperty("压缩方式(0-无,1-zip,2-tar)")
|
||||
private Integer cmpAlg;
|
||||
|
||||
@SerializedName("RawSize")
|
||||
@ApiModelProperty("压缩前全部文件总大小(单位字节)")
|
||||
private Integer rawSize;
|
||||
|
||||
@SerializedName("FileCnt")
|
||||
@ApiModelProperty("压缩前全部文件个数")
|
||||
private Integer fileCnt;
|
||||
|
||||
@SerializedName("Name")
|
||||
@ApiModelProperty("文件名称,全路径")
|
||||
private String name;
|
||||
|
||||
@SerializedName("FileSize")
|
||||
@ApiModelProperty("文件总大小(单位字节)")
|
||||
private Integer fileSize;
|
||||
|
||||
@SerializedName("Offset")
|
||||
@ApiModelProperty("当前上送数据包在文件中偏移位置")
|
||||
private Integer offset;
|
||||
|
||||
@SerializedName("Len")
|
||||
@ApiModelProperty("当前上送数据包长度")
|
||||
private Integer len;
|
||||
|
||||
@SerializedName("Data")
|
||||
@ApiModelProperty("文件包数据")
|
||||
private String data;
|
||||
|
||||
@SerializedName("Chk")
|
||||
@ApiModelProperty("确认升级(0-取消升级,1-确认升级)")
|
||||
private Integer chk;
|
||||
}
|
||||
@@ -69,6 +69,30 @@ public class FileDto implements Serializable {
|
||||
@SerializedName("Offset")
|
||||
private Integer offset;
|
||||
|
||||
@SerializedName("CmpAlg")
|
||||
@ApiModelProperty("压缩方式(0-无,1-zip,2-tar)")
|
||||
private Integer cmpAlg;
|
||||
|
||||
@SerializedName("RawSize")
|
||||
@ApiModelProperty("压缩前全部文件总大小(单位字节)")
|
||||
private Integer rawSize;
|
||||
|
||||
@SerializedName("FileCnt")
|
||||
@ApiModelProperty("压缩前全部文件个数")
|
||||
private Integer fileCnt;
|
||||
|
||||
@SerializedName("Len")
|
||||
@ApiModelProperty("当前上送数据包长度(大小限定每包不超过50KB)")
|
||||
private Integer len;
|
||||
|
||||
@SerializedName("FileName")
|
||||
@ApiModelProperty("文件名")
|
||||
private String fileName;
|
||||
|
||||
@SerializedName("FileCrc")
|
||||
@ApiModelProperty("文件校验码")
|
||||
private String fileCrc;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
|
||||
Reference in New Issue
Block a user