70 lines
3.3 KiB
Java
70 lines
3.3 KiB
Java
package com.kamco.cd.kamcoback.inference;
|
|
|
|
import com.kamco.cd.kamcoback.config.api.ApiResponseDto;
|
|
import com.kamco.cd.kamcoback.inference.dto.InferenceDetailDto;
|
|
import com.kamco.cd.kamcoback.inference.service.InferenceResultService;
|
|
import io.swagger.v3.oas.annotations.Operation;
|
|
import io.swagger.v3.oas.annotations.Parameter;
|
|
import io.swagger.v3.oas.annotations.media.Content;
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponse;
|
|
import io.swagger.v3.oas.annotations.responses.ApiResponses;
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
|
import java.util.List;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.data.domain.Page;
|
|
import org.springframework.web.bind.annotation.GetMapping;
|
|
import org.springframework.web.bind.annotation.PathVariable;
|
|
import org.springframework.web.bind.annotation.RequestMapping;
|
|
import org.springframework.web.bind.annotation.RequestParam;
|
|
import org.springframework.web.bind.annotation.RestController;
|
|
|
|
@Tag(name = "추론관리 분석결과", description = "추론관리 분석결과")
|
|
@RequiredArgsConstructor
|
|
@RestController
|
|
@RequestMapping({"/v2/demo/inf/res"})
|
|
@Slf4j
|
|
public class InferenceResultApiV2Controller {
|
|
|
|
private final InferenceResultService inferenceResultService;
|
|
|
|
@Operation(summary = "추론관리 분석결과 상세 목록 V2", description = "추론관리 분석결과 상세 목록 geojson 데이터 조회")
|
|
@ApiResponses(
|
|
value = {
|
|
@ApiResponse(
|
|
responseCode = "200",
|
|
description = "검색 성공",
|
|
content =
|
|
@Content(
|
|
mediaType = "application/json",
|
|
schema = @Schema(implementation = Page.class))),
|
|
@ApiResponse(responseCode = "400", description = "잘못된 검색 조건", content = @Content),
|
|
@ApiResponse(responseCode = "500", description = "서버 오류", content = @Content)
|
|
})
|
|
@GetMapping("/geom/{id}")
|
|
public ApiResponseDto<Page<InferenceDetailDto.DetailListEntity>> listInferenceResultWithGeom(
|
|
@Parameter(description = "분석결과 id", example = "1") @PathVariable Long id,
|
|
@Parameter(description = "기준년도 분류", example = "land") @RequestParam(required = false)
|
|
String targetClass,
|
|
@Parameter(description = "비교년도 분류", example = "waste") @RequestParam(required = false)
|
|
String compareClass,
|
|
@Parameter(description = "5000:1 도협번호 37801011,37801012") @RequestParam(required = false)
|
|
List<Long> mapSheetNum,
|
|
@Parameter(description = "페이지 번호 (0부터 시작)", example = "0") @RequestParam(defaultValue = "0")
|
|
int page,
|
|
@Parameter(description = "페이지 크기", example = "20") @RequestParam(defaultValue = "20")
|
|
int size,
|
|
@Parameter(description = "정렬 조건 (형식: 필드명,방향)", example = "name,asc")
|
|
@RequestParam(required = false)
|
|
String sort) {
|
|
InferenceDetailDto.SearchGeoReq searchGeoReq =
|
|
new InferenceDetailDto.SearchGeoReq(
|
|
targetClass, compareClass, mapSheetNum, page, size, sort);
|
|
|
|
Page<InferenceDetailDto.DetailListEntity> geomList =
|
|
inferenceResultService.listInferenceResultWithGeom(id, searchGeoReq);
|
|
return ApiResponseDto.ok(geomList);
|
|
}
|
|
}
|