diff --git a/src/main/java/ru/soune/nocopy/handler/FileInteranlInfoHandler.java b/src/main/java/ru/soune/nocopy/handler/FileInteranlInfoHandler.java index 73a2d67..cae9e73 100644 --- a/src/main/java/ru/soune/nocopy/handler/FileInteranlInfoHandler.java +++ b/src/main/java/ru/soune/nocopy/handler/FileInteranlInfoHandler.java @@ -76,7 +76,7 @@ public class FileInteranlInfoHandler implements RequestHandler { FileStatus.BLOCKED.name(), FileStatus.ACTIVE.name()): fileRequest.getStatuses(); Page files = moderationService.getFilesForModeration(page, pageSize, - fileRequest.getSortOrder(), fileRequest.getSortBy(), statuses); + fileRequest.getSortOrder(), fileRequest.getSortBy(), statuses, fileRequest.getIsAppeal()); List> filesWithInfo = files.getContent().stream() .map(file -> { diff --git a/src/main/java/ru/soune/nocopy/repository/FileEntityRepository.java b/src/main/java/ru/soune/nocopy/repository/FileEntityRepository.java index 97ee3a9..532721c 100644 --- a/src/main/java/ru/soune/nocopy/repository/FileEntityRepository.java +++ b/src/main/java/ru/soune/nocopy/repository/FileEntityRepository.java @@ -79,6 +79,10 @@ public interface FileEntityRepository extends JpaRepository @Query("SELECT f FROM FileEntity f WHERE f.status IN :statuses") Page findByStatusInAndSorted(@Param("statuses") List statuses, Pageable pageable); + + @Query("SELECT f FROM FileEntity f JOIN FileAppeal fa ON fa.fileId == f.id WHERE f.status IN :statuses") + Page findByStatusInAndSortedWithAppeal(@Param("statuses") List statuses, Pageable pageable); + List findByUserIdAndStatusIn(Long userId, List statuses); @Query("SELECT f FROM FileEntity f WHERE f.userId = :userId AND f.status IN :statuses") diff --git a/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java b/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java index f5f2a3c..c789903 100644 --- a/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java +++ b/src/main/java/ru/soune/nocopy/service/file/moderation/ModerationService.java @@ -225,7 +225,7 @@ public class ModerationService { @Transactional(readOnly = true) public Page getFilesForModeration(int page, int size, String sortDirection, String sortBy, - List statuses) { + List statuses, Boolean isAppeal) { if (sortDirection == null || sortDirection.isEmpty()) { sortDirection = "desc"; } @@ -236,7 +236,8 @@ public class ModerationService { Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction.fromString(sortDirection), sortBy)); - return fileEntityRepository.findByStatusInAndSorted(statuses, pageable); + return isAppeal ? fileEntityRepository.findByStatusInAndSortedWithAppeal(statuses, pageable): + fileEntityRepository.findByStatusInAndSorted(statuses, pageable); }