From ceebbdfa5076b9646efb1bfda5e4a2c3313a6442 Mon Sep 17 00:00:00 2001 From: "gayoun.park" Date: Fri, 30 Jan 2026 10:51:22 +0900 Subject: [PATCH] =?UTF-8?q?=EB=B3=80=ED=99=94=EC=A7=80=EB=8F=84,=20?= =?UTF-8?q?=EB=9D=BC=EB=B2=A8=EB=A7=81=20=EB=A7=B5=20=EB=A6=AC=EC=8A=A4?= =?UTF-8?q?=ED=8A=B8=20uuid,=20rawjson=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cd/kamcoback/layer/dto/LayerDto.java | 27 ++++++++++++++++--- .../layer/MapLayerRepositoryImpl.java | 4 ++- 2 files changed, 27 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/kamco/cd/kamcoback/layer/dto/LayerDto.java b/src/main/java/com/kamco/cd/kamcoback/layer/dto/LayerDto.java index 3c5671f8..99914e5d 100644 --- a/src/main/java/com/kamco/cd/kamcoback/layer/dto/LayerDto.java +++ b/src/main/java/com/kamco/cd/kamcoback/layer/dto/LayerDto.java @@ -244,6 +244,14 @@ public class LayerDto { @JsonIgnore private String bboxGeometry; + @Schema(description = "uuid") + private UUID uuid; + + @JsonIgnore private String rawJsonString; + + @Schema(description = "rawJson") + private JsonNode rawJson; + public LayerMapDto( String layerType, String tag, @@ -255,7 +263,9 @@ public class LayerDto { BigDecimal maxLat, Short minZoom, Short maxZoom, - String bboxGeometry) { + String bboxGeometry, + UUID uuid, + String rawJsonString) { this.layerType = layerType; this.tag = tag; this.sortOrder = sortOrder; @@ -267,11 +277,13 @@ public class LayerDto { this.minZoom = minZoom; this.maxZoom = maxZoom; this.bboxGeometry = bboxGeometry; + this.uuid = uuid; + this.rawJsonString = rawJsonString; JsonNode geoJson = null; - + JsonNode rawJson = null; + ObjectMapper mapper = new ObjectMapper(); if (bboxGeometry != null) { - ObjectMapper mapper = new ObjectMapper(); try { geoJson = mapper.readTree(bboxGeometry); } catch (JsonProcessingException e) { @@ -279,6 +291,15 @@ public class LayerDto { } } + if (rawJsonString != null) { + try { + rawJson = mapper.readTree(rawJsonString); + } catch (JsonProcessingException e) { + throw new RuntimeException(e); + } + } + + this.rawJson = rawJson; this.bbox = geoJson; } } diff --git a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/layer/MapLayerRepositoryImpl.java b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/layer/MapLayerRepositoryImpl.java index 46dea36d..484171c4 100644 --- a/src/main/java/com/kamco/cd/kamcoback/postgres/repository/layer/MapLayerRepositoryImpl.java +++ b/src/main/java/com/kamco/cd/kamcoback/postgres/repository/layer/MapLayerRepositoryImpl.java @@ -109,7 +109,9 @@ public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom { mapLayerEntity.minLon, mapLayerEntity.minLat, mapLayerEntity.maxLon, - mapLayerEntity.maxLat))) + mapLayerEntity.maxLat), + mapLayerEntity.uuid, + Expressions.stringTemplate("cast({0} as text)", mapLayerEntity.rawJson))) .from(mapLayerEntity) .where(layerTypeCondition(type), mapLayerEntity.isDeleted.isFalse()) .orderBy(mapLayerEntity.order.asc())