2 Commits

Author SHA1 Message Date
fe7b1ed0bd Merge pull request '레이어관리 수정' (#16) from feat/infer_dev_260107 into develop
Reviewed-on: #16
2026-01-30 11:54:34 +09:00
2865b075a2 레이어관리 수정 2026-01-30 11:54:11 +09:00
4 changed files with 88 additions and 2 deletions

View File

@@ -2,6 +2,7 @@ package com.kamco.cd.kamcoback.layer;
import com.kamco.cd.kamcoback.config.api.ApiResponseDto; import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.IsMapYn;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.OrderReq; import com.kamco.cd.kamcoback.layer.dto.LayerDto.OrderReq;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.SearchReq; import com.kamco.cd.kamcoback.layer.dto.LayerDto.SearchReq;
@@ -78,10 +79,24 @@ public class LayerApiController {
}) })
@PostMapping("/save/{layerType}") @PostMapping("/save/{layerType}")
public ApiResponseDto<UUID> save( public ApiResponseDto<UUID> save(
@PathVariable String layerType, @RequestBody LayerDto.AddReq dto) { @Schema(description = "TILE,GEOJSON,WMS,WMTS", example = "GEOJSON") @PathVariable
String layerType,
@RequestBody LayerDto.AddReq dto) {
return ApiResponseDto.ok(layerService.saveLayers(layerType, dto)); return ApiResponseDto.ok(layerService.saveLayers(layerType, dto));
} }
@Operation(summary = "순서 변경", description = "순서 변경 api")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "201",
description = "등록 성공",
content =
@Content(
mediaType = "application/json",
schema = @Schema(implementation = Void.class))),
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
})
@PutMapping("/order") @PutMapping("/order")
public ApiResponseDto<Void> updateOrder(@RequestBody List<OrderReq> dto) { public ApiResponseDto<Void> updateOrder(@RequestBody List<OrderReq> dto) {
layerService.orderUpdate(dto); layerService.orderUpdate(dto);
@@ -154,6 +169,24 @@ public class LayerApiController {
return ApiResponseDto.ok(null); return ApiResponseDto.ok(null);
} }
@Operation(summary = "맵 노출여부 수정", description = "맵 노출여부 수정 api")
@ApiResponses(
value = {
@ApiResponse(
responseCode = "201",
description = "수정 성공",
content =
@Content(
mediaType = "application/json",
schema = @Schema(implementation = Void.class))),
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
})
@PutMapping("/update-map/{uuid}")
public ApiResponseDto<Void> updateIsMap(@PathVariable UUID uuid, @RequestBody IsMapYn isMapYn) {
layerService.updateIsMap(uuid, isMapYn);
return ApiResponseDto.ok(null);
}
@Operation(summary = "wmts tile 조회", description = "wmts tile 조회 api") @Operation(summary = "wmts tile 조회", description = "wmts tile 조회 api")
@ApiResponses( @ApiResponses(
value = { value = {

View File

@@ -1,6 +1,7 @@
package com.kamco.cd.kamcoback.layer.dto; package com.kamco.cd.kamcoback.layer.dto;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
@@ -110,7 +111,7 @@ public class LayerDto {
@Schema(name = "LayerAddReq") @Schema(name = "LayerAddReq")
public static class AddReq { public static class AddReq {
@Schema(description = "title") @Schema(description = "title WMS, WMTS 선택한 tile")
private String title; private String title;
@Schema(description = "설명") @Schema(description = "설명")
@@ -302,6 +303,11 @@ public class LayerDto {
this.rawJson = rawJson; this.rawJson = rawJson;
this.bbox = geoJson; this.bbox = geoJson;
} }
@JsonProperty("workspace")
public String getWorkSpace() {
return "cd";
}
} }
@Schema(name = "TileUrlDto", description = "Tile Url 정보") @Schema(name = "TileUrlDto", description = "Tile Url 정보")
@@ -389,4 +395,17 @@ public class LayerDto {
private TileUrlDto before; private TileUrlDto before;
private TileUrlDto after; private TileUrlDto after;
} }
@Schema(name = "맵 노출 여부", description = "맵 노출 여부")
@Getter
@Setter
@NoArgsConstructor
@AllArgsConstructor
public static class IsMapYn {
@Schema(description = "CHANGE_MAP(변화지도), LABELING_MAP(라벨링지도)", example = "CHANGE_MAP")
private String mapType;
@Schema(description = "노출여부 true, false", example = "true")
private Boolean isMapYn;
}
} }

View File

@@ -4,6 +4,7 @@ import com.kamco.cd.kamcoback.common.enums.LayerType;
import com.kamco.cd.kamcoback.common.exception.CustomApiException; import com.kamco.cd.kamcoback.common.exception.CustomApiException;
import com.kamco.cd.kamcoback.layer.dto.LayerDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.Basic; import com.kamco.cd.kamcoback.layer.dto.LayerDto.Basic;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.IsMapYn;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.OrderReq; import com.kamco.cd.kamcoback.layer.dto.LayerDto.OrderReq;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.TileUrlDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto.TileUrlDto;
@@ -126,6 +127,17 @@ public class LayerService {
mapLayerCoreService.update(uuid, dto); mapLayerCoreService.update(uuid, dto);
} }
/**
* 맵 노출 여부 수정
*
* @param uuid
* @param isMapYn
*/
@Transactional
public void updateIsMap(UUID uuid, IsMapYn isMapYn) {
mapLayerCoreService.updateIsMap(uuid, isMapYn);
}
/** /**
* wmts tile 조회 * wmts tile 조회
* *

View File

@@ -6,6 +6,7 @@ import com.kamco.cd.kamcoback.common.enums.LayerType;
import com.kamco.cd.kamcoback.common.exception.CustomApiException; import com.kamco.cd.kamcoback.common.exception.CustomApiException;
import com.kamco.cd.kamcoback.common.utils.UserUtil; import com.kamco.cd.kamcoback.common.utils.UserUtil;
import com.kamco.cd.kamcoback.layer.dto.LayerDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.IsMapYn;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto.LayerMapDto;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.OrderReq; import com.kamco.cd.kamcoback.layer.dto.LayerDto.OrderReq;
import com.kamco.cd.kamcoback.layer.dto.LayerDto.TileUrlDto; import com.kamco.cd.kamcoback.layer.dto.LayerDto.TileUrlDto;
@@ -134,6 +135,27 @@ public class MapLayerCoreService {
entity.setUpdatedDttm(ZonedDateTime.now()); entity.setUpdatedDttm(ZonedDateTime.now());
} }
/**
* 맵 노출 여부
*
* @param uuid
* @param isMapYn
*/
public void updateIsMap(UUID uuid, IsMapYn isMapYn) {
MapLayerEntity entity =
mapLayerRepository
.findDetailByUuid(uuid)
.orElseThrow(() -> new CustomApiException("NOT_FOUND_DATA", HttpStatus.NOT_FOUND));
if ("CHANGE_MAP".equals(isMapYn.getMapType())) {
entity.setIsChangeMap(isMapYn.getIsMapYn());
} else if ("LABELING_MAP".equals(isMapYn.getMapType())) {
entity.setIsLabelingMap(isMapYn.getIsMapYn());
} else {
throw new CustomApiException("BAD_REQUEST", HttpStatus.BAD_REQUEST);
}
}
/** /**
* 순서 수정 * 순서 수정
* *