From 876068589d213fa585cf593fa19b39f9592e47d5 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 24 四月 2026 11:17:56 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/dev_New_pro' into dev_New_pro
---
src/main/java/com/ruoyi/basic/utils/FileUtil.java | 192 +++++++++++++++++++++++------------------------
1 files changed, 93 insertions(+), 99 deletions(-)
diff --git a/src/main/java/com/ruoyi/basic/utils/FileUtil.java b/src/main/java/com/ruoyi/basic/utils/FileUtil.java
index 1e629cf..b97f1d1 100644
--- a/src/main/java/com/ruoyi/basic/utils/FileUtil.java
+++ b/src/main/java/com/ruoyi/basic/utils/FileUtil.java
@@ -2,12 +2,15 @@
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
-import com.ruoyi.basic.constant.ApplicationType;
-import com.ruoyi.basic.constant.RecordType;
-import com.ruoyi.basic.dto.StorageAttachmentDTO;
+import com.ruoyi.basic.dto.StorageAttachmentVO;
+import com.ruoyi.basic.dto.StorageBlobDTO;
import com.ruoyi.basic.dto.StorageBlobVO;
+import com.ruoyi.basic.enums.ApplicationTypeEnum;
+import com.ruoyi.basic.enums.RecordTypeEnum;
import com.ruoyi.basic.mapper.StorageAttachmentMapper;
+import com.ruoyi.basic.mapper.StorageBlobMapper;
import com.ruoyi.basic.pojo.StorageAttachment;
+import com.ruoyi.basic.pojo.StorageBlob;
import com.ruoyi.common.config.FileProperties;
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.security.Keys;
@@ -34,6 +37,7 @@
private final FileProperties properties;
private final StorageAttachmentMapper storageAttachmentMapper;
private final StringRedisTemplate stringRedisTemplate;
+ private final StorageBlobMapper storageBlobMapper;
private static final String TOKEN_USAGE_KEY_PREFIX = "file:token:usage:";
private static final DateTimeFormatter YEAR_PATH_FORMATTER = DateTimeFormatter.ofPattern("yyyy");
@@ -45,16 +49,16 @@
* @param application 鏂囦欢鐢ㄩ��
* @param recordType 鍏宠仈璁板綍绫诲瀷
* @param recordId 鍏宠仈璁板綍id
- * @param storageBlobVOS 鏂囦欢淇℃伅
+ * @param storageBlobDTOS 鏂囦欢淇℃伅
*/
- public void saveStorageAttachment(ApplicationType application, RecordType recordType, Long recordId, List<StorageBlobVO> storageBlobVOS) {
- if (CollectionUtils.isEmpty(storageBlobVOS)) {
+ public void saveStorageAttachment(ApplicationTypeEnum application, RecordTypeEnum recordType, Long recordId, List<StorageBlobDTO> storageBlobDTOS) {
+ if (CollectionUtils.isEmpty(storageBlobDTOS)) {
throw new RuntimeException("鏂囦欢淇℃伅涓嶈兘涓虹┖");
}
- if (!application.isValid()) {
+ if (application == null) {
throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
}
- if (!recordType.isValid()) {
+ if (recordType == null) {
throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
}
if (recordId == null || recordId <= 0) {
@@ -63,16 +67,15 @@
// 鍒犻櫎鏃ч檮浠朵俊鎭�
deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordId(application, recordType, recordId);
List<StorageAttachment> storageAttachments = new ArrayList<>();
- for (StorageBlobVO storageBlobVO : storageBlobVOS) {
+ for (StorageBlobDTO storageBlobDTO : storageBlobDTOS) {
StorageAttachment storageAttachment = new StorageAttachment();
storageAttachment.setApplication(application.getType());
storageAttachment.setRecordType(recordType.getType());
storageAttachment.setRecordId(recordId);
- storageAttachment.setStorageBlobId(storageBlobVO.getId());
+ storageAttachment.setStorageBlobId(storageBlobDTO.getId());
storageAttachment.setDeleted(0L);
}
- // todo fileChange
-// storageAttachmentMapper.insert(storageAttachments);
+ storageAttachmentMapper.insert(storageAttachments);
}
/**
@@ -81,8 +84,7 @@
* @param storageBlobIds 鏂囦欢id
*/
public void deleteStorageBlobs(List<Long> storageBlobIds) {
- // todo fileChange
-// storageBlobMapper.deleteByIds(storageBlobIds);
+ storageBlobMapper.deleteByIds(storageBlobIds);
}
/**
@@ -91,10 +93,9 @@
* @param storageAttachmentIds 鏂囦欢id
*/
public void deleteStorageBlobsByStorageAttachmentIds(List<Long> storageAttachmentIds) {
- // todo fileChange
-// List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectByIds(storageAttachmentIds);
-// List<Long> storageBlobIds = storageAttachments.stream().map(StorageAttachment::getStorageBlobId).collect(Collectors.toList());
-// deleteStorageBlobs(storageBlobIds);
+ List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectByIds(storageAttachmentIds);
+ List<Long> storageBlobIds = storageAttachments.stream().map(StorageAttachment::getStorageBlobId).collect(Collectors.toList());
+ deleteStorageBlobs(storageBlobIds);
}
/**
@@ -104,15 +105,15 @@
* @param recordType 鍏宠仈璁板綍绫诲瀷
* @param recordId 鍏宠仈璁板綍id
*/
- public void deleteStorageBlobsByApplicationAndRecordTypeAndRecordId(ApplicationType application, RecordType recordType, Long recordId) {
- if (!application.isValid()) {
- throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
- }
- if (!recordType.isValid()) {
- throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
- }
+ public void deleteStorageBlobsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum application, RecordTypeEnum recordType, Long recordId) {
if (recordId == null || recordId <= 0) {
throw new RuntimeException("鍏宠仈璁板綍id涓嶈兘涓虹┖");
+ }
+ if (application == null) {
+ throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
+ }
+ if (recordType == null) {
+ throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
}
List<StorageAttachment> storageAttachments = storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
.eq(StorageAttachment::getRecordType, recordType.getType())
@@ -132,19 +133,18 @@
*/
public void deleteStorageAttachmentsByStorageAttachmentIds(List<Long> storageAttachmentIds) {
deleteStorageBlobsByStorageAttachmentIds(storageAttachmentIds);
- // todo fileChange
-// storageAttachmentMapper.deleteByIds(storageAttachmentIds);
+ storageAttachmentMapper.deleteByIds(storageAttachmentIds);
}
- public void deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordId(ApplicationType application, RecordType recordType, Long recordId) {
- if (!application.isValid()) {
- throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
- }
- if (!recordType.isValid()) {
- throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
- }
+ public void deleteStorageAttachmentsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum application, RecordTypeEnum recordType, Long recordId) {
if (recordId == null || recordId <= 0) {
throw new RuntimeException("鍏宠仈璁板綍id涓嶈兘涓虹┖");
+ }
+ if (application == null) {
+ throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
+ }
+ if (recordType == null) {
+ throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
}
deleteStorageBlobsByApplicationAndRecordTypeAndRecordId(application, recordType, recordId);
storageAttachmentMapper.delete(new LambdaQueryWrapper<StorageAttachment>()
@@ -162,9 +162,7 @@
if (CollectionUtils.isEmpty(storageAttachmentIds)) {
throw new RuntimeException("鏂囦欢id涓嶈兘涓虹┖");
}
- // todo fileChange
-// return storageAttachmentMapper.selectByIds(storageAttachmentIds);
- return new ArrayList<>();
+ return storageAttachmentMapper.selectByIds(storageAttachmentIds);
}
/**
@@ -174,15 +172,14 @@
* @param recordType 鍏宠仈璁板綍绫诲瀷
* @param recordId 鍏宠仈璁板綍id
*/
- public List<StorageAttachment> getStorageAttachmentsByApplicationAndRecordTypeAndRecordId(ApplicationType application, RecordType recordType, Long recordId) {
- if (!application.isValid()) {
- throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
- }
- if (!recordType.isValid()) {
- throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
- }
+ public List<StorageAttachment> getStorageAttachmentsByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum application, RecordTypeEnum recordType, Long recordId) {
if (recordId == null || recordId <= 0) {
throw new RuntimeException("鍏宠仈璁板綍id涓嶈兘涓虹┖");
+ } if (application == null) {
+ throw new RuntimeException("鏂囦欢鐢ㄩ�斾笉鑳戒负绌�");
+ }
+ if (recordType == null) {
+ throw new RuntimeException("鍏宠仈璁板綍绫诲瀷涓嶈兘涓虹┖");
}
return storageAttachmentMapper.selectList(new LambdaQueryWrapper<StorageAttachment>()
.eq(StorageAttachment::getRecordType, recordType.getType())
@@ -201,17 +198,16 @@
return null;
}
List<Long> storageBlobIds = storageAttachments.stream().map(StorageAttachment::getStorageBlobId).collect(Collectors.toList());
- // todo fileChange
-// List<StorageBlob> storageBlobs = storageBlobMapper.selectByIds(storageBlobIds);
-// List<StorageBlobDTO> storageBlobDTOS = new ArrayList<>();
-// for (StorageBlob storageBlob : storageBlobs) {
-// StorageBlobDTO storageBlobDTO = new StorageBlobDTO();
-// BeanUtils.copyProperties(storageBlob, storageBlobDTO);
-// storageBlobDTO.setPreviewURL(buildSignedPreviewUrl(storageBlobDTO));
-// storageBlobDTO.setDownloadURL(buildSignedDownloadUrl(storageBlobDTO));
-// storageBlobDTOS.add(storageBlobDTO);
-// }
- return new ArrayList<>();
+ List<StorageBlob> storageBlobs = storageBlobMapper.selectByIds(storageBlobIds);
+ List<StorageBlobVO> storageBlobDTOS = new ArrayList<>();
+ for (StorageBlob storageBlob : storageBlobs) {
+ StorageBlobVO storageBlobVO = new StorageBlobVO();
+ BeanUtils.copyProperties(storageBlob, storageBlobVO);
+ storageBlobVO.setPreviewURL(buildSignedPreviewUrl(storageBlobVO));
+ storageBlobVO.setDownloadURL(buildSignedDownloadUrl(storageBlobVO));
+ storageBlobDTOS.add(storageBlobVO);
+ }
+ return storageBlobDTOS;
}
/**
@@ -226,18 +222,16 @@
return null;
}
List<Long> storageBlobIds = storageAttachments.stream().map(StorageAttachment::getStorageBlobId).collect(Collectors.toList());
- // todo fileChange
-// List<StorageBlob> storageBlobs = storageBlobMapper.selectByIds(storageBlobIds);
-// List<StorageBlobDTO> storageBlobDTOS = new ArrayList<>();
-// for (StorageBlob storageBlob : storageBlobs) {
-// StorageBlobDTO storageBlobDTO = new StorageBlobDTO();
-// BeanUtils.copyProperties(storageBlob, storageBlobDTO);
-// storageBlobDTO.setPreviewURL(buildSignedUrl(storageBlobDTO, "/preview/", expired));
-// storageBlobDTO.setDownloadURL(buildSignedUrl(storageBlobDTO, "/download/", expired));
-// storageBlobDTOS.add(storageBlobDTO);
-// }
-// return storageBlobDTOS;
- return new ArrayList<>();
+ List<StorageBlob> storageBlobs = storageBlobMapper.selectByIds(storageBlobIds);
+ List<StorageBlobVO> storageBlobDTOS = new ArrayList<>();
+ for (StorageBlob storageBlob : storageBlobs) {
+ StorageBlobVO storageBlobVO = new StorageBlobVO();
+ BeanUtils.copyProperties(storageBlob, storageBlobVO);
+ storageBlobVO.setPreviewURL(buildSignedUrl(storageBlobVO, "/preview/", expired));
+ storageBlobVO.setDownloadURL(buildSignedUrl(storageBlobVO, "/download/", expired));
+ storageBlobDTOS.add(storageBlobVO);
+ }
+ return storageBlobDTOS;
}
/**
@@ -245,24 +239,24 @@
*
* @param storageAttachmentIds 鏂囦欢id
*/
- public List<StorageAttachmentDTO> getStorageAttachmentDTOsByStorageAttachmentIds(List<Long> storageAttachmentIds) {
+ public List<StorageAttachmentVO> getStorageAttachmentVOSByStorageAttachmentIds(List<Long> storageAttachmentIds) {
List<StorageAttachment> storageAttachments = getStorageAttachmentsByStorageAttachmentIds(storageAttachmentIds);
if (CollectionUtils.isEmpty(storageAttachments)) {
return new ArrayList<>();
}
- List<StorageAttachmentDTO> storageAttachmentDTOS = new ArrayList<>();
+ List<StorageAttachmentVO> storageAttachmentVOS = new ArrayList<>();
for (StorageAttachment storageAttachment : storageAttachments) {
- StorageAttachmentDTO storageAttachmentDTO = new StorageAttachmentDTO();
- BeanUtils.copyProperties(storageAttachment, storageAttachmentDTO);
+ StorageAttachmentVO storageAttachmentVO = new StorageAttachmentVO();
+ BeanUtils.copyProperties(storageAttachment, storageAttachmentVO);
List<StorageBlobVO> storageBlobVOS = getStorageBlobDTOsByStorageAttachmentIds(Collections.singletonList(storageAttachment.getId()));
if (CollectionUtils.isEmpty(storageBlobVOS)) {
- storageAttachmentDTO.setStorageBlobVOS(new ArrayList<>());
+ storageAttachmentVO.setStorageBlobVOS(new ArrayList<>());
} else {
- storageAttachmentDTO.setStorageBlobVOS(storageBlobVOS);
+ storageAttachmentVO.setStorageBlobVOS(storageBlobVOS);
}
- storageAttachmentDTOS.add(storageAttachmentDTO);
+ storageAttachmentVOS.add(storageAttachmentVO);
}
- return storageAttachmentDTOS;
+ return storageAttachmentVOS;
}
/**
@@ -271,24 +265,24 @@
* @param storageAttachmentIds 鏂囦欢id
* @param expired 杩囨湡鏃堕棿
*/
- public List<StorageAttachmentDTO> getStorageAttachmentDTOsByStorageAttachmentIds(List<Long> storageAttachmentIds, BigDecimal expired) {
+ public List<StorageAttachmentVO> getStorageAttachmentVOSByStorageAttachmentIds(List<Long> storageAttachmentIds, BigDecimal expired) {
List<StorageAttachment> storageAttachments = getStorageAttachmentsByStorageAttachmentIds(storageAttachmentIds);
if (CollectionUtils.isEmpty(storageAttachments)) {
return new ArrayList<>();
}
- List<StorageAttachmentDTO> storageAttachmentDTOS = new ArrayList<>();
+ List<StorageAttachmentVO> storageAttachmentVOS = new ArrayList<>();
for (StorageAttachment storageAttachment : storageAttachments) {
- StorageAttachmentDTO storageAttachmentDTO = new StorageAttachmentDTO();
- BeanUtils.copyProperties(storageAttachment, storageAttachmentDTO);
+ StorageAttachmentVO storageAttachmentVO = new StorageAttachmentVO();
+ BeanUtils.copyProperties(storageAttachment, storageAttachmentVO);
List<StorageBlobVO> storageBlobVOS = getStorageBlobDTOsByStorageAttachmentIds(Collections.singletonList(storageAttachment.getId()), expired);
if (CollectionUtils.isEmpty(storageBlobVOS)) {
- storageAttachmentDTO.setStorageBlobVOS(new ArrayList<>());
+ storageAttachmentVO.setStorageBlobVOS(new ArrayList<>());
} else {
- storageAttachmentDTO.setStorageBlobVOS(storageBlobVOS);
+ storageAttachmentVO.setStorageBlobVOS(storageBlobVOS);
}
- storageAttachmentDTOS.add(storageAttachmentDTO);
+ storageAttachmentVOS.add(storageAttachmentVO);
}
- return storageAttachmentDTOS;
+ return storageAttachmentVOS;
}
/**
@@ -298,24 +292,24 @@
* @param recordType 璁板綍绫诲瀷
* @param recordId 璁板綍id
*/
- public List<StorageAttachmentDTO> getStorageAttachmentDTOsByApplicationAndRecordTypeAndRecordId(ApplicationType application, RecordType recordType, Long recordId) {
+ public List<StorageAttachmentVO> getStorageAttachmentVOSByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum application, RecordTypeEnum recordType, Long recordId) {
List<StorageAttachment> storageAttachments = getStorageAttachmentsByApplicationAndRecordTypeAndRecordId(application, recordType, recordId);
if (CollectionUtils.isEmpty(storageAttachments)) {
return new ArrayList<>();
}
- List<StorageAttachmentDTO> storageAttachmentDTOS = new ArrayList<>();
+ List<StorageAttachmentVO> storageAttachmentVOS = new ArrayList<>();
for (StorageAttachment storageAttachment : storageAttachments) {
- StorageAttachmentDTO storageAttachmentDTO = new StorageAttachmentDTO();
- BeanUtils.copyProperties(storageAttachment, storageAttachmentDTO);
+ StorageAttachmentVO storageAttachmentVO = new StorageAttachmentVO();
+ BeanUtils.copyProperties(storageAttachment, storageAttachmentVO);
List<StorageBlobVO> storageBlobVOS = getStorageBlobDTOsByStorageAttachmentIds(Collections.singletonList(storageAttachment.getId()));
if (CollectionUtils.isEmpty(storageBlobVOS)) {
- storageAttachmentDTO.setStorageBlobVOS(new ArrayList<>());
+ storageAttachmentVO.setStorageBlobVOS(new ArrayList<>());
} else {
- storageAttachmentDTO.setStorageBlobVOS(storageBlobVOS);
+ storageAttachmentVO.setStorageBlobVOS(storageBlobVOS);
}
- storageAttachmentDTOS.add(storageAttachmentDTO);
+ storageAttachmentVOS.add(storageAttachmentVO);
}
- return storageAttachmentDTOS;
+ return storageAttachmentVOS;
}
/**
@@ -326,24 +320,24 @@
* @param recordId 璁板綍id
* @param expired 杩囨湡鏃堕棿
*/
- public List<StorageAttachmentDTO> getStorageAttachmentDTOsByApplicationAndRecordTypeAndRecordId(ApplicationType application, RecordType recordType, Long recordId, BigDecimal expired) {
+ public List<StorageAttachmentVO> getStorageAttachmentVOSByApplicationAndRecordTypeAndRecordId(ApplicationTypeEnum application, RecordTypeEnum recordType, Long recordId, BigDecimal expired) {
List<StorageAttachment> storageAttachments = getStorageAttachmentsByApplicationAndRecordTypeAndRecordId(application, recordType, recordId);
if (CollectionUtils.isEmpty(storageAttachments)) {
return new ArrayList<>();
}
- List<StorageAttachmentDTO> storageAttachmentDTOS = new ArrayList<>();
+ List<StorageAttachmentVO> storageAttachmentVOS = new ArrayList<>();
for (StorageAttachment storageAttachment : storageAttachments) {
- StorageAttachmentDTO storageAttachmentDTO = new StorageAttachmentDTO();
- BeanUtils.copyProperties(storageAttachment, storageAttachmentDTO);
+ StorageAttachmentVO storageAttachmentVO = new StorageAttachmentVO();
+ BeanUtils.copyProperties(storageAttachment, storageAttachmentVO);
List<StorageBlobVO> storageBlobVOS = getStorageBlobDTOsByStorageAttachmentIds(Collections.singletonList(storageAttachment.getId()), expired);
if (CollectionUtils.isEmpty(storageBlobVOS)) {
- storageAttachmentDTO.setStorageBlobVOS(new ArrayList<>());
+ storageAttachmentVO.setStorageBlobVOS(new ArrayList<>());
} else {
- storageAttachmentDTO.setStorageBlobVOS(storageBlobVOS);
+ storageAttachmentVO.setStorageBlobVOS(storageBlobVOS);
}
- storageAttachmentDTOS.add(storageAttachmentDTO);
+ storageAttachmentVOS.add(storageAttachmentVO);
}
- return storageAttachmentDTOS;
+ return storageAttachmentVOS;
}
/**
--
Gitblit v1.9.3