회차 Uid로 Uuid 조회 api 추가 #88
@@ -147,6 +147,15 @@ public class ChangeDetectionApiController {
|
||||
changeDetectionService.getChangeDetectionPointList(type, scale, uuid, mapSheetNum));
|
||||
}
|
||||
|
||||
@Operation(summary = "선택 변화탐지 결과 uuid 조회", description = "선택 변화탐지 결과 uuid 조회")
|
||||
@GetMapping("/selected/uuid")
|
||||
public ApiResponseDto<UUID> getChnDtctIdUuid(
|
||||
@Parameter(description = "회차 32자 uid", example = "98ABAA1FC4394F11885C302C19AE5E81")
|
||||
@RequestParam
|
||||
String chnDtctId) {
|
||||
return ApiResponseDto.ok(changeDetectionService.getLearnUuid(chnDtctId));
|
||||
}
|
||||
|
||||
@Operation(summary = "선택 변화탐지 결과 Polygon", description = "선택 변화탐지 결과 Polygon")
|
||||
@GetMapping("/selected/polygon")
|
||||
public ApiResponseDto<ChangeDetectionDto.PolygonFeatureList> getCdPolygonList(
|
||||
|
||||
@@ -117,4 +117,14 @@ public class ChangeDetectionService {
|
||||
String chnDtctId, String cdObjectId, List<String> cdObjectIds, String pnu) {
|
||||
return changeDetectionCoreService.getPointListByCd(chnDtctId, cdObjectId, cdObjectIds);
|
||||
}
|
||||
|
||||
/**
|
||||
* Learn uuid 조회
|
||||
*
|
||||
* @param chnDtctId
|
||||
* @return uuid
|
||||
*/
|
||||
public UUID getLearnUuid(String chnDtctId) {
|
||||
return changeDetectionCoreService.getLearnUuid(chnDtctId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -7,6 +7,7 @@ import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
|
||||
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
|
||||
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapSheetList;
|
||||
import com.kamco.cd.kamcoback.common.enums.DetectionClassification;
|
||||
import com.kamco.cd.kamcoback.common.exception.CustomApiException;
|
||||
import com.kamco.cd.kamcoback.postgres.entity.MapSheetAnalDataInferenceGeomEntity;
|
||||
import com.kamco.cd.kamcoback.postgres.repository.changedetection.ChangeDetectionRepository;
|
||||
import java.util.List;
|
||||
@@ -15,6 +16,7 @@ import java.util.stream.Collectors;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.locationtech.jts.geom.Geometry;
|
||||
import org.locationtech.jts.geom.Point;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@Service
|
||||
@@ -124,26 +126,14 @@ public class ChangeDetectionCoreService {
|
||||
}
|
||||
|
||||
/**
|
||||
* 선택 polygon 조회 by pnu
|
||||
* learn uuid 조회
|
||||
*
|
||||
* @param chnDtctId 회차 uid 32자
|
||||
* @param pnu Pnu
|
||||
* @param chnDtctId
|
||||
* @return
|
||||
*/
|
||||
public ChangeDetectionDto.PolygonFeatureList getSelectedChangeDetectionPolygonListByPnu(
|
||||
String chnDtctId, String pnu) {
|
||||
return changeDetectionRepository.getSelectedChangeDetectionPolygonListByPnu(chnDtctId, pnu);
|
||||
}
|
||||
|
||||
/**
|
||||
* 선택 point 조회 by pnu
|
||||
*
|
||||
* @param chnDtctId 회차 uid 32자
|
||||
* @param pnu Pnu
|
||||
* @return
|
||||
*/
|
||||
public ChangeDetectionDto.PointFeatureList getSelectedChangeDetectionPointListByPnu(
|
||||
String chnDtctId, String pnu) {
|
||||
return changeDetectionRepository.getSelectedChangeDetectionPointListByPnu(chnDtctId, pnu);
|
||||
public UUID getLearnUuid(String chnDtctId) {
|
||||
return changeDetectionRepository
|
||||
.getLearnUuid(chnDtctId)
|
||||
.orElseThrow(() -> new CustomApiException("NOT_FOUND_DATA", HttpStatus.NOT_FOUND));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto;
|
||||
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapScaleType;
|
||||
import com.kamco.cd.kamcoback.changedetection.dto.ChangeDetectionDto.MapSheetList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
public interface ChangeDetectionRepositoryCustom {
|
||||
@@ -40,4 +41,6 @@ public interface ChangeDetectionRepositoryCustom {
|
||||
|
||||
ChangeDetectionDto.PointFeatureList getSelectedChangeDetectionPointListByPnu(
|
||||
String chnDtctId, String pnu);
|
||||
|
||||
Optional<UUID> getLearnUuid(String chnDtctId);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ import com.querydsl.jpa.JPAExpressions;
|
||||
import com.querydsl.jpa.impl.JPAQueryFactory;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
import java.util.stream.Collectors;
|
||||
import org.springframework.data.jpa.repository.support.QuerydslRepositorySupport;
|
||||
@@ -630,4 +631,16 @@ public class ChangeDetectionRepositoryImpl extends QuerydslRepositorySupport
|
||||
|
||||
return new ChangeDetectionDto.PointFeatureList("FeatureCollection", result);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<UUID> getLearnUuid(String chnDtctId) {
|
||||
return Optional.ofNullable(
|
||||
queryFactory
|
||||
.select(mapSheetAnalInferenceEntity.uuid)
|
||||
.from(mapSheetLearnEntity)
|
||||
.innerJoin(mapSheetAnalInferenceEntity)
|
||||
.on(mapSheetAnalInferenceEntity.learnId.eq(mapSheetLearnEntity.id))
|
||||
.where(mapSheetLearnEntity.uid.eq(chnDtctId))
|
||||
.fetchOne());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user