From 91cb3eea19f10c4feff7ca257187f615f26a7e14 Mon Sep 17 00:00:00 2001 From: HYOJIN Date: Thu, 26 Mar 2026 16:58:47 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EC=BD=94=EB=93=9C=20=EC=83=9D=EC=84=B1?= =?UTF-8?q?=EA=B8=B0=20super()=20=EC=9D=B8=EC=9E=90=20=EC=88=9C=EC=84=9C?= =?UTF-8?q?=20=EC=88=98=EC=A0=95=20(apiPath,=20displayName)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BaseBypassService 생성자의 apiPath와 displayName 순서가 뒤바뀌어 외부 API 경로 대신 표시명이 URL로 사용되는 문제 수정 Co-Authored-By: Claude Opus 4.6 (1M context) --- .../service/ComplianceBypassService.java | 35 +++++++++++++++++++ .../batch/service/BypassCodeGenerator.java | 2 +- 2 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 src/main/java/com/snp/batch/jobs/web/compliance/service/ComplianceBypassService.java 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<>() {}); }