This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package ru.soune.nocopy.handler;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -20,10 +21,7 @@ import ru.soune.nocopy.service.tariff.TariffConstants;
|
||||
import ru.soune.nocopy.service.tariff.TariffInfoService;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.*;
|
||||
import java.util.concurrent.TimeoutException;
|
||||
|
||||
@Slf4j
|
||||
@@ -90,22 +88,45 @@ public class ImageFoundRequestHandler implements RequestHandler {
|
||||
|
||||
checkCounterService.incrementCheckCount(fileEntity.getUserId(), fileEntity.getMimeType());
|
||||
|
||||
int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1;
|
||||
|
||||
YandexSearchResponse yandexSearchResponse = mapper.mapToYandexResponse(searchResponseYandex, page, 5,
|
||||
List<YandexSearchResponse.ImageResult> allYandexImages = mapper.getAllImagesWithoutPagination(searchResponseYandex,
|
||||
"visual_matches");
|
||||
YandexSearchResponse googleSearchResponse = mapper.mapToYandexResponse(searchResponseGoogle, page, 5,
|
||||
List<YandexSearchResponse.ImageResult> allGoogleImages = mapper.getAllImagesWithoutPagination(searchResponseGoogle,
|
||||
"exact_matches");
|
||||
|
||||
int totalSize = yandexSearchResponse.getImages().size() + googleSearchResponse.getImages().size();
|
||||
List<YandexSearchResponse.ImageResult> results = new ArrayList<>(totalSize);
|
||||
results.addAll(yandexSearchResponse.getImages());
|
||||
results.addAll(googleSearchResponse.getImages());
|
||||
List<YandexSearchResponse.ImageResult> allUniqueImages = mapper.removeDuplicateUrls(allYandexImages, allGoogleImages);
|
||||
|
||||
yandexSearchResponse.setImages(results);
|
||||
yandexSearchResponse.setTotalResults(totalSize);
|
||||
int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1;
|
||||
int pageSize = 5;
|
||||
|
||||
List<YandexSearchResponse.ImageResult> pagedResults = mapper.paginateResults(allUniqueImages, page,
|
||||
pageSize * 2);
|
||||
|
||||
YandexSearchResponse finalResponse = new YandexSearchResponse();
|
||||
finalResponse.setImages(pagedResults);
|
||||
finalResponse.setPage(page);
|
||||
finalResponse.setPageSize(pageSize * 2);
|
||||
finalResponse.setTotalResults(allUniqueImages.size());
|
||||
finalResponse.setTotalPages((int) Math.ceil((double) allUniqueImages.size() / (pageSize * 2)));
|
||||
|
||||
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||
MessageCode.SUCCESS.getDescription(), yandexSearchResponse);
|
||||
MessageCode.SUCCESS.getDescription(), finalResponse);
|
||||
// int page = imageSearchRequest.getPage() != null ? imageSearchRequest.getPage() : 1;
|
||||
|
||||
//
|
||||
// YandexSearchResponse yandexSearchResponse = mapper.mapToYandexResponse(searchResponseYandex, page, 5,
|
||||
// "visual_matches");
|
||||
// YandexSearchResponse googleSearchResponse = mapper.mapToYandexResponse(searchResponseGoogle, page, 5,
|
||||
// "exact_matches");
|
||||
//
|
||||
// int totalSize = yandexSearchResponse.getImages().size() + googleSearchResponse.getImages().size();
|
||||
// List<YandexSearchResponse.ImageResult> results = new ArrayList<>(totalSize);
|
||||
// results.addAll(yandexSearchResponse.getImages());
|
||||
// results.addAll(googleSearchResponse.getImages());
|
||||
//
|
||||
// yandexSearchResponse.setImages(results);
|
||||
// yandexSearchResponse.setTotalResults(totalSize);
|
||||
//
|
||||
// return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
||||
// MessageCode.SUCCESS.getDescription(), yandexSearchResponse);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user