@@ -140,7 +140,7 @@ public class GlobalSearchController {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
|
|
||||||
@PostMapping("/violations")
|
@PostMapping("/violation-summary")
|
||||||
public ResponseEntity<?> getViolations(@RequestBody ViolationRequest request) {
|
public ResponseEntity<?> getViolations(@RequestBody ViolationRequest request) {
|
||||||
if (request.getToken() == null || request.getToken().isBlank()) {
|
if (request.getToken() == null || request.getToken().isBlank()) {
|
||||||
Map<String, Object> errorData = new HashMap<>();
|
Map<String, Object> errorData = new HashMap<>();
|
||||||
@@ -151,12 +151,9 @@ public class GlobalSearchController {
|
|||||||
try {
|
try {
|
||||||
Long userId = authService.useUserAuthToken(request.getToken());
|
Long userId = authService.useUserAuthToken(request.getToken());
|
||||||
|
|
||||||
LocalDateTime start = parseDate(request.getStartDate());
|
|
||||||
LocalDateTime end = parseDate(request.getEndDate());
|
|
||||||
|
|
||||||
Page<FileViolationSummaryDTO> result = violationService.getFileViolationsSummary(
|
Page<FileViolationSummaryDTO> result = violationService.getFileViolationsSummary(
|
||||||
userId, request.getFileName(), request.getSortDirection(),
|
userId, request.getFileName(), request.getSortDirection(),
|
||||||
request.getPage(), request.getSize(), start, end);
|
request.getPage(), request.getSize(), request.getStartDate(), request.getEndDate());
|
||||||
|
|
||||||
return ResponseEntity.ok(result);
|
return ResponseEntity.ok(result);
|
||||||
} catch (NotFoundAuthToken e) {
|
} catch (NotFoundAuthToken e) {
|
||||||
@@ -203,13 +200,4 @@ public class GlobalSearchController {
|
|||||||
|
|
||||||
return ResponseEntity.ok(response);
|
return ResponseEntity.ok(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
private LocalDateTime parseDate(String dateStr) {
|
|
||||||
try {
|
|
||||||
return LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
|
||||||
} catch (DateTimeParseException e) {
|
|
||||||
log.error(e.getMessage());
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,8 @@ import ru.soune.nocopy.repository.ViolationRepository;
|
|||||||
import ru.soune.nocopy.service.file.FileEntityService;
|
import ru.soune.nocopy.service.file.FileEntityService;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
import java.time.format.DateTimeFormatter;
|
||||||
|
import java.time.format.DateTimeParseException;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@@ -68,7 +70,7 @@ public class ViolationService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Page<FileViolationSummaryDTO> getFileViolationsSummary(Long userId, String fileName, String sortDirection, Integer page,
|
public Page<FileViolationSummaryDTO> getFileViolationsSummary(Long userId, String fileName, String sortDirection, Integer page,
|
||||||
Integer size, LocalDateTime start, LocalDateTime end) {
|
Integer size, String start, String end) {
|
||||||
List<FileEntity> userFiles = fileName == null || fileName.isEmpty() ? fileEntityService.getAllUserFiles(userId)
|
List<FileEntity> userFiles = fileName == null || fileName.isEmpty() ? fileEntityService.getAllUserFiles(userId)
|
||||||
: fileEntityService.getAllUserFilesWithFileName(userId, fileName,
|
: fileEntityService.getAllUserFilesWithFileName(userId, fileName,
|
||||||
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED, FileStatus.MODERATION));
|
List.of(FileStatus.ACTIVE, FileStatus.BLOCKED, FileStatus.MODERATION));
|
||||||
@@ -83,7 +85,7 @@ public class ViolationService {
|
|||||||
ViolationStatus.NOT_OWNER_FILE.name(),pageable);
|
ViolationStatus.NOT_OWNER_FILE.name(),pageable);
|
||||||
} else {
|
} else {
|
||||||
violations = violationRepository.findByFileEntityInAndStatusNotAndCreatedDateBetween(
|
violations = violationRepository.findByFileEntityInAndStatusNotAndCreatedDateBetween(
|
||||||
userFiles, ViolationStatus.NOT_OWNER_FILE.name(), start, end, pageable);
|
userFiles, ViolationStatus.NOT_OWNER_FILE.name(), parseDate(start), parseDate(end), pageable);
|
||||||
}
|
}
|
||||||
|
|
||||||
Map<String, List<Violation>> violationsByFileId = violations.getContent().stream()
|
Map<String, List<Violation>> violationsByFileId = violations.getContent().stream()
|
||||||
@@ -274,4 +276,13 @@ public class ViolationService {
|
|||||||
return "unknown";
|
return "unknown";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private LocalDateTime parseDate(String dateStr) {
|
||||||
|
try {
|
||||||
|
return LocalDateTime.parse(dateStr, DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
|
||||||
|
} catch (DateTimeParseException e) {
|
||||||
|
log.error(e.getMessage());
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user