Merge branch 'dev' into NCBACK-35

# Conflicts:
#	src/main/java/ru/soune/nocopy/service/file/impl/FileUploadServiceImpl.java
This commit is contained in:
vladp
2026-04-04 11:23:05 +07:00
32 changed files with 689 additions and 43 deletions
@@ -82,11 +82,11 @@ public class FileEntityService {
.map(User::getId)
.toList()) {
allFiles.addAll(fileEntityRepository.findByUserIdAndStatusIn(uId,
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED)));
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED, FileStatus.MODERATION)));
}
} else {
allFiles = fileEntityRepository.findByUserIdAndStatusIn(userId,
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED));
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED, FileStatus.MODERATION));
}
return allFiles;
@@ -102,12 +102,12 @@ public class FileEntityService {
.map(User::getId)
.toList()) {
allFiles.addAll(fileEntityRepository.findByUserIdAndStatusIn(uId,
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED)));
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED, FileStatus.MODERATION)));
}
} else {
allFiles = fileEntityRepository.findByUserIdAndStatusIn(userId,
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED));
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED, FileStatus.MODERATION));
}
int start = (page - 1) * pageSize;
@@ -18,6 +18,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;
import ru.soune.nocopy.dto.file.UploadProgressResponse;
import ru.soune.nocopy.entity.file.*;
import ru.soune.nocopy.entity.notification.NotificationType;
import ru.soune.nocopy.exception.*;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.repository.FileUploadSessionRepository;
@@ -29,6 +30,7 @@ import ru.soune.nocopy.service.file.FileEntityService;
import ru.soune.nocopy.service.file.FileUploadService;
import ru.soune.nocopy.service.file.cloud.CloudStorageService;
import ru.soune.nocopy.service.tariff.TariffConstants;
import ru.soune.nocopy.service.notification.NotificationService;
import ru.soune.nocopy.service.tariff.TariffInfoService;
import ru.soune.nocopy.util.FileUtil;
@@ -87,6 +89,8 @@ public class FileUploadServiceImpl implements FileUploadService {
private final TariffInfoService tariffInfoService;
private final NotificationService notificationService;
private final CloudStorageService cloudStorageService;
@PostConstruct
@@ -374,6 +378,8 @@ public class FileUploadServiceImpl implements FileUploadService {
session.setStatus(UploadStatus.COMPLETED);
session.setFilePath(finalFilePath);
notificationService.addNotification(NotificationType.FILE_ADDED_TO_SYSTEM, session.getUserId());
FileStatus status = findSimilar == 0 ? FileStatus.MODERATION: FileStatus.TEMP;
if (status == FileStatus.TEMP) {
@@ -11,6 +11,7 @@ import org.springframework.transaction.annotation.Transactional;
import ru.soune.nocopy.dto.file.*;
import ru.soune.nocopy.entity.file.*;
import ru.soune.nocopy.entity.file.moderation.ModerationLog;
import ru.soune.nocopy.entity.notification.NotificationType;
import ru.soune.nocopy.exception.FileEntityNotFoundException;
import ru.soune.nocopy.exception.InvalidAppealException;
@@ -18,6 +19,7 @@ import ru.soune.nocopy.repository.FileAppealRepository;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.repository.ModerationLogRepository;
import ru.soune.nocopy.service.file.FileEntityService;
import ru.soune.nocopy.service.notification.NotificationService;
import java.io.IOException;
import java.time.LocalDateTime;
@@ -35,6 +37,8 @@ public class ModerationService {
private final FileEntityService fileEntityService;
private final NotificationService notificationService;
private static final List<FileStatus> MODERATION_NEEDED_STATUSES = Arrays.asList(
FileStatus.MODERATION,
FileStatus.BLOCKED
@@ -84,6 +88,8 @@ public class ModerationService {
throw new RuntimeException(e);
}
}
notificationService.addNotification(NotificationType.FILE_MODERATION_EVENT, file.getUserId());
}
/**