#调整在线升级

This commit is contained in:
2026-09-24 09:58:49 +08:00
parent c69e89fa7d
commit eb1884b972
3 changed files with 31 additions and 6 deletions

View File

@@ -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());

View File

@@ -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);
}