dev add tariff and temp flag for files
Test Workflow / test (push) Successful in 2s

This commit is contained in:
vladp
2026-01-30 12:52:16 +07:00
parent fb5642db9e
commit 49dc19cd04
21 changed files with 612 additions and 24 deletions
@@ -60,14 +60,14 @@ public class FileStatsService {
private Long calculateTotalSize(List<FileEntity> files) {
return files.stream()
.filter(file -> file.getStatus() != FileStatus.DELETED)
.filter(file -> file.getStatus() != FileStatus.DELETED && file.getStatus() != FileStatus.TEMP)
.mapToLong(FileEntity::getFileSize)
.sum();
}
private Integer calculateTotalCount(List<FileEntity> files) {
return (int) files.stream()
.filter(file -> file.getStatus() != FileStatus.DELETED)
.filter(file -> file.getStatus() != FileStatus.DELETED && file.getStatus() != FileStatus.TEMP)
.count();
}
@@ -79,7 +79,7 @@ public class FileStatsService {
private Long calculateMediaSize(List<FileEntity> files, FileType fileType) {
return files.stream()
.filter(file -> file.getStatus() != FileStatus.DELETED)
.filter(file -> file.getStatus() != FileStatus.DELETED && file.getStatus() != FileStatus.TEMP)
.filter(file -> isFileType(file, fileType))
.mapToLong(FileEntity::getFileSize)
.sum();
@@ -87,7 +87,7 @@ public class FileStatsService {
private Integer calculateMediaCount(List<FileEntity> files, FileType fileType) {
return (int) files.stream()
.filter(file -> file.getStatus() != FileStatus.DELETED)
.filter(file -> file.getStatus() != FileStatus.DELETED && file.getStatus() != FileStatus.TEMP)
.filter(file -> isFileType(file, fileType))
.count();
}
@@ -2,6 +2,7 @@ package ru.soune.nocopy.service.file;
import org.springframework.web.multipart.MultipartFile;
import ru.soune.nocopy.dto.file.UploadProgressResponse;
import ru.soune.nocopy.entity.file.FileStatus;
import ru.soune.nocopy.entity.file.FileUploadSession;
import java.io.IOException;
@@ -18,5 +19,5 @@ public interface FileUploadService {
UploadProgressResponse getUploadProgress(String uploadId);
void completeFileProcessingAsync(FileUploadSession session);
void completeFileProcessingAsync(FileUploadSession session, FileStatus status);
}
@@ -215,7 +215,7 @@ public class FileUploadServiceImpl implements FileUploadService {
@Async("fileUploadTaskExecutor")
@Transactional
@Override
public void completeFileProcessingAsync(FileUploadSession session) {
public void completeFileProcessingAsync(FileUploadSession session, FileStatus status) {
try {
Path filePath = Paths.get(session.getFilePath());
String checksum = calculateChecksum(filePath);
@@ -231,7 +231,7 @@ public class FileUploadServiceImpl implements FileUploadService {
.checksum(checksum)
.uploadSessionId(session.getUploadId())
.protectionStatus(ProtectionStatus.PROCESSING)
.status(FileStatus.ACTIVE)
.status(status)
.build();
FileEntity saved = fileEntityRepository.save(fileEntity);
@@ -317,7 +317,9 @@ public class FileUploadServiceImpl implements FileUploadService {
session.setStatus(UploadStatus.COMPLETED);
session.setFilePath(finalFilePath);
completeFileProcessingAsync(session);
FileStatus status = findSimilar == 0 ? FileStatus.ACTIVE: FileStatus.TEMP;
completeFileProcessingAsync(session, status);
} else {
sessionRepository.save(session);