fix:支持删除空文件
This commit is contained in:
@@ -46,6 +46,10 @@ public class FileDeleteServiceImpl implements IFileDeleteService {
|
||||
@Override
|
||||
public void deleteAllFileReleateInfo(List<Long> fileIds) {
|
||||
fileMetadataInfoService.lambdaQuery().in(FileMetadataInfo::getId, fileIds).list().forEach(deleteFileMetadataInfo -> {
|
||||
// 文件大小为 0 表示空文件,MinIO 中不存在该文件,直接跳过删除
|
||||
if (deleteFileMetadataInfo.getFileSize() != null && deleteFileMetadataInfo.getFileSize().equals(0L)) {
|
||||
return;
|
||||
}
|
||||
minioService.deleteFile(deleteFileMetadataInfo.getObjectKey(), deleteFileMetadataInfo.getBucketName());
|
||||
});
|
||||
|
||||
|
||||
@@ -253,7 +253,7 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
fileMetadataInfo.setDeletedAt(now);
|
||||
fileMetadataInfo.setRecycleExpireAt(expireAt);
|
||||
fileMetadataInfo.setUpdateTime(now);
|
||||
|
||||
fileMetadataInfoService.updateById(fileMetadataInfo);
|
||||
log.info("文件已移入回收站: id={}, oldKey={}, newKey={}", fileMetadataInfo.getId(), oldKey, newKey);
|
||||
} catch (Exception e) {
|
||||
log.error("移入回收站失败", e);
|
||||
@@ -808,6 +808,12 @@ public class MinioFileIDataFileServiceImpl implements IDataFileService {
|
||||
return SdmResponse.failed("文件不存在");
|
||||
}
|
||||
|
||||
// 文件大小为 0 表示空文件,MinIO 中不存在该文件,直接跳过删除
|
||||
if (deleteFileMetadataInfo.getFileSize() != null && deleteFileMetadataInfo.getFileSize().equals(0L)) {
|
||||
fileDeleteService.deleteAllFileReleateInfo(List.of(deleteFileMetadataInfo.getId()));
|
||||
return SdmResponse.success("空文件彻底删除成功");
|
||||
}
|
||||
|
||||
// 记录删除日志
|
||||
saveTaskFileLog("删除了文件" + deleteFileMetadataInfo.getOriginalName(), OperateTypeConstants.DELETE, deleteFileMetadataInfo.getTaskId(), deleteFileMetadataInfo.getId());
|
||||
|
||||
|
||||
Reference in New Issue
Block a user