From d95dc364aa51d5de3a5ed2f70520aec0555edf29 Mon Sep 17 00:00:00 2001 From: teddy Date: Fri, 30 Jan 2026 14:10:22 +0900 Subject: [PATCH] =?UTF-8?q?wmts=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gukyuin/GukYuinApiController.java | 268 ++++++------ .../gukyuin/service/GukYuinApiService.java | 2 +- .../cd/kamcoback/layer/dto/WmtsLayerInfo.java | 78 +++- .../kamcoback/layer/service/WmtsService.java | 403 +++++++++++------- 4 files changed, 462 insertions(+), 289 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/gukyuin/GukYuinApiController.java b/src/main/java/com/kamco/cd/kamcoback/gukyuin/GukYuinApiController.java index 00d81bb0..dd6efcf7 100644 --- a/src/main/java/com/kamco/cd/kamcoback/gukyuin/GukYuinApiController.java +++ b/src/main/java/com/kamco/cd/kamcoback/gukyuin/GukYuinApiController.java @@ -37,65 +37,63 @@ public class GukYuinApiController { private final GukYuinApiService gukYuinApiService; - /** - * 탐지결과 등록 - */ + /** 탐지결과 등록 */ @Operation(summary = "탐지결과 등록", description = "탐지결과 등록") @ApiResponses( - value = { - @ApiResponse( - responseCode = "201", - description = "등록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = DetectMastReq.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "201", + description = "등록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = DetectMastReq.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/chn/mast/regist") public ApiResponseDto regist( - @RequestBody @Valid ChngDetectMastDto.ChnDetectMastReqDto chnDetectMastReq) { + @RequestBody @Valid ChngDetectMastDto.ChnDetectMastReqDto chnDetectMastReq) { return ApiResponseDto.ok(gukYuinApiService.regist(chnDetectMastReq)); } @Operation(summary = "탐지결과 삭제", description = "탐지결과 삭제") @ApiResponses( - value = { - @ApiResponse( - responseCode = "201", - description = "등록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = ChnDetectMastReqDto.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "201", + description = "등록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = ChnDetectMastReqDto.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/chn/mast/remove") public ApiResponseDto remove( - @RequestBody @Valid ChngDetectMastDto.ChnDetectMastReqDto chnDetectMastReq) { + @RequestBody @Valid ChngDetectMastDto.ChnDetectMastReqDto chnDetectMastReq) { return ApiResponseDto.ok(gukYuinApiService.remove(chnDetectMastReq)); } @Operation(summary = "탐지결과 등록목록 조회(년도,차수 조회)", description = "탐지결과 등록목록 조회") @GetMapping("/chn/mast") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto selectChangeDetectionList( - @RequestParam(required = false) String cprsYr, - @RequestParam(required = false) String crtrYr, - @RequestParam(required = false) String chnDtctSno) { + @RequestParam(required = false) String cprsYr, + @RequestParam(required = false) String crtrYr, + @RequestParam(required = false) String chnDtctSno) { ChngDetectMastSearchDto searchDto = new ChngDetectMastSearchDto(); searchDto.setCprsYr(cprsYr); searchDto.setCrtrYr(crtrYr); @@ -106,149 +104,149 @@ public class GukYuinApiController { @Operation(summary = "탐지결과 등록목록 조회(회차uid)", description = "탐지결과 등록목록 조회") @GetMapping("/chn/mast/{chnDtctId}") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto selectChangeDetectionDtctIdList( - @RequestParam(required = false) String chnDtctId) { + @RequestParam(required = false) String chnDtctId) { return ApiResponseDto.ok(gukYuinApiService.listChnDtctId(chnDtctId)); } @Operation(summary = "탐지결과 등록목록 조회(1건 조회)", description = "탐지결과 등록목록 조회") @GetMapping("/chn/mast/list/{chnDtctMstId}") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto selectChangeDetectionDetail( - @PathVariable String chnDtctMstId) { + @PathVariable String chnDtctMstId) { return ApiResponseDto.ok(gukYuinApiService.detail(chnDtctMstId)); } @Operation(summary = "국유in연동 가능여부 확인", description = "국유in연동 가능여부 확인") @GetMapping("/is-link/{uuid}") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = - @Schema( - implementation = GukYuinLinkableRes.class, - description = "TRUE:연동가능, FALSE:연동 불가능"))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = + @Schema( + implementation = GukYuinLinkableRes.class, + description = "TRUE:연동가능, FALSE:연동 불가능"))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto getIsLinkGukYuin( - @Parameter(description = "uuid", example = "5799eb21-4780-48b0-a82e-e58dcbb8806b") - @PathVariable - UUID uuid) { + @Parameter(description = "uuid", example = "5799eb21-4780-48b0-a82e-e58dcbb8806b") + @PathVariable + UUID uuid) { return ApiResponseDto.ok(gukYuinApiService.getIsLinkGukYuin(uuid)); } @Operation(summary = "탐지객체 조회 (탐지객체)", description = "탐지객체 조회 (탐지객체)") @GetMapping("/chn/cont/{chnDtctId}") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto findChnContList( - @PathVariable String chnDtctId, - @RequestParam(defaultValue = "0") Integer pageIndex, - @RequestParam(defaultValue = "10") Integer pageSize) { + @PathVariable String chnDtctId, + @RequestParam(defaultValue = "0") Integer pageIndex, + @RequestParam(defaultValue = "10") Integer pageSize) { return ApiResponseDto.ok(gukYuinApiService.findChnContList(chnDtctId, pageIndex, pageSize)); } @Operation(summary = "탐지객체 조회 (PNU에 해당하는 탐지객체)", description = "탐지객체 조회 (PNU에 해당하는 탐지객체)") @GetMapping("/chn/cont/{chnDtctId}/pnu/{pnu}") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto findChnPnuToContList( - @PathVariable String chnDtctId, @PathVariable String pnu) { + @PathVariable String chnDtctId, @PathVariable String pnu) { return ApiResponseDto.ok(gukYuinApiService.findChnPnuToContList(chnDtctId, pnu)); } @Operation(summary = "탐지객체 조회 (탐지객체와 교차하는 PNU)", description = "탐지객체 조회 (탐지객체와 교차하는 PNU)") @GetMapping("/chn/pnu/{chnDtctId}/objt/{chnDtctObjtId}") @ApiResponses( - value = { - @ApiResponse( - responseCode = "200", - description = "목록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = Basic.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "200", + description = "목록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = Basic.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) public ApiResponseDto findPnuObjMgmtList( - @PathVariable String chnDtctId, @PathVariable String chnDtctObjtId) { + @PathVariable String chnDtctId, @PathVariable String chnDtctObjtId) { return ApiResponseDto.ok(gukYuinApiService.findPnuObjMgmtList(chnDtctId, chnDtctObjtId)); } @Operation(summary = "라벨여부 수정", description = "라벨여부 수정") @ApiResponses( - value = { - @ApiResponse( - responseCode = "201", - description = "등록 성공", - content = - @Content( - mediaType = "application/json", - schema = @Schema(implementation = DetectMastReq.class))), - @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), - @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) - }) + value = { + @ApiResponse( + responseCode = "201", + description = "등록 성공", + content = + @Content( + mediaType = "application/json", + schema = @Schema(implementation = DetectMastReq.class))), + @ApiResponse(responseCode = "404", description = "코드를 찾을 수 없음", content = @Content), + @ApiResponse(responseCode = "500", description = "서버 오류", content = @Content) + }) @PostMapping("/rlb/objt/{chnDtctObjtId}/lbl/{lblYn}") public ApiResponseDto updateChnDtctObjtLabelingYn( - @PathVariable String chnDtctObjtId, @PathVariable String lblYn) { + @PathVariable String chnDtctObjtId, @PathVariable String lblYn) { return ApiResponseDto.ok(gukYuinApiService.updateChnDtctObjtLabelingYn(chnDtctObjtId, lblYn)); } @Operation(summary = "국유in연동 등록", description = "국유in연동 등록") @PostMapping("/mast/reg/{uuid}") public ApiResponseDto connectChnMastRegist( - @Parameter(description = "uuid", example = "7a593d0e-76a8-4b50-8978-9af1fbe871af") - @PathVariable - UUID uuid) { + @Parameter(description = "uuid", example = "7a593d0e-76a8-4b50-8978-9af1fbe871af") + @PathVariable + UUID uuid) { return ApiResponseDto.ok(gukYuinApiService.connectChnMastRegist(uuid)); } } diff --git a/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java b/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java index 84b2d172..de37d45e 100644 --- a/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java +++ b/src/main/java/com/kamco/cd/kamcoback/gukyuin/service/GukYuinApiService.java @@ -75,7 +75,7 @@ public class GukYuinApiService { ChngDetectMastDto.RegistResDto.class); ChngDetectMastDto.RegistResDto resultBody = result.body(); - Boolean success = null; + Boolean success = false; if (resultBody != null) { ChngDetectMastDto.Basic registRes = resultBody.getResult(); // 추론 회차에 applyStatus, applyStatusDttm 업데이트 diff --git a/src/main/java/com/kamco/cd/kamcoback/layer/dto/WmtsLayerInfo.java b/src/main/java/com/kamco/cd/kamcoback/layer/dto/WmtsLayerInfo.java index beb6e4ea..a4f30c41 100755 --- a/src/main/java/com/kamco/cd/kamcoback/layer/dto/WmtsLayerInfo.java +++ b/src/main/java/com/kamco/cd/kamcoback/layer/dto/WmtsLayerInfo.java @@ -1,6 +1,5 @@ package com.kamco.cd.kamcoback.layer.dto; -import com.fasterxml.jackson.annotation.JsonProperty; import java.util.ArrayList; import java.util.List; @@ -13,9 +12,32 @@ public class WmtsLayerInfo { public List keywords = new ArrayList<>(); public BoundingBox boundingBox; public List formats = new ArrayList<>(); - public List tileMatrixSetLinks = new ArrayList<>(); + public List tileMatrixSetLinks = new ArrayList<>(); public List resourceUrls = new ArrayList<>(); public List