@@ -6,8 +6,6 @@ import ru.soune.nocopy.entity.file.FileEntity;
|
||||
import ru.soune.nocopy.entity.file.FileStatus;
|
||||
import ru.soune.nocopy.entity.file.FileUploadSession;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
public interface FileUploadService {
|
||||
FileUploadSession initUpload(Long userId, String fileName,
|
||||
String fileType, String extension, String convertTo, long fileSize);
|
||||
@@ -20,5 +18,5 @@ public interface FileUploadService {
|
||||
|
||||
UploadProgressResponse getUploadProgress(String uploadId);
|
||||
|
||||
FileEntity completeFileProcessingAsync(FileUploadSession session, FileStatus status);
|
||||
FileEntity completeFileProcessing(FileUploadSession session, FileStatus status);
|
||||
}
|
||||
|
||||
@@ -226,11 +226,9 @@ public class FileUploadServiceImpl implements FileUploadService {
|
||||
return UploadProgressResponse.fromSession(session);
|
||||
}
|
||||
|
||||
@Async("fileUploadTaskExecutor")
|
||||
@Transactional
|
||||
@Override
|
||||
public FileEntity completeFileProcessingAsync(FileUploadSession session, FileStatus status) {
|
||||
FileEntity saved = null;
|
||||
public FileEntity completeFileProcessing(FileUploadSession session, FileStatus status) {
|
||||
try {
|
||||
Path filePath = Paths.get(session.getFilePath());
|
||||
String checksum = calculateChecksum(filePath);
|
||||
@@ -249,11 +247,10 @@ public class FileUploadServiceImpl implements FileUploadService {
|
||||
.status(status)
|
||||
.build();
|
||||
|
||||
saved = fileEntityRepository.save(fileEntity);
|
||||
FileEntity saved = fileEntityRepository.save(fileEntity);
|
||||
|
||||
if (session.getFileType().equals("image")) {
|
||||
Map<String, Long> hash = imageHashService.calculateHash(filePath);
|
||||
|
||||
imageHashService.create(saved, hash);
|
||||
}
|
||||
|
||||
@@ -261,17 +258,17 @@ public class FileUploadServiceImpl implements FileUploadService {
|
||||
|
||||
if (status != FileStatus.TEMP) {
|
||||
FileProtector.FileInfo fileInfo = fileUtil.createFileInfo(fileEntity, session.getConvertTo());
|
||||
|
||||
noCopyFileService.addFile(fileInfo);
|
||||
}
|
||||
|
||||
log.info("File processing completed for session: {}", session.getUploadId());
|
||||
return saved;
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to complete file processing for session {}: {}",
|
||||
session.getUploadId(), e.getMessage(), e);
|
||||
throw new FileUploadException("Failed to complete file processing", e);
|
||||
}
|
||||
|
||||
return saved;
|
||||
}
|
||||
|
||||
private void validateSession(FileUploadSession session) {
|
||||
@@ -386,11 +383,7 @@ public class FileUploadServiceImpl implements FileUploadService {
|
||||
fileEntityService.clearTempFiles(session.getUserId());
|
||||
}
|
||||
|
||||
FileEntity fileEntity = completeFileProcessingAsync(session, status);
|
||||
|
||||
fileEntityRepository.flush();
|
||||
|
||||
entityManager.clear();
|
||||
FileEntity fileEntity = completeFileProcessing(session, status);
|
||||
|
||||
cloudStorageService.saveFilesToStorage(fileEntity.getMimeType(), fileEntity.getFileExtension(),
|
||||
fileEntity.getFilePath());
|
||||
|
||||
Reference in New Issue
Block a user