feat(risk): RiskRangeImportJob API URL 변경 및 저장 테이블 통합 #87

병합
HYOJIN feature/ISSUE-86-risk-range-url-change 에서 develop 로 2 commits 를 머지했습니다 2026-03-24 14:22:47 +09:00
5개의 변경된 파일13개의 추가작업 그리고 11개의 파일을 삭제
Showing only changes of commit 7474882aa9 - Show all commits

파일 보기

@ -101,16 +101,21 @@ public class MaritimeApiWebClientConfig {
@Bean(name = "maritimeServiceApiWebClient")
public WebClient maritimeServiceApiWebClient(){
log.info("========================================");
log.info("Maritime AIS API WebClient 생성");
log.info("Maritime Service API WebClient 생성");
log.info("Base URL: {}", maritimeServiceApiUrl);
log.info("========================================");
HttpClient httpClient = HttpClient.create()
.option(ChannelOption.CONNECT_TIMEOUT_MILLIS, 10_000)
.responseTimeout(Duration.ofMinutes(5));
return WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient))
.baseUrl(maritimeServiceApiUrl)
.defaultHeaders(headers -> headers.setBasicAuth(maritimeApiUsername, maritimeApiPassword))
.codecs(configurer -> configurer
.defaultCodecs()
.maxInMemorySize(100 * 1024 * 1024)) // 100MB 버퍼
.maxInMemorySize(256 * 1024 * 1024)) // 256MB 버퍼
.build();
}
}

파일 보기

@ -6,7 +6,7 @@ import com.snp.batch.jobs.risk.batch.dto.RiskDto;
import com.snp.batch.jobs.risk.batch.entity.RiskEntity;
import com.snp.batch.jobs.risk.batch.processor.RiskDataProcessor;
import com.snp.batch.jobs.risk.batch.reader.RiskDataRangeReader;
import com.snp.batch.jobs.risk.batch.writer.RiskDataWriter;
import com.snp.batch.jobs.risk.batch.writer.RiskDetailDataWriter;
import com.snp.batch.service.BatchApiLogService;
import com.snp.batch.service.BatchDateService;
import lombok.extern.slf4j.Slf4j;
@ -35,7 +35,7 @@ import org.springframework.web.reactive.function.client.WebClient;
public class RiskImportRangeJobConfig extends BaseMultiStepJobConfig<RiskDto, RiskEntity> {
private final WebClient maritimeServiceApiWebClient;
private final RiskDataProcessor riskDataProcessor;
private final RiskDataWriter riskDataWriter;
private final RiskDetailDataWriter riskDataWriter;
private final RiskDataRangeReader riskDataRangeReader;
private final JdbcTemplate jdbcTemplate;
private final BatchDateService batchDateService;
@ -61,7 +61,7 @@ public class RiskImportRangeJobConfig extends BaseMultiStepJobConfig<RiskDto, Ri
JobRepository jobRepository,
PlatformTransactionManager transactionManager,
RiskDataProcessor riskDataProcessor,
RiskDataWriter riskDataWriter,
RiskDetailDataWriter riskDataWriter,
JdbcTemplate jdbcTemplate,
@Qualifier("maritimeServiceApiWebClient")WebClient maritimeServiceApiWebClient,
RiskDataRangeReader riskDataRangeReader,

파일 보기

@ -46,7 +46,7 @@ public class RiskDataRangeReader extends BaseApiReader<RiskDto> {
@Override
protected String getApiPath() {
return "/RiskAndCompliance/UpdatedRiskList";
return "/RiskAndCompliance/UpdatedRiskWithNarrativesList";
}
protected String getApiKey() {
return "RISK_IMPORT_API";

파일 보기

@ -22,8 +22,6 @@ public class RiskRepositoryImpl extends BaseJdbcRepository<RiskEntity, Long> imp
@Value("${app.batch.target-schema.tables.risk-compliance-001}")
private String tableName;
@Value("${app.batch.target-schema.tables.risk-detail-001:tb_ship_risk_detail_info}")
private String riskDetailTableName;
public RiskRepositoryImpl(JdbcTemplate jdbcTemplate) {
super(jdbcTemplate);
@ -233,7 +231,7 @@ public class RiskRepositoryImpl extends BaseJdbcRepository<RiskEntity, Long> imp
?, ?, -- 83-84: rss_sts
?, ? -- 85-86: job_execution_id, creatr_id
)
""".formatted(targetSchema, riskDetailTableName);
""".formatted(targetSchema, tableName);
}
private void setRiskDetailParameters(PreparedStatement ps, RiskEntity entity) throws Exception {

파일 보기

@ -142,10 +142,9 @@ app:
movements-008: tb_ship_trnst_hstry
code-001: tb_ship_type_cd
code-002: tb_ship_country_cd
risk-compliance-001: tb_ship_risk_info
risk-compliance-001: tb_ship_risk_detail_info
risk-compliance-002: tb_ship_compliance_info
risk-compliance-003: tb_company_compliance_info
risk-detail-001: tb_ship_risk_detail_info
ship-028: ship_detail_hash_json
imo-meta-001: tb_ship_default_info
service-schema: