feat: KT DTO 반영
parent
c0689d5f1b
commit
d34771631d
@ -0,0 +1,350 @@
|
|||||||
|
package kr.xit.biz.ens.model.kt;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.Digits;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtCommonResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* description : KT 유통증명서 DTO
|
||||||
|
* - 유통증명서 발급(BC-AG-SM-001)
|
||||||
|
* Request : {@link KtAcmdCerfRequest}
|
||||||
|
* Response : {@link KtAcmdCerfResponse}
|
||||||
|
* - 전자문서 유통정보 수치조회(BC-AG-HS-001)
|
||||||
|
* Request : {@link KtAcmdInfoRequest}
|
||||||
|
* Response : {@link KtAcmdInfoResponse}
|
||||||
|
* - 전자문서 유통정보 수치 확인서 발급(BC-AG-HS-002)
|
||||||
|
* Request : {@link KtAcmdInfoCfmRequest}
|
||||||
|
* Response : {@link KtAcmdInfoCfmResponse}
|
||||||
|
* packageName : kr.xit.biz.ens.model.kt
|
||||||
|
* fileName : KtInputDTO
|
||||||
|
* author : limju
|
||||||
|
* date : 2023-09-26
|
||||||
|
* ======================================================================
|
||||||
|
* 변경일 변경자 변경 내용
|
||||||
|
* ----------------------------------------------------------------------
|
||||||
|
* 2023-09-26 limju 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public class KtAcmdDTO {
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 유통증명서 발급 : BC-AG-SM-001
|
||||||
|
// Request : KtAcmdCerfRequest
|
||||||
|
// Response : KtAcmdCerfResponse
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtAcmdCerfRequest", description = "KT 유통증명서 발급 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtAcmdCerfRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급요청구분 - 필수 : 1자리
|
||||||
|
* 1: 요청, 2: 발급
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발급유청구분", example = " ")
|
||||||
|
@Size(min = 1, max = 1, message = "발급요청구분은 필수 입니다(1|2)")
|
||||||
|
private String reqDvcd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 10
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드", example = " ")
|
||||||
|
@Size(min = 1, max = 10, message = "서비스코드는 필수 입니다(max:10)")
|
||||||
|
private String serviceCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스 코드 인증키 : 필수 - 8 자리
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스 코드 인증키", example = " ")
|
||||||
|
@Size(min = 1, max = 8, message = "서비스 코드 인증키는 필수 입니다(max:8)")
|
||||||
|
private String serviceKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 관리키 : 필수 - max 50
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "관리키", example = " ")
|
||||||
|
@Size(min = 1, max = 50, message = "관리키는 필수 입니다(max:50)")
|
||||||
|
private String srcKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급요청사요 : max 200
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "발급요청사유", example = " ")
|
||||||
|
@Size(max = 200, message = "발급요청사유는 200자를 넘을수 없습니다.")
|
||||||
|
private String issReqRsn;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtAcmdCerfResponse", description = "KT 유통증명서 발급 요청 결과 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtAcmdCerfResponse extends KtCommonResponse {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급상태 : 성공시 필수 - 1
|
||||||
|
* 1: 요청
|
||||||
|
* 2: 발급완료(통신사발급완료)
|
||||||
|
* 3: 발급완료(기관발급완료)
|
||||||
|
* 4: 발급실패
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "발급상태")
|
||||||
|
@Size(min = 1, max = 1)
|
||||||
|
private String issCls;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급실패 메세지 : max 255
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "발급실패 메시지")
|
||||||
|
@Size(max = 255)
|
||||||
|
private String issResultMsg;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 유통증명서파일명 : max 100
|
||||||
|
* iss_cls상태값이 '2'일 때 필수
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "유통증명서파일명", example = " ")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 유통증명서 파일의 binary 값 : 가변
|
||||||
|
* iss_cls상태값이 '2'일 때 필수
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "유통증명서 파일의 binary 값", example = " ")
|
||||||
|
private String fileBinary;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 전자문서 유통정보 수치조회 : BC-AG-HS-001
|
||||||
|
// Request : KtAcmdInfoRequest
|
||||||
|
// Response : KtAcmdInfoResponse
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtAcmdInfoRequest", description = "KT 전자문서 유통정보 수치조회 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtAcmdInfoRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 5
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드", example = " ")
|
||||||
|
@Size(min = 1, max = 5, message = "서비스코드는 필수 입니다(max:5)")
|
||||||
|
private String serviceCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 연월 : 필수 - 7
|
||||||
|
* 조회대상 월 (yyyy-mm 형식)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "연월", example = " ")
|
||||||
|
@Size(min = 7, max = 7, message = "연월은 필수 입니다(YYYY-MM)")
|
||||||
|
private String period;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtAcmdInfoResponse", description = "KT 전자문서 유통정보 수치조회 요청 결과 DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtAcmdInfoResponse extends KtCommonResponse {
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO)
|
||||||
|
@Valid
|
||||||
|
private List<KtAcmdInfoResData> results;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtAcmdInfoResData", description = "KT 전자문서 유통정보 수치조회 요청 결과 results DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public static class KtAcmdInfoResData {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 모바일사업자구분 : 필수 - 2자리
|
||||||
|
* 발송 통신사 구분(01:KT, 02:SKT, 03:LGT)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "통신사구분코드")
|
||||||
|
@Size(min = 2, max = 2)
|
||||||
|
@JsonProperty("mbl_bzowr_dvcd")
|
||||||
|
private String mblBzowrDvcd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 통계집계일 : 필수 - 10자리
|
||||||
|
* YYYY-MM-DD
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "통계집계일")
|
||||||
|
@Size(min = 10, max = 10)
|
||||||
|
private String date;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 송신건수 : 필수 - 8자리
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "송신건수")
|
||||||
|
@Digits(integer = 8, fraction = 0)
|
||||||
|
private Integer sendCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 송신건수 : 필수 - 8자리
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "송신건수")
|
||||||
|
@Digits(integer = 8, fraction = 0)
|
||||||
|
private Integer recvCount;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 열람건수 : 필수 - 8자리
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "열람건수")
|
||||||
|
@Digits(integer = 8, fraction = 0)
|
||||||
|
private Integer readCount;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 전자문서 유통정보 수치 확인서 발급 : BC-AG-HS-002
|
||||||
|
// Request : KtAcmdInfoCfmRequest
|
||||||
|
// Response : KtAcmdInfoCfmResponse
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtAcmdInfoCfmRequest", description = "KT 전자문서 유통정보 수치 확인서 발급 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtAcmdInfoCfmRequest extends KtAcmdInfoRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급요청구분 - 필수 : 1자리
|
||||||
|
* 1: 요청, 2: 발급
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발급유청구분", example = " ")
|
||||||
|
@Size(min = 1, max = 1, message = "발급요청구분은 필수 입니다(1|2)")
|
||||||
|
private String reqDvcd;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtAcmdInfoCfmResponse", description = "KT 전자문서 유통정보 수치 확인서 발급 요청 결과 DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtAcmdInfoCfmResponse extends KtCommonResponse {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급상태 : 성공시 필수 - 1
|
||||||
|
* 1: 요청
|
||||||
|
* 2: 발급완료
|
||||||
|
* 4: 발급실패
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "발급상태")
|
||||||
|
@Size(min = 1, max = 1)
|
||||||
|
private String issCls;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발급결과 메세지 : max 255
|
||||||
|
* iss_cls=4 일때, 실패 메세지
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "발급결과 메시지")
|
||||||
|
@Size(max = 255)
|
||||||
|
private String issResultMsg;
|
||||||
|
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO)
|
||||||
|
@Valid
|
||||||
|
private List<KtAcmdInfoCfmResData> results;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtAcmdInfoResData", description = "KT 전자문서 유통정보 수치조회 요청 결과 results DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public static class KtAcmdInfoCfmResData {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 모바일사업자구분 : 필수 - 2자리
|
||||||
|
* 발송 통신사 구분(01:KT, 02:SKT, 03:LGT)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "모바일사업자구분")
|
||||||
|
@Size(min = 2, max = 2)
|
||||||
|
@JsonProperty("mbl_bzowr_dvcd")
|
||||||
|
private String mblBzowrDvcd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 유통증명서파일명 : max 100
|
||||||
|
* iss_cls상태값이 '2'일 때 필수
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "유통증명서파일명")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String fileName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 유통증명서 파일의 binary 값 : 가변
|
||||||
|
* iss_cls상태값이 '2'일 때 필수
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "유통증명서 파일의 binary 값")
|
||||||
|
private String fileBinary;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
@ -0,0 +1,128 @@
|
|||||||
|
package kr.xit.biz.ens.model.kt;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import kr.xit.core.model.IApiResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* description : KT 공공 알림문자 공통 DTO
|
||||||
|
*
|
||||||
|
* packageName : kr.xit.biz.ens.model.kt
|
||||||
|
* fileName : KtCommonDTO
|
||||||
|
* author : limju
|
||||||
|
* date : 2023-09-22
|
||||||
|
* ======================================================================
|
||||||
|
* 변경일 변경자 변경 내용
|
||||||
|
* ----------------------------------------------------------------------
|
||||||
|
* 2023-09-22 limju 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public class KtCommonDTO {
|
||||||
|
|
||||||
|
@Schema(name = "KtMnsRequest", description = "KT MMS 공통 파라메터 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
public static class KtMnsRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 시군구 코드
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "시군구코드", example = "88328")
|
||||||
|
@NotEmpty(message = "시군구 코드는 필수 입니다")
|
||||||
|
@Size(max = 10)
|
||||||
|
private String signguCode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 과태료 코드
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "과태료코드", example = "11")
|
||||||
|
@NotEmpty(message = "과태료 코드는 필수 입니다")
|
||||||
|
@Size(max = 2)
|
||||||
|
private final String ffnlgCode = "11";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 주민Id
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "주민번호", example = " ")
|
||||||
|
@Size(min = 13, max = 13, message = "주민번호는 13자리 입니다.")
|
||||||
|
private String juminId;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtCommonResponse", description = "KT 응답 공통 DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtCommonResponse implements IApiResponse {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 처리코드 : 2
|
||||||
|
* 00 : 정상, 01: 에허
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "처리코드", example = " ")
|
||||||
|
@Size(min = 2, max = 2)
|
||||||
|
private String resultCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 처리일시 : 14
|
||||||
|
* Biz Center 응답 처리 일시(YYYYMMDDHHMISS)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "처리일시", example = " ")
|
||||||
|
@Size(min = 14, max = 14)
|
||||||
|
private String resultDt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 에러내용
|
||||||
|
* 처리코드(resultCd) '01' 인 경우 필수
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO)
|
||||||
|
@Valid
|
||||||
|
private List<ErrorMsg> errors;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "ErrorMsg", description = "KT 응답 공통 errors DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class ErrorMsg {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 오류메세지
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||||
|
@Size(max = 255)
|
||||||
|
private String errorMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -0,0 +1,196 @@
|
|||||||
|
package kr.xit.biz.ens.model.kt;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.Digits;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtCommonResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* description : KT 공공 알림문자 정산 DTO
|
||||||
|
* - 기관정산화면연계 토큰인증(BC-AG-SM-002)
|
||||||
|
* Request : {@link KtTokenExcaRequest}
|
||||||
|
* Response : {@link KtCommonResponse}
|
||||||
|
* - 정산연계 자료 조회 : BC-AG-EC-001
|
||||||
|
* Request : {@link KtExcaRequest}
|
||||||
|
* Response : {@link KtExcaResponse}
|
||||||
|
* packageName : kr.xit.biz.ens.model.kt
|
||||||
|
* fileName : KtTokenDTO
|
||||||
|
* author : limju
|
||||||
|
* date : 2023-09-22
|
||||||
|
* ======================================================================
|
||||||
|
* 변경일 변경자 변경 내용
|
||||||
|
* ----------------------------------------------------------------------
|
||||||
|
* 2023-09-22 limju 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public class KtExcaDTO {
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// 기관정산화면연계 토큰인증 : BC-AG-SM-002
|
||||||
|
// Request : KtTokenExcaRequest
|
||||||
|
// Response : KtCommonResponse
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtTokenExcaRequest", description = "KT 기관정산화면연계 토큰 인증 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtTokenExcaRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 엑세스토큰 : 필수 - 100
|
||||||
|
* 기관정산화면 호출 시 전달 받은 토큰
|
||||||
|
* 1회 인증시 만료처리
|
||||||
|
* </pre>>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "엑세스토큰", example = " ")
|
||||||
|
@NotEmpty(message = "엑세스토큰은 필수 입니다(max:100)")
|
||||||
|
private String accessToken;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// 정산연계 자료 조회 : BC-AG-EC-001
|
||||||
|
// Request : KtExcaRequest
|
||||||
|
// Response : KtExcaResponse
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtExcaRequest", description = "KT 정산연계 자료 조회 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtExcaRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 정산연월 : 필수 - YYYYMM
|
||||||
|
* </pre>>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "정산연월", example = " ")
|
||||||
|
@Size(min = 6, max = 6, message = "정산연월은 필수 입니다(YYYYMM)")
|
||||||
|
private String yyyymm;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtExcaResponse", description = "KT 정산연계 자료 조회 요청 결과 DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtExcaResponse extends KtCommonResponse {
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||||
|
@Valid
|
||||||
|
private List<KtExcaResData> rsps;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtExcaResData", description = "KT 정산연계 자료 조회 요청 결과 rsps DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtExcaResData {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 정산연월 : 필수 - YYYYMM
|
||||||
|
* </pre>>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "정산연월")
|
||||||
|
@Size(min = 6, max = 6)
|
||||||
|
private String yyyymm;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 5
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드")
|
||||||
|
@Size(min = 1, max = 5)
|
||||||
|
private String serviceCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 문서 코드: 필수 - 5
|
||||||
|
* 각 기관의 문서코드
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "문서코드")
|
||||||
|
@Size(min = 5, max = 5)
|
||||||
|
private String msgCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 통신사구분코드: 필수 - 2
|
||||||
|
* 01:KT, 02:SKT, 03:LGT
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "통신사구분코드")
|
||||||
|
@Size(min = 2, max = 2)
|
||||||
|
private String mobileGbn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 발송요청건수: 필수 - 9
|
||||||
|
* 정산년월의 기관, 문서별 발송요청 건수
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발송요청건수")
|
||||||
|
@Digits(integer = 9, fraction = 0)
|
||||||
|
private Integer sndnReqCnt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 미동의발송건수: 필수 - 9
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "미동의발송건수")
|
||||||
|
@Digits(integer = 9, fraction = 0)
|
||||||
|
private Integer notAppBalsongCnt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 동의발송건수: 필수 - 9
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "동의발송건수")
|
||||||
|
@Digits(integer = 9, fraction = 0)
|
||||||
|
private Integer preAppBalsongCnt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 미동의열람건수: 필수 - 9
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "미동의열람건수")
|
||||||
|
@Digits(integer = 9, fraction = 0)
|
||||||
|
private Integer notAppSusinCnt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 미동의열람건수: 필수 - 9
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "동의열람건수")
|
||||||
|
@Digits(integer = 9, fraction = 0)
|
||||||
|
private Integer preAppSusinCnt;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
@ -0,0 +1,183 @@
|
|||||||
|
package kr.xit.biz.ens.model.kt;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
|
||||||
|
import java.util.List;
|
||||||
|
import javax.validation.Valid;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtCommonResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* description : KT MMS DTO - KT에 제공해야 하는 API DTO
|
||||||
|
* - 수신거부상태 전송(BC-AG-SN-014)
|
||||||
|
* Request : {@link KtRefuseRcvRequest}
|
||||||
|
* Response : {@link KtCommonResponse}
|
||||||
|
* - 수신동의상태 전송(BC-AG-SN-015)
|
||||||
|
* Request : {@link KtApproveRcvRequest}
|
||||||
|
* Response : {@link KtCommonResponse}
|
||||||
|
* packageName : kr.xit.biz.ens.model.kt
|
||||||
|
* fileName : KtInputDTO
|
||||||
|
* author : limju
|
||||||
|
* date : 2023-09-26
|
||||||
|
* ======================================================================
|
||||||
|
* 변경일 변경자 변경 내용
|
||||||
|
* ----------------------------------------------------------------------
|
||||||
|
* 2023-09-26 limju 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public class KtInputDTO {
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 수신거부상태 전송 : BC-AG-SN-014
|
||||||
|
// Request : KtRefuseRcvRequest
|
||||||
|
// Response : KtCommonResponse
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtRefuseRcvRequest", description = "KT 수신거부상태 등록 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtRefuseRcvRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 신청일자 : 8(YYYYMMDD)
|
||||||
|
* 수신거부 등록/해제 발생일자
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "신청일자", example = " ")
|
||||||
|
@Size(min = 8, max = 8, message = "신청일자는 8자 입니다.")
|
||||||
|
private String apctDt;
|
||||||
|
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||||
|
@Valid
|
||||||
|
private List<KtRefuseRcvReqData> reqs;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtRefuseRcvReqData", description = "KT 수신거부상태 등록 요청 reqs DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtRefuseRcvReqData {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 20
|
||||||
|
* BizCenter에서 발행한 기관의 서비스 코드, 전기관(ALL)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드", example = " ")
|
||||||
|
@Size(min = 1, max = 20, message = "서비스코드는 필수 입니다(max:20)")
|
||||||
|
private String serviceCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 개인식별코드(CI) - 필수 : 88자리
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "개인식별코드", example = " ")
|
||||||
|
@Size(min = 88, max = 88, message = "개인식별코드(CI)는 필수 입니다(88자리)")
|
||||||
|
private String ci;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 신청구분 - 필수 : 1자리
|
||||||
|
* 0: 해지, 1: 신청
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "신청구분", example = " ")
|
||||||
|
@Size(min = 1, max = 1, message = "신청구분은 필수 입니다(0|1)")
|
||||||
|
private String apctAcctCls;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 신청일시 : 14
|
||||||
|
* 수신거부 등록/해제 발생일자 (YYYYMMDDhhmmss)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "신청일시", example = " ")
|
||||||
|
@Size(min = 14, max = 14, message = "신청일시는 14자 입니다.")
|
||||||
|
private String apctTm;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 수신동의상태 전송 : BC-AG-SN-015
|
||||||
|
// Request : KtApproveRcvRequest
|
||||||
|
// Response : KtCommonResponse
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtApproveRcvRequest", description = "KT 수신동의상태 등록 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtApproveRcvRequest {
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||||
|
@Valid
|
||||||
|
private List<KtApproveRcvReqData> reqs;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtApproveRcvReqData", description = "KT 수신동의상태 등록 요청 reqs DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtApproveRcvReqData {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 신청일자 : 14(YYYYMMDDHHMISS)
|
||||||
|
* 수신동의 등록/해제 발생일시
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "신청일시", example = " ")
|
||||||
|
@Size(min = 8, max = 8, message = "신청일시는 14자 입니다.")
|
||||||
|
private String apctDt;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 20
|
||||||
|
* BizCenter에서 발행한 기관의 서비스 코드
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드", example = " ")
|
||||||
|
@Size(min = 1, max = 20, message = "서비스코드는 필수 입니다(max:20)")
|
||||||
|
private String serviceCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 개인식별코드(CI) - 필수 : 88자리
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "개인식별코드", example = " ")
|
||||||
|
@Size(min = 88, max = 88, message = "개인식별코드(CI)는 필수 입니다(88자리)")
|
||||||
|
private String ci;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 신청구분 - 필수 : 1자리
|
||||||
|
* 0:해지(수신동의 신청상태 해지 처리)
|
||||||
|
* 1:신청(수신동의 신청)
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "신청구분", example = " ")
|
||||||
|
@Size(min = 1, max = 1, message = "신청구분은 필수 입니다(0|1)")
|
||||||
|
private String apctAcctCls;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
}
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,269 @@
|
|||||||
|
package kr.xit.biz.ens.model.kt;
|
||||||
|
|
||||||
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||||
|
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
|
||||||
|
import com.fasterxml.jackson.databind.annotation.JsonNaming;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema;
|
||||||
|
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
|
||||||
|
import javax.validation.constraints.Size;
|
||||||
|
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtCommonResponse;
|
||||||
|
import kr.xit.core.model.IApiResponse;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
|
import lombok.Builder.Default;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.Getter;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
import lombok.experimental.SuperBuilder;
|
||||||
|
import org.hibernate.validator.constraints.Length;
|
||||||
|
import org.hibernate.validator.constraints.NotEmpty;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* description : KT 공공 알림문자 토큰발행 DTO
|
||||||
|
* - 토큰발행
|
||||||
|
* Request: {@link KtTokenRequest}
|
||||||
|
* Response: {@link KtTokenResponse}
|
||||||
|
* - Token 인증 확인 조회(BC-AG-SN-008)
|
||||||
|
* Request: {@link KtTokenConfirmRequest}
|
||||||
|
* Response: {@link KtCommonResponse}
|
||||||
|
* - 열람확인결과전송(BC-AG-SN-009)
|
||||||
|
* Request : {@link KtTokenReadRequest}
|
||||||
|
* Response : {@link KtCommonResponse}
|
||||||
|
* - 기관정산화면연계 토큰인증(BC-AG-SM-002)
|
||||||
|
* Request : {@link KtTokenExcaRequest}
|
||||||
|
* Response : {@link KtCommonResponse}
|
||||||
|
* packageName : kr.xit.biz.ens.model.kt
|
||||||
|
* fileName : KtTokenDTO
|
||||||
|
* author : limju
|
||||||
|
* date : 2023-09-22
|
||||||
|
* ======================================================================
|
||||||
|
* 변경일 변경자 변경 내용
|
||||||
|
* ----------------------------------------------------------------------
|
||||||
|
* 2023-09-22 limju 최초 생성
|
||||||
|
*
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
public class KtTokenDTO {
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// Token 발행
|
||||||
|
// Request : KtTokenRequest
|
||||||
|
// Response : KtTokenResponse
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtTokenRequest", description = "KT MMS 토큰발행 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@Builder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtTokenRequest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 권한부여방식 : 'clinet_credentials' 로 고정
|
||||||
|
*/
|
||||||
|
@Default
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "권한부여방식", example = "clinet_credentials")
|
||||||
|
@NotEmpty(message = "권한부여방식은 필수 입니다")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String grantType = "clinet_credentials";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 과태료 코드
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "클라이언트 ID", example = " ")
|
||||||
|
@NotEmpty(message = "클라이언트 ID는 필수 입니다")
|
||||||
|
@Size(max = 500)
|
||||||
|
private String clientId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 클라이언트 secret
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "클라이언트 secret", example = " ")
|
||||||
|
@NotEmpty(message = "클라이언트 secret는 필수 입니다")
|
||||||
|
@Size(max = 500)
|
||||||
|
private String clientSecret;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 접근토큰 권한범위 : ag.api|pf.api
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Default
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "권한범위", example = "ag.api")
|
||||||
|
@NotEmpty(message = "권한범위는 필수 입니다")
|
||||||
|
@Length(max = 100)
|
||||||
|
private String scope = "ag.api";
|
||||||
|
}
|
||||||
|
|
||||||
|
@Schema(name = "KtTokenResponse", description = "KT MMS 토큰발행 요청 결과 DTO")
|
||||||
|
@Getter
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtTokenResponse implements IApiResponse {
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 토큰 발행 성공시 필수
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* 접근토큰 : 성공시 필수
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "접근 토큰", example = " ")
|
||||||
|
@Size(max = 1000)
|
||||||
|
private String accessToken;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 접근 토큰 유형 : 성공시 필수
|
||||||
|
* bearer 고정
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "접근 토큰 유형", example = "bearer")
|
||||||
|
@Size(max = 100)
|
||||||
|
private final String tokenType = "bearer";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 접근 토큰 유효 기간 : 성공시 필수
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "접근 토큰 유효 기간", example = " ")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String expiresIn;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 접근토큰 권한범위 : 성공시 필수
|
||||||
|
* 또는, 실패시 scope에러인 경우 발생
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "권한범위|scope에러인 경우만 발생", example = "ag.api")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String scope;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 접근토큰 식별자 : 성공시 필수
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "접근토큰 식별자", example = "ag.api")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String jti;
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
// 토큰 발행 실패시 필수
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 접근 토큰 유형 : 성공시 필수
|
||||||
|
* bearer 고정
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "에러코드", example = " ")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String error;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 접근 토큰 유효 기간 : 성공시 필수
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.AUTO, title = "에러메세지", example = " ")
|
||||||
|
@Size(max = 100)
|
||||||
|
private String errorDescription;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// Token 인증 확인 조회 : BC-AG-SN-008
|
||||||
|
// Request : KtTokenConfirmRequest
|
||||||
|
// Response : KtCommonResponse
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtTokenConfirmRequest", description = "KT 토큰 인증 확인 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtTokenConfirmRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 20
|
||||||
|
* BizCenter에서 발행한 기관의 서비스 코드
|
||||||
|
* </pre>>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드", example = " ")
|
||||||
|
@NotEmpty(message = "서비스코드는 필수 입니다(max:20)")
|
||||||
|
private String serviceCd;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스 코드 인증키 : 필수 - 16 자리
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스 코드 인증키", example = " ")
|
||||||
|
@Size(min = 16, max = 16, message = "서비스 코드 인증키는 필수 입니다(16자리)")
|
||||||
|
private String serviceKey;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 토큰 : 필수 - max 150
|
||||||
|
* </pre>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "토큰", example = " ")
|
||||||
|
@Size(min = 1, max = 150, message = "토큰은 필수 입니다(max:150)")
|
||||||
|
private String accessToken;
|
||||||
|
}
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// 열람확인결과전송 : BC-AG-SN-009
|
||||||
|
// Request : KtTokenReadRequest
|
||||||
|
// Response : KtCommonResponse
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtTokenReadRequest", description = "KT 열람확인 결과 전송 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtTokenReadRequest extends KtTokenConfirmRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 서비스코드 : 필수 - 20
|
||||||
|
* BizCenter에서 발행한 기관의 서비스 코드
|
||||||
|
* </pre>>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스코드", example = " ")
|
||||||
|
@NotEmpty(message = "서비스코드는 필수 입니다(max:20)")
|
||||||
|
private String mmsRdgTmst;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
// 기관정산화면연계 토큰인증 : BC-AG-SM-002
|
||||||
|
// Request : KtTokenExcaRequest
|
||||||
|
// Response : KtCommonResponse
|
||||||
|
//----------------------------------------------------------------------------------------
|
||||||
|
@Schema(name = "KtTokenExcaRequest", description = "KT 기관정산화면연계 토큰 인증 요청 DTO")
|
||||||
|
@Data
|
||||||
|
@NoArgsConstructor
|
||||||
|
@AllArgsConstructor
|
||||||
|
@SuperBuilder
|
||||||
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||||
|
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
|
||||||
|
public static class KtTokenExcaRequest {
|
||||||
|
/**
|
||||||
|
* <pre>
|
||||||
|
* 엑세스토큰 : 필수 - 100
|
||||||
|
* 기관정산화면 호출 시 전달 받은 토큰
|
||||||
|
* 1회 인증시 만료처리
|
||||||
|
* </pre>>
|
||||||
|
*/
|
||||||
|
@Schema(requiredMode = RequiredMode.REQUIRED, title = "엑세스토큰", example = " ")
|
||||||
|
@NotEmpty(message = "엑세스토큰은 필수 입니다(max:100)")
|
||||||
|
private String accessToken;
|
||||||
|
}
|
||||||
|
//-------------------------------------------------------------------
|
||||||
|
}
|
Loading…
Reference in New Issue