@@ -36,10 +36,6 @@ public class GlobalSearchController {
|
||||
|
||||
private final GlobalSearchTaskRepository searchTaskRepository;
|
||||
|
||||
private final GlobalSearchResultRepository globalSearchResultRepository;
|
||||
|
||||
private final ObjectMapper objectMapper;
|
||||
|
||||
@PostMapping("/start")
|
||||
public ResponseEntity<?> startSearch(
|
||||
@RequestBody GlobalSearchStartRequest request,
|
||||
@@ -74,8 +70,7 @@ public class GlobalSearchController {
|
||||
}
|
||||
|
||||
@GetMapping("/status/{taskId}")
|
||||
public ResponseEntity<?> getStatus(
|
||||
@PathVariable String taskId,
|
||||
public ResponseEntity<?> getStatus(@PathVariable String taskId,
|
||||
@RequestHeader(value = "Authorization", required = false) String tokenHeader) {
|
||||
|
||||
if (tokenHeader == null || tokenHeader.isBlank()) {
|
||||
@@ -93,38 +88,6 @@ public class GlobalSearchController {
|
||||
|
||||
GlobalSearchTask task = taskOptional.orElseThrow();
|
||||
|
||||
List<GlobalSearchResult> results = globalSearchResultRepository.findByTaskIdOrderByIdAsc(taskId);
|
||||
|
||||
List<GlobalSearchFileResult> fileResults = results.stream()
|
||||
.map(result -> {
|
||||
GlobalSearchFileResult dto = new GlobalSearchFileResult();
|
||||
dto.setFileId(result.getFileId());
|
||||
dto.setFileName(result.getFileName());
|
||||
dto.setThumbnail(result.getThumbnail());
|
||||
dto.setFileStatus(result.getFileStatus());
|
||||
|
||||
try {
|
||||
YandexSearchResponse searchResponse = objectMapper.readValue(
|
||||
result.getSearchResults(),
|
||||
YandexSearchResponse.class
|
||||
);
|
||||
|
||||
dto.setImages(searchResponse.getImages());
|
||||
dto.setPage(searchResponse.getPage());
|
||||
dto.setPageSize(searchResponse.getPageSize());
|
||||
dto.setTotalResults(searchResponse.getTotalResults());
|
||||
dto.setTotalPages(searchResponse.getTotalPages());
|
||||
|
||||
} catch (Exception e) {
|
||||
log.error("Failed to parse search results for file: {}", result.getFileId(), e);
|
||||
dto.setImages(new ArrayList<>());
|
||||
dto.setTotalResults(0);
|
||||
}
|
||||
|
||||
return dto;
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
|
||||
int progress = task.getTotalFiles() > 0
|
||||
? task.getProcessedFiles() * 100 / task.getTotalFiles()
|
||||
: 0;
|
||||
@@ -133,7 +96,6 @@ public class GlobalSearchController {
|
||||
response.setTaskId(taskId);
|
||||
response.setStatus(task.getStatus());
|
||||
response.setProgress(progress);
|
||||
response.setResults(fileResults);
|
||||
|
||||
return ResponseEntity.ok(response);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user