dev add field locale for get info for view doc
Test Workflow / test (push) Has been cancelled

This commit is contained in:
2026-05-15 10:49:44 +07:00
parent 59e9de2684
commit 0c373acc7f
5 changed files with 61 additions and 9 deletions
@@ -12,13 +12,17 @@ import ru.soune.nocopy.dto.violation.ViolationStatisticsResponse;
import ru.soune.nocopy.entity.file.FileEntity;
import ru.soune.nocopy.entity.file.FileStatus;
import ru.soune.nocopy.entity.search.GlobalSearchResult;
import ru.soune.nocopy.entity.user.User;
import ru.soune.nocopy.entity.violation.Violation;
import ru.soune.nocopy.exception.UserNotHavePermission;
import ru.soune.nocopy.repository.ComplaintEntityRepository;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.repository.LawCaseRepository;
import ru.soune.nocopy.repository.ViolationRepository;
import ru.soune.nocopy.service.file.FileEntityService;
import ru.soune.nocopy.service.user.UserService;
import java.io.FileNotFoundException;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException;
@@ -40,6 +44,8 @@ public class ViolationService {
private final LawCaseRepository lawCaseRepository;
private final UserService userService;
public void processViolation(YandexSearchResponse.ImageResult imageResult, FileEntity file,
GlobalSearchResult result) {
String url = imageResult.getUrl();
@@ -287,16 +293,16 @@ public class ViolationService {
}
public ViolationStatisticsResponse getViolationStatistics(Long userId, String fileId,
LocalDateTime startDate, LocalDateTime endDate) {
LocalDateTime startDate, LocalDateTime endDate) throws FileNotFoundException {
List<FileEntity> userFiles;
if (fileId != null && !fileId.isEmpty()) {
FileEntity file = fileEntityRepository.findById(fileId)
.orElseThrow(() -> new IllegalArgumentException("File not found with id: " + fileId));
.orElseThrow(() -> new FileNotFoundException("File not found with id: " + fileId));
if (!file.getUserId().equals(userId)) {
throw new IllegalArgumentException("File does not belong to user");
throw new UserNotHavePermission("File does not belong to user");
}
userFiles = List.of(file);
@@ -345,7 +351,13 @@ public class ViolationService {
Long totalComplaints = 0L;
Long totalLawCases = 0L;
if (!violationIds.isEmpty()) {
if (startDate != null && endDate != null) {
totalLawCases = lawCaseRepository.countLawCasesByUserAndDateRange(userId, startDate, endDate);
totalComplaints = complaintRepository.countComplaintEntityByEmailAndCreatedAtBetween(
userService.userEmailById(userId),
startDate,
endDate);
} else if (!violationIds.isEmpty()) {
totalComplaints = complaintRepository.countComplaintByViolations(violationIds);
totalLawCases = lawCaseRepository.countLawCaseByViolationIds(violationIds);
}