Browse Source

TS - 드론원스탑 비행계획서 받기

pull/16/head
지대한 10 months ago
parent
commit
f4a6203a83
  1. 2
      pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java
  2. 39
      pav-server/src/main/java/com/palnet/biz/api/external/controller/ExternalLaancController.java
  3. 13
      pav-server/src/main/java/com/palnet/biz/api/external/model/TsPlanRq.java
  4. 33
      pav-server/src/main/java/com/palnet/biz/api/external/service/TsService.java
  5. 13
      pav-server/src/main/java/com/palnet/comn/code/ErrorCode.java

2
pav-server/src/main/java/com/palnet/biz/api/bas/laanc/service/BasLaancService.java

@ -1,7 +1,6 @@
package com.palnet.biz.api.bas.laanc.service;
import com.google.zxing.WriterException;
import com.itextpdf.io.util.HashCode;
import com.palnet.biz.api.acnt.cstmr.model.AnctCstmrModel;
import com.palnet.biz.api.acnt.cstmr.model.AnctCstmrTermsModel;
import com.palnet.biz.api.acnt.jwt.utils.JwtTokenUtil;
@ -693,4 +692,5 @@ public class BasLaancService {
return rs;
}
}

39
pav-server/src/main/java/com/palnet/biz/api/external/controller/ExternalLaancController.java vendored

@ -4,6 +4,8 @@ import com.palnet.biz.api.bas.laanc.service.BasLaancService;
import com.palnet.biz.api.external.model.TsPlanRq;
import com.palnet.biz.api.external.model.TsQrcodeRs;
import com.palnet.biz.api.external.service.TsService;
import com.palnet.comn.code.ErrorCode;
import com.palnet.comn.exception.CustomException;
import com.palnet.comn.utils.JsonUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@ -22,7 +24,6 @@ import java.util.Map;
@RestController
public class ExternalLaancController {
private final BasLaancService basLaancService;
private final TsService tsService;
/*
@ -41,15 +42,40 @@ public class ExternalLaancController {
@PostMapping("/plan/dos")
public ResponseEntity<?> createTsFltPlan(@RequestBody String body) {
log.info(">>>> /plan/ost body: {}", body);
TsPlanRq tsPlanRq;
try {
TsPlanRq tsPlanRq = JsonUtils.fromJson(body, TsPlanRq.class);
tsPlanRq = JsonUtils.fromJson(body, TsPlanRq.class);
} catch (Exception e){
log.error("IGNORE: ", e);
ErrorCode errorCode = ErrorCode.TS_PARAM;
Map<String, String> error = new HashMap<>();
error.put("rspCode", "300");
error.put("rspMessage", "메시지 규격이 다릅니다.");
error.put("rspMessage", errorCode.message());
return ResponseEntity.status(300).body(error);
}
// try {
// tsService.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(300).body(error);
// }
return ResponseEntity.ok().build();
}
@ -61,4 +87,9 @@ public class ExternalLaancController {
return ResponseEntity.ok().build();
}
public static void main(String[] args) {
ErrorCode errorCode = ErrorCode.fromCode("TS200");
System.out.println(errorCode);
}
}

13
pav-server/src/main/java/com/palnet/biz/api/external/model/TsPlanRq.java vendored

@ -1,5 +1,6 @@
package com.palnet.biz.api.external.model;
import com.palnet.biz.api.bas.laanc.model.BasLaancPlanRq;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -86,4 +87,16 @@ public class TsPlanRq {
private String radius;
}
}
// Laanc RQ로 변형
public BasLaancPlanRq toBasLaancPlanRq() {
BasLaancPlanRq rq = new BasLaancPlanRq();
return rq;
}
}

33
pav-server/src/main/java/com/palnet/biz/api/external/service/TsService.java vendored

@ -6,10 +6,11 @@ import com.google.zxing.client.j2se.MatrixToImageConfig;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.palnet.biz.api.external.model.PilotValidRq;
import com.palnet.biz.api.external.model.PilotValidRs;
import com.palnet.biz.api.external.model.TsQrcodeRq;
import com.palnet.biz.api.external.model.TsQrcodeRs;
import com.palnet.biz.api.bas.laanc.model.BasLaancLastRs;
import com.palnet.biz.api.bas.laanc.model.BasLaancPlanRq;
import com.palnet.biz.api.bas.laanc.model.BasLaancValidatedRs;
import com.palnet.biz.api.bas.laanc.service.BasLaancService;
import com.palnet.biz.api.external.model.*;
import com.palnet.biz.jpa.entity.ComConfirmBas;
import com.palnet.biz.jpa.repository.com.ComConfirmBasRepository;
import com.palnet.comn.utils.JsonUtils;
@ -20,6 +21,7 @@ import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.reactive.function.client.WebClient;
import org.springframework.web.reactive.function.client.WebClientResponseException;
import org.springframework.web.util.DefaultUriBuilderFactory;
@ -55,6 +57,7 @@ public class TsService {
private final String ACCOUNT_VALIDATE_URI = "/api/account/getValidate";
private final ComConfirmBasRepository comConfirmBasRepository;
private final BasLaancService basLaancService;
// 이전 TS 연동
@ -163,4 +166,26 @@ public class TsService {
comConfirmBasRepository.save(entity);
}
}
// TS 비행계획서
public void createPlanDos(TsPlanRq tsPlanRq) {
// convert
BasLaancPlanRq rq = tsPlanRq.toBasLaancPlanRq();
// 기존 로직대로 수행
BasLaancValidatedRs basLaancValidatedRs = basLaancService.validationLaanc(rq);
if (!basLaancValidatedRs.isValid()) {
log.info("ts dron one stop validation fail : {}", basLaancValidatedRs);
return;
}
try {
BasLaancLastRs flightPlan = basLaancService.createFlightPlan(rq);
} catch (Exception e) {
log.error("ts dron one stop create flight plan fail", e);
}
}
}

13
pav-server/src/main/java/com/palnet/comn/code/ErrorCode.java

@ -1,5 +1,8 @@
package com.palnet.comn.code;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.palnet.biz.jpa.entity.type.FltType;
public enum ErrorCode {
SUCCESS("1", "성공"),
FAIL("-1", "실패"),
@ -43,4 +46,14 @@ public enum ErrorCode {
public String message() {
return message;
}
@JsonCreator
public static ErrorCode fromCode(String code) {
for (ErrorCode errorCode : ErrorCode.values()) {
if (errorCode.code().equals(code)) {
return errorCode;
}
}
return null;
}
}

Loading…
Cancel
Save