diff --git a/src/main/java/com/snp/batch/jobs/web/compliance/service/ComplianceBypassService.java b/src/main/java/com/snp/batch/jobs/web/compliance/service/ComplianceBypassService.java new file mode 100644 index 0000000..67f27d2 --- /dev/null +++ b/src/main/java/com/snp/batch/jobs/web/compliance/service/ComplianceBypassService.java @@ -0,0 +1,35 @@ +package com.snp.batch.jobs.web.compliance.service; + +import com.snp.batch.jobs.web.compliance.dto.ComplianceBypassDto; +import com.snp.batch.common.web.service.BaseBypassService; +import java.util.List; +import org.springframework.beans.factory.annotation.Qualifier; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.stereotype.Service; +import org.springframework.web.reactive.function.client.WebClient; + +/** + * IMO 기반 선박 Compliance 조회 bypass 서비스 + * 외부 Maritime API에서 데이터를 실시간 조회하여 그대로 반환 + */ +@Service +public class ComplianceBypassService extends BaseBypassService { + + public ComplianceBypassService( + @Qualifier("maritimeServiceApiWebClient") WebClient webClient) { + super(webClient, "/RiskAndCompliance/CompliancesByImos", "IMO 기반 선박 Compliance 조회", + new ParameterizedTypeReference<>() {}, + new ParameterizedTypeReference<>() {}); + } + + /** + * IMO 기반 선박 Compliance 조회 데이터를 조회합니다. + * + * @return IMO 기반 선박 Compliance 조회 + */ + public List getComplianceData(String imos) { + return fetchGetList(uri -> uri.path(getApiPath()) + .queryParam("imos", imos) + .build()); + } +} diff --git a/src/main/java/com/snp/batch/service/BypassCodeGenerator.java b/src/main/java/com/snp/batch/service/BypassCodeGenerator.java index 56ee53c..c39e33d 100644 --- a/src/main/java/com/snp/batch/service/BypassCodeGenerator.java +++ b/src/main/java/com/snp/batch/service/BypassCodeGenerator.java @@ -145,7 +145,7 @@ public class BypassCodeGenerator { public {{DOMAIN_CAP}}BypassService( @Qualifier("{{WEBCLIENT_BEAN}}") WebClient webClient) { - super(webClient, "{{DISPLAY_NAME}}", "{{EXTERNAL_PATH}}", + super(webClient, "{{EXTERNAL_PATH}}", "{{DISPLAY_NAME}}", new ParameterizedTypeReference<>() {}, new ParameterizedTypeReference<>() {}); }