diff --git a/src/main/java/com/vmis/interfaceapp/config/ApiConstant.java b/src/main/java/com/vmis/interfaceapp/config/ApiConstant.java index a2b3c86..2cf94e6 100644 --- a/src/main/java/com/vmis/interfaceapp/config/ApiConstant.java +++ b/src/main/java/com/vmis/interfaceapp/config/ApiConstant.java @@ -11,19 +11,61 @@ package com.vmis.interfaceapp.config; */ public class ApiConstant { + /* + * + 코드 코드 상세 비고 + MSG50000 EAI 연계 호출을 성공적으로 처리하였습니다.   + MSG50001 요청하신 자료가 존재하지 않습니다.   + MSG50002 EAI 연계 호출결과 기준치보다 많은 결과조회로 인해 열람이 불가합니다.   + MSG50110 EAI 호출을 위한 Message(Header) 구성에 실패하였습니다. 기타 Exception에 의해 EAI 호출을 위한 Message(Header) 구성에 실패하였습니다. + MSG50111 요청하신 연계정보 ID가 연계정보 테이블에 존재하지 않아, Message(Header)를 구성하는데 실패하였습니다. EAI Client에서 Request Message Header 정보를 구성시 Header 정보가 연계정보 테이블에 없습 + MSG50112 요청하신 연계정보 ID가 interface.properties에 존재하지 않아 Message(Header)를 구성하는데 실패하였습니다.   + MSG50120 EAI 호출을 위한 Message(Common) 구성에 실패하였습니다.   + MSG50121 요청하신 연계정보 ID가 연계정보 테이블에 존재하지 않아, Message(Common)를 구성하는데 실패하였습니다.   + MSG50122 사용자 Session정보 획득에 실패하여, Message(Common) 구성에 실패하였습니다.   + MSG50130 EAI 호출을 위한 Message(Body) 구성에 실패하였습니다.   + MSG50131 자동차관리정보시스템 호출을위한 Message(DataSet)구성에 실패하였습니다.   + MSG50140 EAI Client Application Factory에서 Application Instance 획득에 실패하였습니다.   + MSG50150 EAI Client Application에서 Http Connection Exception이 발생하였습니다.   + MSG50160 기타 오류로 EAI Request가 실패하였습니다.   + MSG50170 EAI Response Message Parsing에 실패하였습니다.   + MSG50171 EAI Response Message의 Body가 Null입니다.   + MSG50172 EAI Response Message의 Body Parsing에 실패하였습니다.   + MSG50180 연계신청번호 생성에 실패하였습니다.   + MSG50190 모니터링 통계로그 생성에 실패하였습니다.   + MSG50191 모니터링 통계로그 Update에 실패하였습니다.   + MSG50210 EAI-HUB 구간 요청(신청)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 EAI-HUB 구간 요청(신청)데이터 오류 + MSG50220 EAI-HUB 구간 응답(결과)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 EAI-HUB 구간 응답(결과)데이터 오류 + MSG50230 EAI-HUB 구간 내부자료변환 오류 : FlowRule처리 오류, MappingRule처리 오류, 내부 비즈니스로직 오류 EAI-HUB 구간 내부자료변환 오류 + MSG50240 EAI-HUB 구간 암호화오류 : Encrypt 오류, Decrypt 오류, Sign 오류, LDAP오류, 검증(OCSP, CRL)오류 EAI-HUB 구간 암호화오류 + MSG50250 EAI-HUB 구간 통신장애 오류 : 연결 오류 , Timeout 오류, 송신 오류, 수신 오류 EAI-HUB 구간 통신장애 오류 + MSG50260 EAI-HUB 구간 시스템 오류: 기타 시스템 오류 EAI-HUB 구간 시스템 오류 + MSG50310 내부-EAI-RA 구간 요청(신청)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 내부-EAI-RA 구간 요청(신청)데이터 오류 + MSG50320 내부-EAI-RA 구간 응답(결과)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 내부-EAI-RA 구간 응답(결과)데이터 오류 + MSG50330 내부-EAI-RA 구간 내부자료변환 오류 : FlowRule처리 오류, MappingRule처리 오류, 내부 비즈니스로직 오류 내부-EAI-RA 구간 내부자료변환 오류 + MSG50340 내부-EAI-RA 구간 암호화오류 : Encrypt 오류, Decrypt 오류, Sign 오류, LDAP오류, 검증(OCSP, CRL)오류 내부-EAI-RA 구간 암호화오류 + MSG50350 내부-EAI-RA 구간 통신장애 오류 : 연결 오류 , Timeout 오류, 송신 오류, 수신 오류 내부-EAI-RA 구간 통신장애 오류 + MSG50360 내부-EAI-RA 구간 시스템 오류 : 기타 시스템 오류 내부-EAI-RA 구간 시스템 오류 + MSG50410 외부-EAI-RA 구간 요청(신청)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 외부-EAI-RA 구간 요청(신청)데이터 오류 + MSG50420 외부-EAI-RA 구간 응답(결과)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 외부-EAI-RA 구간 응답(결과)데이터 오류 + MSG50430 외부-EAI-RA 구간 내부자료변환 오류 : FlowRule처리 오류, MappingRule처리 오류, 내부 비즈니스로직 오류 외부-EAI-RA 구간 내부자료변환 오류 + MSG50440 외부-EAI-RA 구간 암호화오류 : Encrypt 오류, Decrypt 오류, Sign 오류, LDAP오류, 검증(OCSP, CRL)오류 외부-EAI-RA 구간 암호화오류 + MSG50450 외부-EAI-RA 구간 통신장애 오류 : 연결 오류 , Timeout 오류, 송신 오류, 수신 오류 외부-EAI-RA 구간 통신장애 오류 + MSG50460 외부-EAI-RA 구간 시스템 오류 : 기타 시스템 오류 외부-EAI-RA 구간 시스템 오류 + MSG50510 제공기관 구간 요청(신청)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 제공기관 구간 요청(신청)데이터 오류 + MSG50520 제공기관 구간 응답(결과)데이터 오류 : Format 오류, 필수값 미입력, Validation 오류 제공기관 구간 응답(결과)데이터 오류 + MSG50530 제공기관 구간 내부자료변환 오류 : FlowRule처리 오류, MappingRule처리 오류, 내부 비즈니스로직 오류 제공기관 구간 내부자료변환 오류 + MSG50540 제공기관 구간 암호화오류 : Encrypt 오류, Decrypt 오류, Sign 오류, LDAP오류, 검증(OCSP, CRL)오류 제공기관 구간 암호화오류 + MSG50550 제공기관 구간 통신장애 오류 : 연결 오류 , Timeout 오류, 송신 오류, 수신 오류 제공기관 구간 통신장애 오류 + MSG50560 제공기관 구간 시스템 오류 : 기타 시스템 오류 제공기관 구간 시스템 오류 + * */ // ===== 연계 결과 코드 (CNTC_RESULT_CODE) ===== /** - * 연계 결과 코드: 정상 - *

외부 API 호출이 정상적으로 처리되었음을 나타냅니다.

+ * 연계 결과 코드: 성공 + *

EAI 연계 호출을 성공적으로 처리하였습니다.

*/ - public static final String CNTC_RESULT_CODE_SUCCESS = "00"; - - /** - * 연계 결과 코드: 정보 없음 - *

외부 API 호출이 정상적으로 처리되었으나 정보없음을 나타냅니다.

- */ - public static final String CNTC_RESULT_CODE_NO_DATA = "99"; + public static final String CNTC_RESULT_CODE_SUCCESS = "MSG50000"; /** * 연계 결과 코드: 에러 diff --git a/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java b/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java index 8f7f669..b02ce11 100644 --- a/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java +++ b/src/main/java/com/vmis/interfaceapp/controller/VehicleInterfaceController.java @@ -113,15 +113,10 @@ public class VehicleInterfaceController { { "data": [ { - "INFO_SYS_ID": "41-345", - "INFO_SYS_IP": "105.19.10.135", - "SIGUNGU_CODE": "41460", - "CNTC_INFO_CODE": "AC1_FD11_01", - "CHARGER_ID": "", - "CHARGER_IP": "", - "CHARGER_NM": "", "VHRNO": "12가3456", - "ONES_INFORMATION_OPEN": "Y" + "LEVY_STDDE": "20250101", + "INQIRE_SE_CODE": "1", + "VIN": "KMHAB812345678901" } ] } @@ -131,7 +126,7 @@ public class VehicleInterfaceController { ) ) public ResponseEntity> basic( - @org.springframework.web.bind.annotation.RequestBody Envelope envelope + @jakarta.validation.Valid @org.springframework.web.bind.annotation.RequestBody Envelope envelope ) { // 서비스에서 요청 보강/로깅/호출을 모두 오케스트레이션 return carBassMatterInqireService.basic(envelope); @@ -209,15 +204,14 @@ public class VehicleInterfaceController { { "data": [ { - "INFO_SYS_ID": "41-345", - "INFO_SYS_IP": "105.19.10.135", - "SIGUNGU_CODE": "41460", - "CNTC_INFO_CODE": "AC1_FD11_02", - "CHARGER_ID": "", - "CHARGER_IP": "", - "CHARGER_NM": "", "VHRNO": "12가3456", - "ONES_INFORMATION_OPEN": "Y" + "ONES_INFORMATION_OPEN": "1", + "CPTTR_NM": "홍길동", + "CPTTR_IHIDNUM": "8801011234567", + "CPTTR_LEGALDONG_CODE": "1111011700", + "ROUTE_SE_CODE": "3", + "DETAIL_EXPRESSION": "1", + "INQIRE_SE_CODE": "1" } ] } diff --git a/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java b/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java index b9203eb..8e63cda 100644 --- a/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java +++ b/src/main/java/com/vmis/interfaceapp/model/basic/BasicRequest.java @@ -47,7 +47,7 @@ public class BasicRequest { @JsonProperty("LEVY_STDDE") private String levyStdde; - @Schema(description = "조회구분코드") + @Schema(description = "조회구분코드 {1:열람, 2:발급}") @JsonProperty("INQIRE_SE_CODE") private String inqireSeCode; diff --git a/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java b/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java index 5a8d3b5..2903d7d 100644 --- a/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java +++ b/src/main/java/com/vmis/interfaceapp/model/ledger/LedgerRequest.java @@ -47,9 +47,7 @@ public class LedgerRequest { @JsonProperty("VHRNO") private String vhrno; - /* - // 추가 항목 (명세 샘플 기준) - @Schema(description = "개인정보공개") + @Schema(description = "개인정보공개 {1:소유자공개, 2:비공개, 3:비공개(주민등록번호), 4:비공개(사용본거지)}") @JsonProperty("ONES_INFORMATION_OPEN") private String onesInformationOpen; @@ -66,17 +64,16 @@ public class LedgerRequest { @JsonProperty("CPTTR_LEGALDONG_CODE") private String cpttrLegaldongCode; - @Schema(description = "경로구분코드") + @Schema(description = "경로구분코드 고정코드:3") @JsonProperty("ROUTE_SE_CODE") private String routeSeCode; - @Schema(description = "내역표시") + @Schema(description = "내역표시 {1:전체내역, 2:최종내역}") @JsonProperty("DETAIL_EXPRESSION") private String detailExpression; - @Schema(description = "조회구분코드") + @Schema(description = "조회구분코드 {1:열람, 2:발급}") @JsonProperty("INQIRE_SE_CODE") private String inqireSeCode; - */ }