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;
|
|
|
|
|
import ru.soune.nocopy.service.YandexSearchService;
|
|
|
|
|
|
|
|
|
|
@Slf4j
|
|
|
|
|
@Component
|
|
|
|
|
@RequiredArgsConstructor
|
|
|
|
|
public class ImageFoundRequestHandler implements RequestHandler {
|
|
|
|
|
|
|
|
|
|
private final ObjectMapper objectMapper;
|
|
|
|
|
|
|
|
|
|
private final YandexSearchService yandexSearchService;
|
|
|
|
|
|
|
|
|
|
@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);
|
|
|
|
|
|
|
|
|
|
return new BaseResponse(request.getMsgId(), MessageCode.SUCCESS.getCode(),
|
|
|
|
|
MessageCode.SUCCESS.getDescription(), response);
|
|
|
|
|
}
|
|
|
|
|
}
|