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 5e67ec87..f2c83c6f 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultShpApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/InferenceResultShpApiController.java @@ -4,6 +4,10 @@ import com.kamco.cd.kamcoback.config.api.ApiResponseDto; import com.kamco.cd.kamcoback.inference.dto.InferenceResultShpDto; import com.kamco.cd.kamcoback.inference.service.InferenceResultShpService; import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.media.Content; +import io.swagger.v3.oas.annotations.media.Schema; +import io.swagger.v3.oas.annotations.responses.ApiResponse; +import io.swagger.v3.oas.annotations.responses.ApiResponses; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; import org.springframework.web.bind.annotation.PostMapping; @@ -19,12 +23,37 @@ public class InferenceResultShpApiController { private final InferenceResultShpService inferenceResultShpService; @Operation(summary = "추론결과 데이터 저장", description = "추론결과 데이터 저장") + @ApiResponses( + value = { + @ApiResponse( + responseCode = "201", + description = "데이터 저장 성공", + content = + @Content( + mediaType = "application/json", + schema = + @Schema(implementation = InferenceResultShpDto.InferenceCntDto.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/save") public ApiResponseDto saveInferenceData() { return ApiResponseDto.createOK(inferenceResultShpService.saveInferenceResultData()); } @Operation(summary = "shp 파일 생성", description = "shp 파일 생성") + @ApiResponses( + value = { + @ApiResponse( + responseCode = "201", + description = "파일생성 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = InferenceResultShpDto.FileCntDto.class))), + @ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/create") public ApiResponseDto createShpFile() { return ApiResponseDto.createOK(inferenceResultShpService.createShpFile()); 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 117ff445..96de4301 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 @@ -1,6 +1,7 @@ package com.kamco.cd.kamcoback.inference.dto; import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity; +import io.swagger.v3.oas.annotations.media.Schema; import java.util.UUID; import lombok.AllArgsConstructor; import lombok.Getter; @@ -70,7 +71,10 @@ public class InferenceResultShpDto { @NoArgsConstructor public static class InferenceCntDto { + @Schema(description = "추론 결과(inference_results)를 기준으로 신규 저장 데이터 건수", example = "120") int inferenceCnt; + + @Schema(description = "추론 결과(inference_results)를 기준으로 신규 저장 Geom 데이터 건수", example = "120") int inferenceGeomCnt; } @@ -80,10 +84,19 @@ public class InferenceResultShpDto { @NoArgsConstructor public static class FileCntDto { + @Schema(description = "shp 파일 생성 수 (덮어쓰기 포함)", example = "120") private int shp; + + @Schema(description = "shx 파일 생성 수 (덮어쓰기 포함)", example = "120") private int shx; + + @Schema(description = "dbf 파일 생성 수 (덮어쓰기 포함)", example = "120") private int dbf; + + @Schema(description = "prj 파일 생성 수 (덮어쓰기 포함)", example = "120") private int prj; + + @Schema(description = "geojson 파일 생성 수 (덮어쓰기 포함)", example = "120") private int geojson; } } diff --git a/src/main/java/com/kamco/cd/kamcoback/inference/service/GeoToolsShpWriter.java b/src/main/java/com/kamco/cd/kamcoback/inference/service/GeoToolsShpWriter.java index e2665cbb..def45ede 100644 --- a/src/main/java/com/kamco/cd/kamcoback/inference/service/GeoToolsShpWriter.java +++ b/src/main/java/com/kamco/cd/kamcoback/inference/service/GeoToolsShpWriter.java @@ -102,7 +102,7 @@ public class GeoToolsShpWriter implements ShpWriter { log.info("SHP 생성 완료: {} ({} features)", shpFile.getAbsolutePath(), collection.size()); - // ✅ 덮어쓰기 포함: 이번 호출이 정상 종료되면 4개 파일 write가 발생했다고 카운트 + // 덮어쓰기 포함: 이번 호출이 정상 종료되면 4개 파일 write가 발생했다고 카운트 return new WriteCnt(1, 1, 1, 1, 0); } catch (Exception e) {