지대한
5 months ago
6 changed files with 146 additions and 6 deletions
@ -0,0 +1,76 @@
|
||||
package com.palnet.biz.api.external.controller; |
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException; |
||||
import com.fasterxml.jackson.databind.ObjectMapper; |
||||
import com.palnet.biz.api.external.model.DosPlanRq; |
||||
import com.palnet.biz.api.external.model.TsPlanRq; |
||||
import com.palnet.comn.code.ErrorCode; |
||||
import com.palnet.comn.exception.CustomException; |
||||
import com.palnet.comn.utils.JsonUtils; |
||||
import io.swagger.v3.oas.annotations.Operation; |
||||
import io.swagger.v3.oas.annotations.tags.Tag; |
||||
import lombok.RequiredArgsConstructor; |
||||
import lombok.extern.slf4j.Slf4j; |
||||
import org.springframework.http.ResponseEntity; |
||||
import org.springframework.web.bind.annotation.PostMapping; |
||||
import org.springframework.web.bind.annotation.RequestBody; |
||||
import org.springframework.web.bind.annotation.RestController; |
||||
|
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
|
||||
@Slf4j |
||||
@Tag(name = "외부 연동 API - 드론원스톱", description = "외부 연동 API - 드론원스톱") |
||||
@RequiredArgsConstructor |
||||
@RestController |
||||
public class ExternalDronOneStopController { |
||||
|
||||
private final ObjectMapper objectMapper; |
||||
|
||||
@Operation(summary = "TS로 부터 비행 신청 정보", description = "TS로 부터 비행 신청 정보") |
||||
@PostMapping({"/api/external/dos/plan/laanc", "/api/laanc/flight/plan"}) |
||||
public ResponseEntity<?> saveFltPlan(@RequestBody String rq) { |
||||
log.info(">>>> dos body: {}", rq); |
||||
DosPlanRq paln; |
||||
try { |
||||
paln = JsonUtils.fromJson(rq, DosPlanRq.class); |
||||
log.info(">>>> dos plan: {}", paln); |
||||
log.info(">>>> dos json: {}", JsonUtils.toJson(paln)); |
||||
} catch (Exception e) { |
||||
ErrorCode errorCode = ErrorCode.TS_PARAM; |
||||
Map<String, String> error = new HashMap<>(); |
||||
error.put("rspCode", "300"); |
||||
error.put("rspMessage", errorCode.message()); |
||||
return ResponseEntity.status(300).body(error); |
||||
} |
||||
|
||||
try { |
||||
// basLaancService.createPlanDos(tsPlanRq);
|
||||
} catch (CustomException e) { |
||||
log.error("IGNORE: ", e); |
||||
|
||||
ErrorCode errorCode = ErrorCode.fromCode(e.getErrorCode()); |
||||
if (errorCode == null) errorCode = ErrorCode.TS_ETC; |
||||
|
||||
String tsErrorCode = errorCode.code().replaceAll("TS", ""); |
||||
|
||||
Map<String, String> error = new HashMap<>(); |
||||
error.put("rspCode", tsErrorCode); |
||||
error.put("rspMessage", errorCode.message()); |
||||
|
||||
return ResponseEntity.status(Integer.parseInt(tsErrorCode)).body(error); |
||||
} catch (Exception e) { |
||||
log.error("IGNORE: ", e); |
||||
Map<String, String> error = new HashMap<>(); |
||||
error.put("rspCode", ErrorCode.TS_ETC.code()); |
||||
error.put("rspMessage", ErrorCode.TS_ETC.message()); |
||||
return ResponseEntity.status(700).body(error); |
||||
} |
||||
|
||||
Map<String, String> successRs = new HashMap<>(); |
||||
successRs.put("rspCode", ErrorCode.TS_SUCCESS.code().replaceAll("TS", "")); |
||||
successRs.put("rspMessage", ErrorCode.TS_SUCCESS.message()); |
||||
return ResponseEntity.ok().body(successRs); |
||||
} |
||||
|
||||
} |
@ -0,0 +1,61 @@
|
||||
package com.palnet.biz.api.external.model; |
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat; |
||||
import lombok.AllArgsConstructor; |
||||
import lombok.Builder; |
||||
import lombok.Data; |
||||
import lombok.NoArgsConstructor; |
||||
|
||||
import java.time.LocalDate; |
||||
import java.util.Date; |
||||
import java.util.List; |
||||
|
||||
@Data |
||||
@Builder |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
public class DosPlanRq { |
||||
|
||||
private DosPlan fltaplylist; |
||||
|
||||
@Data |
||||
@Builder |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
public static class DosPlan { |
||||
|
||||
private String aplyno; |
||||
@JsonFormat(pattern = "yyyyMMdd") |
||||
private LocalDate aplyymd; |
||||
private String fbctnno; |
||||
@JsonFormat(pattern = "yyyyMMdd") |
||||
private LocalDate fltstymd; |
||||
@JsonFormat(pattern = "yyyyMMdd") |
||||
private LocalDate fltendymd; |
||||
private List<DosPlanArea> zone; |
||||
|
||||
|
||||
@Data |
||||
@Builder |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
public static class DosPlanArea { |
||||
|
||||
private Double elev; |
||||
private Double radius; |
||||
private List<DosPlanAreaCoords> coords; |
||||
|
||||
@Data |
||||
@Builder |
||||
@NoArgsConstructor |
||||
@AllArgsConstructor |
||||
public static class DosPlanAreaCoords { |
||||
private Double lat; |
||||
private Double lon; |
||||
} |
||||
} |
||||
|
||||
} |
||||
|
||||
|
||||
} |
Loading…
Reference in new issue