From 3bb6667c2f46f888e5ee890e88c5edd985f4a16f Mon Sep 17 00:00:00 2001 From: vladp Date: Wed, 25 Feb 2026 19:29:19 +0700 Subject: [PATCH] dev conver files --- build.gradle | 2 +- ....3.0-all.jar => testlib-fat-0.3.1-all.jar} | Bin 6369314 -> 6369461 bytes .../configuration/file/NoCopyInitializer.java | 4 - .../nocopy/dto/file/FileUploadRequest.java | 3 + .../nocopy/entity/file/FileUploadSession.java | 3 + .../nocopy/handler/FileUploadHandler.java | 1 + .../FileUploadSessionRepository.java | 7 ++ .../file/FileProcessingOrchestrator.java | 55 ------------- .../service/file/FileUploadService.java | 2 +- .../file/impl/AudioLocalSearchImpl.java | 2 +- .../file/impl/DocumentLocalSearchImpl.java | 2 +- .../file/impl/FileUploadServiceImpl.java | 75 +----------------- .../file/impl/ImageLocalSearchImpl.java | 2 +- .../file/impl/ProtectionFileProviderImpl.java | 8 ++ .../java/ru/soune/nocopy/util/FileUtil.java | 6 +- 15 files changed, 33 insertions(+), 139 deletions(-) rename libs/{testlib-fat-0.3.0-all.jar => testlib-fat-0.3.1-all.jar} (95%) delete mode 100644 src/main/java/ru/soune/nocopy/service/file/FileProcessingOrchestrator.java diff --git a/build.gradle b/build.gradle index d8aaad8..0a81b99 100644 --- a/build.gradle +++ b/build.gradle @@ -59,7 +59,7 @@ dependencies { testImplementation 'org.mockito:mockito-core:5.3.1' testRuntimeOnly 'org.junit.platform:junit-platform-launcher' - implementation name: 'testlib-fat-0.3.0-all' + implementation name: 'testlib-fat-0.3.1-all' implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.12.0' diff --git a/libs/testlib-fat-0.3.0-all.jar b/libs/testlib-fat-0.3.1-all.jar similarity index 95% rename from libs/testlib-fat-0.3.0-all.jar rename to libs/testlib-fat-0.3.1-all.jar index 6d617f85fb29feca004a7727d73051965a1a84d1..9b0a93c4a1688bfe7b11c05c8f0d0948c0305e0d 100644 GIT binary patch delta 77897 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 findExpiredSessions( @Param("now") LocalDateTime now, @Param("statuses") Set statuses); + + + @Query("SELECT s FROM FileUploadSession s WHERE s.filePath = :filePath AND s.status = :status AND s.userId = :userId") + FileUploadSession findByFilePathAndStatus( + @Param("filePath") String filePath, + @Param("status") String status, + @Param("userId") Long userId); } diff --git a/src/main/java/ru/soune/nocopy/service/file/FileProcessingOrchestrator.java b/src/main/java/ru/soune/nocopy/service/file/FileProcessingOrchestrator.java deleted file mode 100644 index 7df7418..0000000 --- a/src/main/java/ru/soune/nocopy/service/file/FileProcessingOrchestrator.java +++ /dev/null @@ -1,55 +0,0 @@ -package ru.soune.nocopy.service.file; - -import com.vrt.NoCopyFileService; -import com.vrt.fileprotection.FileProtector; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.context.annotation.Lazy; -import org.springframework.scheduling.annotation.Scheduled; -import org.springframework.stereotype.Service; -import ru.soune.nocopy.entity.file.FileEntity; -import ru.soune.nocopy.entity.file.ProtectionStatus; -import ru.soune.nocopy.repository.FileEntityRepository; -import ru.soune.nocopy.util.FileUtil; - -import java.util.List; - -@Slf4j -@Service -@RequiredArgsConstructor -public class FileProcessingOrchestrator { - - @Lazy - private final NoCopyFileService noCopyFileService; - - private final FileEntityRepository fileRepository; - - private final FileUtil fileUtil; - - public void initializeProcessingQueue() { - List filesToProtect = fileRepository.findByProtectionStatus(ProtectionStatus.NOT_PROTECTED); - - for (FileEntity fileEntity : filesToProtect) { - try { - FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity); - - noCopyFileService.addFile(fileInfo); - - log.info("Add to query: {}", fileEntity.getOriginalFileName()); - } catch (Exception e) { - log.error("Fail add to query: {}", fileEntity.getId(), e); - } - } - } - - @Scheduled(fixedDelay = 120000) - public void checkNewFilesForProtection() { - List newFiles = fileRepository.findAllActiveFilesAndNotProtected(); - - for (FileEntity fileEntity : newFiles) { - FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity); - - noCopyFileService.addFile(fileInfo); - } - } -} diff --git a/src/main/java/ru/soune/nocopy/service/file/FileUploadService.java b/src/main/java/ru/soune/nocopy/service/file/FileUploadService.java index 1ae1a28..f1d94d3 100644 --- a/src/main/java/ru/soune/nocopy/service/file/FileUploadService.java +++ b/src/main/java/ru/soune/nocopy/service/file/FileUploadService.java @@ -9,7 +9,7 @@ import java.io.IOException; public interface FileUploadService { FileUploadSession initUpload(Long userId, String fileName, - String fileType, String extension, long fileSize); + String fileType, String extension, String convertTo, long fileSize); void handleExpiredSession(FileUploadSession session); diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/AudioLocalSearchImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/AudioLocalSearchImpl.java index dd47c08..7d2e137 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/AudioLocalSearchImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/AudioLocalSearchImpl.java @@ -28,7 +28,7 @@ public class AudioLocalSearchImpl implements AudioLocalSearch { if (fileEntity == null) return null; - return fileUtil.createFileInfo(fileEntity); + return fileUtil.createFileInfo(fileEntity, null); } @Override diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/DocumentLocalSearchImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/DocumentLocalSearchImpl.java index dea41ef..b7151d1 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/DocumentLocalSearchImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/DocumentLocalSearchImpl.java @@ -23,7 +23,7 @@ public class DocumentLocalSearchImpl implements DocumentLocalSearch { @Override public @Nullable FileProtector.FileInfo findByIds(@NotNull String ownerId, @NotNull String fileId) { FileEntity fileEntity = fileEntityRepository.findByIdAndUserId(fileId, Long.valueOf(ownerId)); - FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity); + FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity, null); log.info("fileInfo: {}", fileInfo); return fileInfo; diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java index 6d3131e..e601f8c 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java @@ -107,7 +107,7 @@ public class FileUploadServiceImpl implements FileUploadService { @Override @Transactional public FileUploadSession initUpload(Long userId, String fileName, - String fileType, String extension, long fileSize) { + String fileType, String extension, String convertTo, long fileSize) { log.info("Initializing upload for user {}: {} ({} bytes, type: {})", userId, fileName, fileSize, fileType); @@ -138,6 +138,7 @@ public class FileUploadServiceImpl implements FileUploadService { .status(UploadStatus.INITIATED) .expiresAt(LocalDateTime.now().plusHours(sessionExpiryHours)) .retryCount(0) + .convertTo(convertTo) .build(); FileUploadSession savedSession = sessionRepository.save(session); @@ -248,7 +249,7 @@ public class FileUploadServiceImpl implements FileUploadService { cleanupSessionFiles(session); if (status != FileStatus.TEMP) { - FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity); + FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity, session.getConvertTo()); noCopyFileService.addFile(fileInfo); } @@ -615,76 +616,6 @@ public class FileUploadServiceImpl implements FileUploadService { } } - private void assembleFile(FileUploadSession session) throws IOException { - log.info("Starting file assembly for session: {} ({})", - session.getUploadId(), session.getFileName()); - - Path finalFilePath = null; - String checksum; - - try { - finalFilePath = prepareFinalFile(session); - log.info("Final file path: {}", finalFilePath); - - validateAllChunksExist(session); - - mergeChunksToFile(session, finalFilePath); - - validateFinalFile(session, finalFilePath); - - checksum = calculateChecksum(finalFilePath); - log.debug("File checksum calculated: {}", checksum); - - session.setFilePath(finalFilePath.toString()); - session.setChecksum(checksum); - session.setStatus(UploadStatus.COMPLETED); - session.setCompletedAt(LocalDateTime.now()); - - sessionRepository.save(session); - log.info("Upload session updated to COMPLETED: {}", session.getUploadId()); - - try { - FileEntity fileEntity = fileEntityService.createFromUploadSession(session, checksum); - - FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity); - - noCopyFileService.addFile(fileInfo); - - log.info("FileEntity successfully created for session: {}", - session.getUploadId()); - } catch (DuplicateImageException e) { - throw new DuplicateImageException("Duplicate", e.duplicateFileId(), e.userId()); - } catch (Exception e) { - log.error("Failed to create FileEntity for session {} (file uploaded, but metadata not saved): {}", - session.getUploadId(), e.getMessage()); - } - - cleanupSessionFiles(session); - - log.info("File assembly completed successfully: {} -> {} ({} bytes)", - session.getFileName(), finalFilePath, session.getFileSize()); - - } catch (Exception e) { - log.error("File assembly failed for session {}: {}", - session.getUploadId(), e.getMessage(), e); - - if (finalFilePath != null) { - try { - Files.deleteIfExists(finalFilePath); - log.debug("Cleaned up partial file: {}", finalFilePath); - } catch (IOException ioException) { - log.warn("Failed to cleanup partial file: {}", finalFilePath, ioException); - } - } - - session.setStatus(UploadStatus.FAILED); - session.setLastError(e.getMessage()); - sessionRepository.save(session); - - throw new IOException("File assembly failed: " + e.getMessage(), e); - } - } - private Path prepareFinalFile(FileUploadSession session) throws IOException { Path userUploadsDir = storageRoot.resolve("uploads") .resolve(String.valueOf(session.getUserId())) diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/ImageLocalSearchImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/ImageLocalSearchImpl.java index a6ea133..ea65c88 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/ImageLocalSearchImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/ImageLocalSearchImpl.java @@ -51,6 +51,6 @@ public class ImageLocalSearchImpl implements ImageLocalSearch { FileEntity file = fileEntityRepository.findByFileId(imageHashEntity.getFileId()); return new FileProtector.FileInfo(FileProtector.Type.IMAGE, imageHashEntity.getFileId(), - String.valueOf(file.getUserId())); + String.valueOf(file.getUserId()), null); } } diff --git a/src/main/java/ru/soune/nocopy/service/file/impl/ProtectionFileProviderImpl.java b/src/main/java/ru/soune/nocopy/service/file/impl/ProtectionFileProviderImpl.java index 9661001..304db80 100644 --- a/src/main/java/ru/soune/nocopy/service/file/impl/ProtectionFileProviderImpl.java +++ b/src/main/java/ru/soune/nocopy/service/file/impl/ProtectionFileProviderImpl.java @@ -7,7 +7,11 @@ import lombok.extern.slf4j.Slf4j; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.springframework.stereotype.Component; +import ru.soune.nocopy.entity.file.FileEntity; +import ru.soune.nocopy.repository.FileEntityRepository; +import ru.soune.nocopy.repository.FileUploadSessionRepository; import ru.soune.nocopy.service.file.FileEntityService; +import ru.soune.nocopy.service.file.FileUploadService; import java.io.File; import java.io.IOException; @@ -24,6 +28,10 @@ public class ProtectionFileProviderImpl implements FileProtector.FileProvider { private final FileEntityService fileEntityService; + private final FileUploadSessionRepository fileUploadSessionRepository; + + private final FileEntityRepository fileEntityRepository; + @Nullable @Override public File getImageFile(@NotNull String id) { diff --git a/src/main/java/ru/soune/nocopy/util/FileUtil.java b/src/main/java/ru/soune/nocopy/util/FileUtil.java index 5e7b2bd..f53642b 100644 --- a/src/main/java/ru/soune/nocopy/util/FileUtil.java +++ b/src/main/java/ru/soune/nocopy/util/FileUtil.java @@ -13,17 +13,17 @@ public class FileUtil { public ImageLocalSearch.Result convertToResult(SimilarFileDTO response) { FileProtector.FileInfo fileInfo = new FileProtector.FileInfo(FileProtector.Type.IMAGE, response.getFileId(), - String.valueOf(response.getOwnerId())); + String.valueOf(response.getOwnerId()), null); ImageScore imageScore = new ImageScore(ImageScore.Rate.valueOf(response.getSimilarityLevel()), response.getHammingDistance()); return new ImageLocalSearch.Result(fileInfo, imageScore); } - public FileProtector.FileInfo createFileInfo(FileEntity fileEntity) { + public FileProtector.FileInfo createFileInfo(FileEntity fileEntity, String convertTo) { FileProtector.Type type = determineFileType(fileEntity.getMimeType()); - return new FileProtector.FileInfo(type, fileEntity.getId(), String.valueOf(fileEntity.getUserId())); + return new FileProtector.FileInfo(type, fileEntity.getId(), String.valueOf(fileEntity.getUserId()), convertTo); } public int hamming64(long aHi, long aLo, long bHi, long bLo) {