From 9e300f3329459d54d1ad2511f64cdc3a60fd5a6c Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期五, 28 八月 2026 20:39:54 +0800
Subject: [PATCH] fix: 入库记录修改为批号倒序

---
 src/main/java/com/ruoyi/basic/utils/FileUtil.java |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/main/java/com/ruoyi/basic/utils/FileUtil.java b/src/main/java/com/ruoyi/basic/utils/FileUtil.java
index c57468a..0294223 100644
--- a/src/main/java/com/ruoyi/basic/utils/FileUtil.java
+++ b/src/main/java/com/ruoyi/basic/utils/FileUtil.java
@@ -27,6 +27,7 @@
 import javax.crypto.SecretKey;
 import java.io.File;
 import java.math.BigDecimal;
+import java.net.URLEncoder;
 import java.nio.charset.StandardCharsets;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
@@ -98,8 +99,11 @@
         }
 
         // 鍒犻櫎鏃ч檮浠朵俊鎭�
-        if (application == null) {
+        if (application == null || application.trim().isEmpty()) {
             for (StorageBlobDTO storageBlobDTO : storageBlobDTOS) {
+                if (storageBlobDTO.getApplication() == null || storageBlobDTO.getApplication().trim().isEmpty()) {
+                    throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
+                }
                 deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum.getByType(storageBlobDTO.getApplication()), recordType, recordId);
             }
         } else {
@@ -344,6 +348,8 @@
             StorageBlobVO storageBlobVO = new StorageBlobVO();
             BeanUtils.copyProperties(storageBlob, storageBlobVO);
             storageBlobVO.setPreviewURL(buildSignedPreviewUrl(storageBlobVO));
+            storageBlobVO.setUrl(buildSignedPreviewUrl(storageBlobVO));
+            storageBlobVO.setName(storageBlob.getOriginalFilename());
             storageBlobVO.setDownloadURL(buildSignedDownloadUrl(storageBlobVO));
             storageBlobVO.setStorageAttachmentId(blobIdToAttachmentIdMap.get(storageBlob.getId()));
             storageBlobDTOS.add(storageBlobVO);
@@ -392,6 +398,8 @@
             StorageBlobVO storageBlobVO = new StorageBlobVO();
             BeanUtils.copyProperties(storageBlob, storageBlobVO);
             storageBlobVO.setPreviewURL(buildSignedPreviewUrl(storageBlobVO));
+            storageBlobVO.setUrl(buildSignedPreviewUrl(storageBlobVO));
+            storageBlobVO.setName(storageBlob.getOriginalFilename());
             storageBlobVO.setDownloadURL(buildSignedDownloadUrl(storageBlobVO));
             storageBlobVO.setStorageAttachmentId(blobIdToAttachmentIdMap.get(storageBlob.getId()));
             storageBlobDTOS.add(storageBlobVO);
@@ -417,6 +425,8 @@
             StorageBlobVO storageBlobVO = new StorageBlobVO();
             BeanUtils.copyProperties(storageBlob, storageBlobVO);
             storageBlobVO.setPreviewURL(buildSignedPreviewUrl(storageBlobVO));
+            storageBlobVO.setUrl(buildSignedPreviewUrl(storageBlobVO));
+            storageBlobVO.setName(storageBlob.getOriginalFilename());
             storageBlobVO.setDownloadURL(buildSignedDownloadUrl(storageBlobVO));
             storageBlobDTOS.add(storageBlobVO);
         }
@@ -735,7 +745,7 @@
         if (!normalizedActionPath.endsWith("/")) {
             normalizedActionPath = normalizedActionPath + "/";
         }
-        String baseUrl = domain + prefix + normalizedActionPath + storageBlob.getUidFilename();
+        String baseUrl = domain + prefix + normalizedActionPath + URLEncoder.encode(storageBlob.getUidFilename(), StandardCharsets.UTF_8).replace("+", "%20");
 
         // -1 琛ㄧず姘镐箙鏈夋晥锛屼笉鐢熸垚 token锛屾敼涓� publicKey 缁勫悎鏍¢獙
         if (expired != null && BigDecimal.valueOf(-1L).compareTo(expired) == 0) {

--
Gitblit v1.9.3