#调整在线升级
This commit is contained in:
@@ -55,7 +55,7 @@ public class DeviceOtaController extends BaseController {
|
||||
// 这里可以把 URL 存到 workRecord 里
|
||||
firmware.setMinioObjectName(fileName);
|
||||
firmware.setFileUrl(url);
|
||||
boolean b = service.saveFirmware(firmware);
|
||||
boolean b = service.saveFirmware(firmware, file.getSize());
|
||||
DeviceOtaOperateRecord record = new DeviceOtaOperateRecord();
|
||||
record.setFileName(firmware.getVersion());
|
||||
record.setFirmwareId(firmware.getId());
|
||||
|
||||
@@ -41,10 +41,34 @@ public class DeviceOtaService {
|
||||
|
||||
private static final int BATCH_SIZE = 5;
|
||||
|
||||
public boolean saveFirmware(DeviceOtaFirmware firmware) {
|
||||
public boolean saveFirmware(DeviceOtaFirmware firmware, Long fileSize) {
|
||||
|
||||
firmware.setCreateTime(LocalDateTime.now());
|
||||
firmware.setCreateBy(SecurityUtils.getUsername());
|
||||
firmware.setFileSize(formatFileSize(fileSize));
|
||||
|
||||
return deviceOtaFirmwareMapper.saveOrUpdate(firmware);
|
||||
}
|
||||
|
||||
public static String formatFileSize(long size) {
|
||||
if (size < 1024) {
|
||||
return size + " B";
|
||||
}
|
||||
|
||||
double kb = size / 1024.0;
|
||||
if (kb < 1024) {
|
||||
return String.format("%.2f KB", kb);
|
||||
}
|
||||
|
||||
double mb = kb / 1024.0;
|
||||
if (mb < 1024) {
|
||||
return String.format("%.2f MB", mb);
|
||||
}
|
||||
|
||||
double gb = mb / 1024.0;
|
||||
return String.format("%.2f GB", gb);
|
||||
}
|
||||
|
||||
public List<DeviceOtaFirmware> listFirmware() {
|
||||
LambdaQueryWrapper<DeviceOtaFirmware> queryWrapper = new LambdaQueryWrapper<>();
|
||||
queryWrapper.orderByDesc(DeviceOtaFirmware::getCreateTime);
|
||||
@@ -55,7 +79,6 @@ public class DeviceOtaService {
|
||||
return deviceOtaFirmwareMapper.selectById(id);
|
||||
}
|
||||
|
||||
|
||||
public AjaxResult upgrade(DeviceOtaOperateDTO dto) {
|
||||
if (dto.getFirmwareId() == null) {
|
||||
return AjaxResult.error("固件ID不能为空");
|
||||
@@ -115,7 +138,6 @@ public class DeviceOtaService {
|
||||
return AjaxResult.success(msg);
|
||||
}
|
||||
|
||||
|
||||
public int deleteFirmware(List<Long> ids) {
|
||||
if (CollectionUtils.isEmpty(ids)) {
|
||||
return 0;
|
||||
@@ -156,8 +178,7 @@ public class DeviceOtaService {
|
||||
LambdaQueryWrapper<DeviceOtaOperateRecord> wrapper = new LambdaQueryWrapper<>();
|
||||
wrapper.apply(
|
||||
"JSON_CONTAINS(device_models, {0})",
|
||||
"\"" + deviceId + "\""
|
||||
);
|
||||
"\"" + deviceId + "\"");
|
||||
return deviceOtaOperateRecordMapper.selectList(wrapper);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user