diff --git a/minio-plus-core/src/main/java/org/liuxp/minioplus/core/service/impl/StorageServiceImpl.java b/minio-plus-core/src/main/java/org/liuxp/minioplus/core/service/impl/StorageServiceImpl.java index d4c8cfd..56d22bf 100644 --- a/minio-plus-core/src/main/java/org/liuxp/minioplus/core/service/impl/StorageServiceImpl.java +++ b/minio-plus-core/src/main/java/org/liuxp/minioplus/core/service/impl/StorageServiceImpl.java @@ -168,22 +168,13 @@ public class StorageServiceImpl implements StorageService { // 查询MinIO中是否存在相同MD5值的文件 FileMetadataInfoDTO fileMetadataInfo = new FileMetadataInfoDTO(); fileMetadataInfo.setFileMd5(saveDTO.getFileMd5()); - List alreadyFileList = fileMetadataRepository.list(fileMetadataInfo); + fileMetadataInfo.setIsFinished(true); + FileMetadataInfoVo alreadyFile = fileMetadataRepository.one(fileMetadataInfo); - boolean sameMd5 = false; - - if (CollUtil.isNotEmpty(alreadyFileList)) { - for (FileMetadataInfoVo fileMetadataInfoVo : alreadyFileList) { - if (Boolean.TRUE.equals(fileMetadataInfoVo.getIsFinished())) { - saveDTO.setStorageBucket(fileMetadataInfoVo.getStorageBucket()); - saveDTO.setStoragePath(fileMetadataInfoVo.getStoragePath()); - sameMd5 = true; - break; - } - } - } - - if (!sameMd5) { + if (null != alreadyFile) { + saveDTO.setStorageBucket(alreadyFile.getStorageBucket()); + saveDTO.setStoragePath(alreadyFile.getStoragePath()); + }else{ // 新文件时,执行写入逻辑 storageEngineService.createFile(saveDTO, fileBytes); } @@ -215,22 +206,14 @@ public class StorageServiceImpl implements StorageService { // 查询MinIO中是否存在相同MD5值的文件 FileMetadataInfoDTO fileMetadataInfo = new FileMetadataInfoDTO(); fileMetadataInfo.setFileMd5(saveDTO.getFileMd5()); - List alreadyFileList = fileMetadataRepository.list(fileMetadataInfo); + fileMetadataInfo.setIsFinished(true); + FileMetadataInfoVo alreadyFile = fileMetadataRepository.one(fileMetadataInfo); - boolean sameMd5 = false; - if (CollUtil.isNotEmpty(alreadyFileList)) { - for (FileMetadataInfoVo fileMetadataInfoVo : alreadyFileList) { - if (Boolean.TRUE.equals(fileMetadataInfoVo.getIsFinished())) { - saveDTO.setStorageBucket(fileMetadataInfoVo.getStorageBucket()); - saveDTO.setStoragePath(fileMetadataInfoVo.getStoragePath()); - sameMd5 = true; - break; - } - } - } - - if (!sameMd5) { + if (null != alreadyFile) { + saveDTO.setStorageBucket(alreadyFile.getStorageBucket()); + saveDTO.setStoragePath(alreadyFile.getStoragePath()); + }else{ // 新文件时,执行写入逻辑 storageEngineService.createFile(saveDTO, inputStream); }