레이어 관리 api 추가

This commit is contained in:
2026-01-27 21:31:56 +09:00
parent bcf44a6f4a
commit 56adcc8181
4 changed files with 38 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
package com.kamco.cd.kamcoback.postgres.core;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.kamco.cd.kamcoback.common.enums.LayerType;
import com.kamco.cd.kamcoback.common.utils.UserUtil;
@@ -22,7 +23,11 @@ public class MapLayerCoreService {
* @param addDto
*/
public void save(WmtsAddDto addDto) {
Long order = 0L;
MapLayerEntity entity = mapLayerRepository.findSortOrderDesc().orElse(null);
if (entity != null) {
order = entity.getOrder() == null ? order : entity.getOrder() + 10;
}
try {
String rawJson = objectMapper.writeValueAsString(addDto.getWmtsLayerInfo()); // data 없는 형태로 저장
MapLayerEntity mapLayerEntity = new MapLayerEntity();
@@ -32,11 +37,11 @@ public class MapLayerCoreService {
mapLayerEntity.setRawJson(rawJson);
mapLayerEntity.setIsChangeMap(true);
mapLayerEntity.setIsLabelingMap(true);
mapLayerEntity.setOrder(10L);
mapLayerEntity.setOrder(order);
mapLayerEntity.setLayerType(LayerType.WMTS.getId());
mapLayerRepository.save(mapLayerEntity);
} catch (Exception e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
//

View File

@@ -93,6 +93,6 @@ public class MapLayerEntity {
@Column(name = "is_labeling_map")
private Boolean isLabelingMap;
@Column(name = "order")
@Column(name = "sort_order")
private Long order;
}

View File

@@ -1,3 +1,8 @@
package com.kamco.cd.kamcoback.postgres.repository.layer;
public interface MapLayerRepositoryCustom {}
import com.kamco.cd.kamcoback.postgres.entity.MapLayerEntity;
import java.util.Optional;
public interface MapLayerRepositoryCustom {
Optional<MapLayerEntity> findSortOrderDesc();
}

View File

@@ -1,6 +1,27 @@
package com.kamco.cd.kamcoback.postgres.repository.layer;
import static com.kamco.cd.kamcoback.postgres.entity.QMapLayerEntity.mapLayerEntity;
import com.kamco.cd.kamcoback.postgres.entity.MapLayerEntity;
import com.querydsl.jpa.impl.JPAQueryFactory;
import java.util.Optional;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Repository;
@Repository
public class MapLayerRepositoryImpl {}
@RequiredArgsConstructor
public class MapLayerRepositoryImpl implements MapLayerRepositoryCustom {
private final JPAQueryFactory queryFactory;
@Override
public Optional<MapLayerEntity> findSortOrderDesc() {
return Optional.ofNullable(
queryFactory
.selectFrom(mapLayerEntity)
.where(mapLayerEntity.order.isNotNull())
.orderBy(mapLayerEntity.order.desc())
.limit(1)
.fetchOne());
}
}