Files
no-copy/src/main/java/ru/soune/nocopy/handler/ImageFoundRequestHandler.java
T

42 lines
1.5 KiB
Java
Raw Normal View History

2025-12-22 14:07:44 +07:00
package ru.soune.nocopy.handler;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import ru.soune.nocopy.dto.BaseRequest;
import ru.soune.nocopy.dto.BaseResponse;
import ru.soune.nocopy.dto.MessageCode;
import ru.soune.nocopy.dto.file.ImageSearchRequest;
import ru.soune.nocopy.dto.file.YandexSearchResponse;
2026-01-20 03:47:51 +07:00
import ru.soune.nocopy.service.search.YandexSearchService;
2026-01-27 08:09:54 +07:00
import ru.soune.nocopy.service.search.GoogleVisionSearchService;
2025-12-22 14:07:44 +07:00
@Slf4j
@Component
@RequiredArgsConstructor
public class ImageFoundRequestHandler implements RequestHandler {
private final ObjectMapper objectMapper;
private final YandexSearchService yandexSearchService;
2026-01-27 05:41:47 +07:00
private final GoogleVisionSearchService googleVisionSearchService;
2025-12-22 14:07:44 +07:00
@Override
public BaseResponse handle(BaseRequest request) throws Exception {
2025-12-22 14:42:27 +07:00
ImageSearchRequest imageSearchRequest = objectMapper.convertValue(request.getMessageBody(),
ImageSearchRequest.class);
2025-12-22 14:07:44 +07:00
String fileId = imageSearchRequest.getFileId();
YandexSearchResponse response = yandexSearchService.searchByFileEntity(fileId);
2026-01-27 05:41:47 +07:00
//TODO uncommited when add billing
// GoogleVisionSearchResponse googleVisionSearchResponse = googleVisionSearchService.searchByFileEntity(fileId);
2025-12-22 14:07:44 +07:00
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
MessageCode.SUCCESS.getDescription(), response);
}
}