Add fix check status for monitoring
Test Workflow / test (push) Has been cancelled

This commit is contained in:
2026-06-05 21:07:35 +07:00
parent 6e8650c61d
commit aff80c4919
2 changed files with 9 additions and 2 deletions
@@ -20,6 +20,10 @@ public interface FileMonitoringRepository extends JpaRepository<FileMonitoringEn
List<FileMonitoringEntity> 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<FileMonitoringEntity> findByUserIdAndIsActiveTrue(Long userId, @Param("statuses") List<String> statuses);
@Query("SELECT fm FROM FileMonitoringEntity fm WHERE fm.isActive = true AND fm.monitoringType != 'NONE' AND fm.nextRun <= :now")
List<FileMonitoringEntity> findReadyForRun(@Param("now") LocalDateTime now);
@@ -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<FileEntity> getFilesToProcess(GlobalSearchStartRequest request, Long userId) {
if ("monitoring".equals(request.getSearchType())) {
List<FileMonitoringEntity> 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<String> fileIds = request.getFileIds().isEmpty() ? fileEntityService.getAllUserFiles(userId)
List<String> fileIds = request.getFileIds().isEmpty() ?
fileEntityService.getAllUserFilesExcludingBlockedAndRemoved(userId)
.stream()
.filter(f -> f.getMimeType().equals(FileType.IMAGE.getDisplayName()))
.map(FileEntity::getId)