국유인 API 연동 작업중

This commit is contained in:
2026-01-29 10:41:08 +09:00
parent 614f0dccf0
commit 43ed8b5409
13 changed files with 661 additions and 55 deletions

View File

@@ -0,0 +1,73 @@
package com.kamco.cd.kamcoback.scheduler.service;
import com.kamco.cd.kamcoback.gukyuin.dto.ChngDetectMastDto;
import com.kamco.cd.kamcoback.gukyuin.dto.ChngDetectMastDto.ResultDto;
import com.kamco.cd.kamcoback.gukyuin.service.GukYuinApiService;
import com.kamco.cd.kamcoback.postgres.core.GukYuinJobCoreService;
import java.util.List;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
@Log4j2
@Service
@RequiredArgsConstructor
public class GukYuinApiJobService {
private final GukYuinApiService gukYuinApiService;
private final GukYuinJobCoreService gukYuinJobCoreService;
@Value("${spring.profiles.active}")
private String profile;
/**
* 실행중인 profile
*
* @return
*/
private boolean isLocalProfile() {
return "local".equalsIgnoreCase(profile);
}
@Scheduled(cron = "0 0/10 * * * *")
public void findGukYuinMastCompleteYn() {
if (isLocalProfile()) {
return;
}
List<String> list = gukYuinJobCoreService.findGukyuinApplyIngUidList();
if (list.isEmpty()) {
return;
}
for (String uid : list) {
try {
ResultDto result = gukYuinApiService.listChnDtctId(uid);
if (result == null || result.getResult() == null || result.getResult().isEmpty()) {
log.warn("[GUKYUIN] empty result uid={}", uid);
continue;
}
ChngDetectMastDto.Basic basic = result.getResult().get(0);
Integer progress =
basic.getExcnPgrt() == null ? null : Integer.parseInt(basic.getExcnPgrt().trim());
if (progress != null && progress == 100) {
gukYuinJobCoreService.updateGukYuinApplyStateComplete(uid);
}
} catch (Exception e) {
log.error("[GUKYUIN] failed uid={}", uid, e);
}
}
}
@Scheduled(cron = "0 0 1 * * *")
public void findGukYuinContListPnuUpdate() {
if (isLocalProfile()) {
return;
}
}
}