From d92b38b9d519a9309b2096ff45c0f8cf549e07d4 Mon Sep 17 00:00:00 2001 From: teddy Date: Thu, 22 Jan 2026 13:42:46 +0900 Subject: [PATCH] =?UTF-8?q?shp=20=EC=88=98=EB=8F=99=EB=93=B1=EB=A1=9D=20?= =?UTF-8?q?=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../InferenceResultShpApiController.java | 10 ++++------ .../inference/dto/InferenceResultShpDto.java | 8 ++++++++ .../service/InferenceResultShpService.java | 17 ++++++++++++----- 3 files changed, 24 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultShpApiController.java b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultShpApiController.java index d5b4cfbb..c4fa7307 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultShpApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultShpApiController.java @@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.inference; import com.kamco.cd.kamcoback.config.api.ApiResponseDto; import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto; +import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto.CreateShpRequest; import com.kamco.cd.kamcoback.inference.service.InferenceResultShpService; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.media.Content; @@ -12,8 +13,8 @@ import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; @Tag(name = "추론결과 데이터 생성", description = "추론결과 데이터 생성 API") @@ -47,11 +48,8 @@ public class InferenceResultShpApiController { @Operation(summary = "추론결과 shp 생성", description = "추론결과 shp 생성") @PostMapping("/shp/{uid}") public ApiResponseDto createShp( - @PathVariable String uid, - @RequestParam Long m1BatchId, - @RequestParam Long m2BatchId, - @RequestParam Long m3BatchId) { - inferenceResultShpService.createShp(uid, m1BatchId, m2BatchId, m3BatchId); + @PathVariable String uid, @RequestBody CreateShpRequest req) { + inferenceResultShpService.createShp(uid, req); return ApiResponseDto.createOK(null); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java index 566699dc..20e0ac05 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/dto/InferenceResultShpDto.java @@ -102,4 +102,12 @@ public class InferenceResultShpDto { @Schema(description = "geojson 파일 생성 수 (덮어쓰기 포함)", example = "120") private int geojson; } + + @Getter + public static class CreateShpRequest { + + private Long m1BatchId; + private Long m2BatchId; + private Long m3BatchId; + } } diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultShpService.java b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultShpService.java index db8c4b78..d6a2a1c7 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultShpService.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/service/InferenceResultShpService.java @@ -1,6 +1,7 @@ package com.kamco.cd.kamcoback.inference.service; import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto; +import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto.CreateShpRequest; import com.kamco.cd.kamcoback.inference.dto.InferenceResultsTestingDto; import com.kamco.cd.kamcoback.postgres.core.InferenceResultCoreService; import com.kamco.cd.kamcoback.postgres.core.InferenceResultShpCoreService; @@ -36,11 +37,17 @@ public class InferenceResultShpService { return coreService.buildInferenceData(id); } - public void createShp(String uid, Long m1BatchId, Long m2BatchId, Long m3BatchId) { + /** + * shp 파일 수동생성 + * + * @param uid + * @param req + */ + public void createShp(String uid, CreateShpRequest req) { List batchIds = new ArrayList<>(); - batchIds.add(m1BatchId); - batchIds.add(m2BatchId); - batchIds.add(m3BatchId); + batchIds.add(req.getM1BatchId()); + batchIds.add(req.getM2BatchId()); + batchIds.add(req.getM3BatchId()); List resultList = inferenceResultCoreService.getInferenceResults(batchIds); @@ -58,7 +65,7 @@ public class InferenceResultShpService { } inferenceId = uid; String mapIds = sb.toString(); - String batchId = m1BatchId + "," + m2BatchId + "," + m3BatchId; + String batchId = req.getM1BatchId() + "," + req.getM2BatchId() + "," + req.getM3BatchId(); // shp 파일 비동기 생성 shpPipelineService.runPipeline(jarPath, datasetDir, batchId, inferenceId, mapIds);