From eb1884b972464f72353e0c0892683e4ec8daed61 Mon Sep 17 00:00:00 2001 From: rqian <1206436827@qq.com> Date: Thu, 24 Sep 2026 09:58:49 +0800 Subject: [PATCH] =?UTF-8?q?#=E8=B0=83=E6=95=B4=E5=9C=A8=E7=BA=BF=E5=8D=87?= =?UTF-8?q?=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/maibu/core/ota/DeviceOtaFirmware.java | 4 +++ .../maibu/controller/DeviceOtaController.java | 2 +- .../maibu/service/impl/DeviceOtaService.java | 31 ++++++++++++++++--- 3 files changed, 31 insertions(+), 6 deletions(-) diff --git a/maibu-common/src/main/java/com/maibu/core/ota/DeviceOtaFirmware.java b/maibu-common/src/main/java/com/maibu/core/ota/DeviceOtaFirmware.java index 67759f0..a223179 100644 --- a/maibu-common/src/main/java/com/maibu/core/ota/DeviceOtaFirmware.java +++ b/maibu-common/src/main/java/com/maibu/core/ota/DeviceOtaFirmware.java @@ -29,4 +29,8 @@ public class DeviceOtaFirmware extends BaseDO { private String deviceType; + private String fileSize; + + private String description; + } diff --git a/maibu-service/maibu-iot-service/src/main/java/com/maibu/controller/DeviceOtaController.java b/maibu-service/maibu-iot-service/src/main/java/com/maibu/controller/DeviceOtaController.java index 1ee0c38..2f0a232 100644 --- a/maibu-service/maibu-iot-service/src/main/java/com/maibu/controller/DeviceOtaController.java +++ b/maibu-service/maibu-iot-service/src/main/java/com/maibu/controller/DeviceOtaController.java @@ -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()); diff --git a/maibu-service/maibu-iot-service/src/main/java/com/maibu/service/impl/DeviceOtaService.java b/maibu-service/maibu-iot-service/src/main/java/com/maibu/service/impl/DeviceOtaService.java index c55f992..03c0fb4 100644 --- a/maibu-service/maibu-iot-service/src/main/java/com/maibu/service/impl/DeviceOtaService.java +++ b/maibu-service/maibu-iot-service/src/main/java/com/maibu/service/impl/DeviceOtaService.java @@ -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 listFirmware() { LambdaQueryWrapper 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 ids) { if (CollectionUtils.isEmpty(ids)) { return 0; @@ -156,8 +178,7 @@ public class DeviceOtaService { LambdaQueryWrapper wrapper = new LambdaQueryWrapper<>(); wrapper.apply( "JSON_CONTAINS(device_models, {0})", - "\"" + deviceId + "\"" - ); + "\"" + deviceId + "\""); return deviceOtaOperateRecordMapper.selectList(wrapper); }