From 5b6f24d4e346be311916fc6dce44e5f5ad39e155 Mon Sep 17 00:00:00 2001 From: teddy Date: Wed, 14 Jan 2026 19:39:58 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B6=94=EB=A1=A0=EA=B4=80=EB=A6=AC=20?= =?UTF-8?q?=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20=EC=88=98=EC=A0=95,?= =?UTF-8?q?=20=EC=B6=94=EB=A1=A0=20=EC=A2=85=EB=A3=8C=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/resttemplate/ExternalHttpClient.java | 1 - .../inference/service/InferenceResultService.java | 14 +++++++++++++- .../postgres/core/InferenceResultCoreService.java | 15 ++++++--------- .../service/MapSheetInferenceJobService.java | 2 +- 4 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java b/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java index 684e7ca7..013e01b5 100644 --- a/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java +++ b/src/main/java/com/kamco/cd/kamcoback/config/resttemplate/ExternalHttpClient.java @@ -41,7 +41,6 @@ public class ExternalHttpClient { return new ExternalCallResult<>(code, code >= 200 && code < 300, res.getBody()); } catch (HttpClientErrorException.NotFound e) { - // ⭐ 핵심: 404를 예외가 아닌 결과로 처리 log.info("[HTTP-RES] {} {} -> 404 (Not Found)", method, url); log.debug("[HTTP-RES-BODY] {}", e.getResponseBodyAsString()); diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java index e9c04006..653e1aef 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultService.java @@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import com.kamco.cd.kamcoback.common.exception.CustomApiException; +import com.kamco.cd.kamcoback.common.utils.UserUtil; import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient; import com.kamco.cd.kamcoback.config.resttemplate.ExternalHttpClient.ExternalCallResult; import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto; @@ -65,9 +66,14 @@ public class InferenceResultService { @Value("${inference.url}") private String inferenceUrl; + @Value("${inference.batch-url}") + private String batchUrl; + @Value("${spring.profiles.active}") private String profile; + private final UserUtil userUtil; + /** * 추론관리 목록 * @@ -492,13 +498,15 @@ public class InferenceResultService { return inferenceResultCoreService.getInferenceGeomList(uuid, searchGeoReq); } + /** 추론 종료 */ + @Transactional public void deleteInferenceEnd() { SaveInferenceAiDto dto = inferenceResultCoreService.getProcessing(); if (dto == null) { throw new CustomApiException("NOT_FOUND", HttpStatus.NOT_FOUND); } Long batchId = dto.getBatchId(); - String url = inferenceUrl + "/" + batchId; + String url = batchUrl + "/" + batchId; HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); @@ -507,11 +515,15 @@ public class InferenceResultService { ExternalCallResult result = externalHttpClient.call(url, HttpMethod.DELETE, dto, headers, String.class); + if (!result.success()) { + throw new CustomApiException("NOT_FOUND", HttpStatus.NOT_FOUND); + } System.out.println(result); SaveInferenceAiDto request = new SaveInferenceAiDto(); request.setStatus(Status.END.getId()); request.setUuid(dto.getUuid()); + request.setUpdateUid(userUtil.getId()); inferenceResultCoreService.update(request); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java index 3cd55126..0a521c4d 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/core/InferenceResultCoreService.java @@ -21,6 +21,7 @@ import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceEntity; import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity; import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearn5kEntity; import com.kamco.cd.kamcoback.postgres.entity.MapSheetLearnEntity; +import com.kamco.cd.kamcoback.postgres.repository.Inference.InferenceResultRepository; import com.kamco.cd.kamcoback.postgres.repository.Inference.MapSheetAnalDataInferenceRepository; import com.kamco.cd.kamcoback.postgres.repository.Inference.MapSheetLearn5kRepository; import com.kamco.cd.kamcoback.postgres.repository.Inference.MapSheetLearnRepository; @@ -50,6 +51,7 @@ public class InferenceResultCoreService { private final MapSheetLearnRepository mapSheetLearnRepository; private final MapInkx5kRepository mapInkx5kRepository; private final MapSheetLearn5kRepository mapSheetLearn5kRepository; + private final InferenceResultRepository inferenceResultRepository; private final EntityManager entityManager; private final UserUtil userUtil; @@ -401,15 +403,6 @@ public class InferenceResultCoreService { return dto; } - /** - * @param compareYear 비교년도 - * @param targetYear 기준년도 - * @return - */ - public Integer getLearnStage(Integer compareYear, Integer targetYear) { - return mapSheetLearnRepository.getLearnStage(compareYear, targetYear); - } - public AnalResultInfo getInferenceResultInfo(String uuid) { return mapSheetLearnRepository.getInferenceResultInfo(uuid); } @@ -421,4 +414,8 @@ public class InferenceResultCoreService { public Page getInferenceGeomList(String uuid, SearchGeoReq searchGeoReq) { return mapSheetLearnRepository.getInferenceGeomList(uuid, searchGeoReq); } + + public void upsertGeomsFromInferenceResults(Long id) { + int inferenceGeomCnt = inferenceResultRepository.upsertGeomsFromInferenceResults(); + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java index 7a7bd955..56980e25 100644 --- a/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java +++ b/src/main/java/com/kamco/cd/kamcoback/scheduler/service/MapSheetInferenceJobService.java @@ -52,7 +52,7 @@ public class MapSheetInferenceJobService { @Transactional public void runBatch() { if (isLocalProfile()) { - // return; + return; } try {