dev add check count for all type
Test Workflow / test (push) Successful in 4s

This commit is contained in:
vladp
2026-03-16 14:48:39 +07:00
parent 73fd5e9456
commit 3a478f9195
@@ -50,9 +50,9 @@ public class ImageFoundRequestHandler implements RequestHandler {
Map.of("fileId",fileId))); Map.of("fileId",fileId)));
}); });
String searchResponseYandex; // String searchResponseYandex;
String searchResponseGoogle; String searchResponseGoogle;
List<YandexSearchResponse.ImageResult> allYandexImages = new ArrayList<>(); // List<YandexSearchResponse.ImageResult> allYandexImages = new ArrayList<>();
List<YandexSearchResponse.ImageResult> allGoogleImages = new ArrayList<>(); List<YandexSearchResponse.ImageResult> allGoogleImages = new ArrayList<>();
List<YandexSearchResponse.ImageResult> allUniqueImages; List<YandexSearchResponse.ImageResult> allUniqueImages;
boolean hasTimeout = false; boolean hasTimeout = false;
@@ -70,21 +70,21 @@ public class ImageFoundRequestHandler implements RequestHandler {
log.error("Google search failed for file {}", fileId, e); log.error("Google search failed for file {}", fileId, e);
} }
try { // try {
searchResponseYandex = searchImageService.searchReverseByPublicUrl(fileEntity, "yandex_reverse_image", // searchResponseYandex = searchImageService.searchReverseByPublicUrl(fileEntity, "yandex_reverse_image",
"visual_matches"); // "visual_matches");
log.info("searchResponseYandex OK"); // log.info("searchResponseYandex OK");
allYandexImages = searchImageService.getAllImagesWithoutPagination( // allYandexImages = searchImageService.getAllImagesWithoutPagination(
searchResponseYandex, "visual_matches"); // searchResponseYandex, "visual_matches");
} catch (TimeoutException e) { // } catch (TimeoutException e) {
log.warn("Yandex search timeout for file {}", fileId); // log.warn("Yandex search timeout for file {}", fileId);
hasTimeout = true; // hasTimeout = true;
} catch (IOException e) { // } catch (IOException e) {
log.error("Yandex search failed for file {}", fileId, e); // log.error("Yandex search failed for file {}", fileId, e);
} // }
allUniqueImages = searchImageService.removeDuplicateUrls(allYandexImages, allGoogleImages); // allUniqueImages = searchImageService.removeDuplicateUrls(allYandexImages, allGoogleImages);
log.info("allUniqueImages OK: {} images", allUniqueImages.size()); // log.info("allUniqueImages OK: {} images", allUniqueImages.size());
tariffInfoService.writeOffTokens(fileEntity.getUserId(), TariffConstants.TOKEN_VALUE_FOR_SEARCH); tariffInfoService.writeOffTokens(fileEntity.getUserId(), TariffConstants.TOKEN_VALUE_FOR_SEARCH);
checkCounterService.incrementCheckCount(fileEntity.getUserId(), fileEntity.getMimeType()); checkCounterService.incrementCheckCount(fileEntity.getUserId(), fileEntity.getMimeType());
@@ -92,15 +92,17 @@ public class ImageFoundRequestHandler implements RequestHandler {
int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1; int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1;
int pageSize = 5; int pageSize = 5;
List<YandexSearchResponse.ImageResult> pagedResults = searchImageService.paginateResults(allUniqueImages, page, // List<YandexSearchResponse.ImageResult> pagedResults = searchImageService.paginateResults(allUniqueImages, page,
// pageSize * 2);
List<YandexSearchResponse.ImageResult> pagedResults = searchImageService.paginateResults(allGoogleImages, page,
pageSize * 2); pageSize * 2);
YandexSearchResponse finalResponse = new YandexSearchResponse(); YandexSearchResponse finalResponse = new YandexSearchResponse();
finalResponse.setImages(pagedResults); finalResponse.setImages(pagedResults);
finalResponse.setPage(page); finalResponse.setPage(page);
finalResponse.setPageSize(pageSize * 2); finalResponse.setPageSize(pageSize * 2);
finalResponse.setTotalResults(allUniqueImages.size()); finalResponse.setTotalResults(allGoogleImages.size());
finalResponse.setTotalPages((int) Math.ceil((double) allUniqueImages.size() / (pageSize * 2))); finalResponse.setTotalPages((int) Math.ceil((double) allGoogleImages.size() / (pageSize * 2)));
String message = hasTimeout ? "Search completed (partial)" : MessageCode.SUCCESS.getDescription(); String message = hasTimeout ? "Search completed (partial)" : MessageCode.SUCCESS.getDescription();