diff --git a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/controller/ComnSunrisesetController.java b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/controller/ComnSunrisesetController.java index 019afd3f..cd893a27 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/controller/ComnSunrisesetController.java +++ b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/controller/ComnSunrisesetController.java @@ -8,6 +8,8 @@ import com.palnet.biz.api.comn.sunriseset.model.ComnSunrisesetRq; import com.palnet.biz.api.comn.sunriseset.model.ComnSunrisesetRs; import com.palnet.biz.api.comn.sunriseset.service.ComnSunrisesetService; import com.palnet.comn.exception.CustomException; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import io.swagger.v3.oas.annotations.tags.Tag; import lombok.RequiredArgsConstructor; @@ -17,6 +19,7 @@ import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import springfox.documentation.annotations.ApiIgnore; import java.util.HashMap; import java.util.List; @@ -72,8 +75,38 @@ public class ComnSunrisesetController { @ApiOperation(value = "일출/일몰 조회(좌표)", notes = "기간내 근접한 지역의 일출/일몰 조회") @Tag(name = "공통 API", description = "공통 API") @GetMapping("/coord") - public ResponseEntity getSunRiseSetByCoord(ComnSunrisesetCoordRq rq) { + public ResponseEntity getSunRiseSetByCoordAndDate(ComnSunrisesetCoordRq rq) { ComnSunrisesetRs rs = null; + try { + log.debug(">>> rq : {}", rq); + rs = comnSunrisesetService.getSunRiseSetByCoordAndDate(rq); +// log.debug(">>> rs : {}", rs); + + } catch (CustomException e) { + Map resultMap = new HashMap(); + log.error("IGNORE : ", e); + resultMap.put("result", false); + resultMap.put("errorCode", e.getErrorCode()); + resultMap.put("errorMessage", e.getMessage()); + return ResponseEntity.ok().body(new SuccessResponse(resultMap)); + } catch (Exception e) { + log.error("IGNORE : ", e); + return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR) + .body(new ErrorResponse("Server Error", "-1")); + + } + return ResponseEntity.ok().body(new SuccessResponse<>(rs)); + } + + @ApiOperation(value = "일출/일몰 조회(좌표-6개월치)", notes = "근접한 지역의 현재~6개월치의 일출/일몰 데이터 조회") + @Tag(name = "공통 API", description = "공통 API") + @ApiImplicitParams(value = { + @ApiImplicitParam(name = "lat", value = "위도", required = true, dataType = "double", paramType = "query", example = "37.5665", defaultValue = "37.5665"), + @ApiImplicitParam(name = "lon", value = "경도", required = true, dataType = "double", paramType = "query", example = "126.9780", defaultValue = "126.9780"), + }) + @GetMapping("/coord/list") + public ResponseEntity getSunRiseSetByCoord(@ApiIgnore ComnSunrisesetCoordRq rq) { + List rs = null; try { log.debug(">>> rq : {}", rq); rs = comnSunrisesetService.getSunRiseSetByCoord(rq); diff --git a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/model/ComnSunrisesetCoordRq.java b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/model/ComnSunrisesetCoordRq.java index 7fa9d656..8c86f331 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/model/ComnSunrisesetCoordRq.java +++ b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/model/ComnSunrisesetCoordRq.java @@ -36,4 +36,9 @@ public class ComnSunrisesetCoordRq { public boolean hasAllData() { return (locStDate != null && !locStDate.isEmpty()) && (locEndDate != null && !locEndDate.isEmpty()) && lat != null && lon != null; } + + @JsonIgnore + public boolean hasCoord() { + return lat != null && lon != null; + } } diff --git a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java index afa29194..851c3707 100644 --- a/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java +++ b/pav-server/src/main/java/com/palnet/biz/api/comn/sunriseset/service/ComnSunrisesetService.java @@ -36,8 +36,13 @@ public class ComnSunrisesetService { } - public ComnSunrisesetRs getSunRiseSetByCoord(ComnSunrisesetCoordRq rq) { + public ComnSunrisesetRs getSunRiseSetByCoordAndDate(ComnSunrisesetCoordRq rq) { if(rq == null || !rq.hasAllData()) throw new CustomException(ErrorCode.NON_VALID_PARAMETER); - return comRiseSetQueryRepository.findBySearchCoordTransform(rq); + return comRiseSetQueryRepository.findBySearchCoordDateTransform(rq); + } + + public List getSunRiseSetByCoord(ComnSunrisesetCoordRq rq) { + if(rq == null || !rq.hasCoord()) throw new CustomException(ErrorCode.NON_VALID_PARAMETER); + return comRiseSetQueryRepository.findAllBySearchCoordTransform(rq); } }