From aff80c49198b917badffae36509371888d3020e5 Mon Sep 17 00:00:00 2001 From: backdev-1 Date: Fri, 5 Jun 2026 21:07:35 +0700 Subject: [PATCH] Add fix check status for monitoring --- .../soune/nocopy/repository/FileMonitoringRepository.java | 4 ++++ .../soune/nocopy/service/search/GlobalSearchService.java | 7 +++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/main/java/ru/soune/nocopy/repository/FileMonitoringRepository.java b/src/main/java/ru/soune/nocopy/repository/FileMonitoringRepository.java index 1510d8a..75d29af 100644 --- a/src/main/java/ru/soune/nocopy/repository/FileMonitoringRepository.java +++ b/src/main/java/ru/soune/nocopy/repository/FileMonitoringRepository.java @@ -20,6 +20,10 @@ public interface FileMonitoringRepository extends JpaRepository findByUserIdAndIsActiveTrue(Long userId); + @Query("SELECT fm FROM FileMonitoringEntity fm LEFT JOIN FETCH FileEntity f ON f.id = fm.file.id WHERE f.status IN :statuses " + + "AND f.userId = :userId AND fm.isActive = true AND fm.monitoringType != 'NONE'") + List findByUserIdAndIsActiveTrue(Long userId, @Param("statuses") List statuses); + @Query("SELECT fm FROM FileMonitoringEntity fm WHERE fm.isActive = true AND fm.monitoringType != 'NONE' AND fm.nextRun <= :now") List findReadyForRun(@Param("now") LocalDateTime now); diff --git a/src/main/java/ru/soune/nocopy/service/search/GlobalSearchService.java b/src/main/java/ru/soune/nocopy/service/search/GlobalSearchService.java index aa1e83e..e0f06aa 100644 --- a/src/main/java/ru/soune/nocopy/service/search/GlobalSearchService.java +++ b/src/main/java/ru/soune/nocopy/service/search/GlobalSearchService.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import ru.soune.nocopy.dto.search.GlobalSearchStartRequest; import ru.soune.nocopy.entity.file.FileEntity; +import ru.soune.nocopy.entity.file.FileStatus; import ru.soune.nocopy.entity.file.FileType; import ru.soune.nocopy.entity.monitoring.FileMonitoringEntity; import ru.soune.nocopy.entity.search.GlobalSearchTask; @@ -58,13 +59,15 @@ public class GlobalSearchService { public List getFilesToProcess(GlobalSearchStartRequest request, Long userId) { if ("monitoring".equals(request.getSearchType())) { List monitoringFiles = - fileMonitoringRepository.findByUserIdAndIsActiveTrue(userId); + fileMonitoringRepository.findByUserIdAndIsActiveTrue(userId, List.of(FileStatus.ACTIVE.name(), + FileStatus.MODERATION.name())); return monitoringFiles.isEmpty() ? new ArrayList<>(): monitoringFiles.stream() .map(FileMonitoringEntity::getFile) .toList(); } else { - List fileIds = request.getFileIds().isEmpty() ? fileEntityService.getAllUserFiles(userId) + List fileIds = request.getFileIds().isEmpty() ? + fileEntityService.getAllUserFilesExcludingBlockedAndRemoved(userId) .stream() .filter(f -> f.getMimeType().equals(FileType.IMAGE.getDisplayName())) .map(FileEntity::getId)