dev add notification entity
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-04-02 12:43:11 +07:00
parent 9d33c7532a
commit ecd42ce263
2 changed files with 11 additions and 3 deletions
@@ -12,6 +12,7 @@ import ru.soune.nocopy.entity.notification.NotificationType;
import ru.soune.nocopy.entity.search.GlobalSearchResult;
import ru.soune.nocopy.entity.search.GlobalSearchTask;
import ru.soune.nocopy.entity.search.SearchStatus;
import ru.soune.nocopy.repository.FileEntityRepository;
import ru.soune.nocopy.repository.GlobalSearchResultRepository;
import ru.soune.nocopy.repository.GlobalSearchTaskRepository;
import ru.soune.nocopy.service.notification.NotificationService;
@@ -45,14 +46,19 @@ public class GlobalSearchAsyncProcessor {
private final NotificationService notificationService;
private final FileEntityRepository fileEntityRepository;
@Async
@Transactional
public void processFilesAsync(String taskId, List<FileEntity> filesToProcess, Long userId) {
public void processFilesAsync(String taskId, List<String> filesToProcess, Long userId) {
GlobalSearchTask task = globalSearchTaskRepository.findById(taskId).orElseThrow();
try {
for (int i = 0; i < filesToProcess.size(); i++) {
FileEntity file = filesToProcess.get(i);
String uuid = filesToProcess.get(i);
FileEntity file = fileEntityRepository.findById(uuid)
.orElseThrow(() -> new RuntimeException("File not found: " + uuid));
tariffInfoService.writeOffTokens(userId, TariffConstants.TOKEN_VALUE_FOR_SEARCH);
GlobalSearchResult result = processFile(file, taskId, userId);
globalSearchResultRepository.save(result);
@@ -46,7 +46,9 @@ public class GlobalSearchService {
globalSearchTaskRepository.save(task);
asyncProcessor.processFilesAsync(task.getTaskId(), filesToProcess, userId);
List<String> fileIds = filesToProcess.stream().map(FileEntity::getId).toList();
asyncProcessor.processFilesAsync(task.getTaskId(), fileIds, userId);
return task.getTaskId();
}