diff --git a/mens-core/src/main/java/kr/xit/biz/ens/model/cmm/CmmEnsFileDTO.java b/mens-core/src/main/java/kr/xit/biz/ens/model/cmm/CmmEnsFileDTO.java index 8e8656f..920479c 100644 --- a/mens-core/src/main/java/kr/xit/biz/ens/model/cmm/CmmEnsFileDTO.java +++ b/mens-core/src/main/java/kr/xit/biz/ens/model/cmm/CmmEnsFileDTO.java @@ -4,12 +4,13 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema.RequiredMode; -import javax.validation.constraints.NotNull; import javax.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import org.hibernate.validator.constraints.NotBlank; +import org.hibernate.validator.constraints.NotEmpty; import org.springframework.web.multipart.MultipartFile; /** @@ -44,7 +45,8 @@ public class CmmEnsFileDTO { * 공영주차장|장사시설 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "시스템구분코드", example = "???", description = "시스템구분코드") - @Size(min = 1, max = 5, message = "시스템 구분은 필수 입니다") + @NotEmpty(message = "시스템 구분은 필수 입니다") + @Size(max = 5) private String sysSeCode; /** @@ -52,7 +54,8 @@ public class CmmEnsFileDTO { * KKO-MY-DOC|KT-SMS|E-GREEN */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "발송구분코드", example = "KKO-MY-DOC", description = "KKO-MY-DOC|KT-SMS|E-GREEN") - @Size(min = 1, max = 10, message = "발송구분은 필수 입니다") + @NotEmpty(message = "발송구분은 필수 입니다") + @Size(max = 10) private String sndngSeCode; /** @@ -68,7 +71,7 @@ public class CmmEnsFileDTO { */ @JsonIgnore @Schema(requiredMode = RequiredMode.REQUIRED, title = "excel file", example = "null", description = "업로드 excel file") - @NotNull(message = "첨부파일은 필수 입니다") + @NotBlank(message = "첨부파일은 필수 입니다") private MultipartFile[] files; @@ -106,18 +109,21 @@ public class CmmEnsFileDTO { * 시설관리공단의 마스터key - unique key 이어야 함 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "통합발송상세ID", example = " ", description = "통합발송상세ID") + @NotEmpty(message = "통합발송상세 ID는 필수입니다.") private String unitySndngDetailId; /** * 이름 : 필수 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "이름", example = " ", description = "이름") + @NotEmpty(message = "이름은 필수입니다.") private String nm; /** * 주민번호 : 필수 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "주민번호", example = " ", description = "주민번호") + @NotEmpty(message = "주민번호는 필수입니다.") private String ihidnum; //----------------------------------------------------------------------------------- diff --git a/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocAttrDTO.java b/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocAttrDTO.java index 0cb4f61..8eb4e79 100644 --- a/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocAttrDTO.java +++ b/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocAttrDTO.java @@ -12,6 +12,8 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import org.hibernate.validator.constraints.NotBlank; +import org.hibernate.validator.constraints.NotEmpty; /** *
@@ -42,7 +44,8 @@ public class KkopayDocAttrDTO { * 발송할 문서의 제목 : 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "발송할 문서의 제목", example = "문서 제목") - @Size(min = 1, max = 40, message = "문서제목은 필수입니다(max:40)") + @NotEmpty(message = "문서제목은 필수입니다(max:40)") + @Size(max = 40) private String title; /** @@ -65,7 +68,8 @@ public class KkopayDocAttrDTO { * 문서 원문(열람정보)에 대한 hash 값 - 공인전자문서 유통정보 등록 시 필수 */ @Schema(title = "문서 원문(열람정보)에 대한 hash 값", example = "6EFE827AC88914DE471C621AE") - @Size(max = 99, message = "문서 원문(열람정보)에 대한 hash 값(max=99)") + @NotEmpty(message = "문서 원문(열람정보)에 대한 hash 값(max=99)") + @Size(max = 99) private String hash; /** @@ -143,23 +147,24 @@ public class KkopayDocAttrDTO { * 본인인증 후 사용자에게 보여줄 웹페이지 주소 : 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "본인인증 후 사용자에게 보여줄 웹페이지 주소", example = "http://ipAddress/api/kakaopay/v1/ott") - //@NotBlank - @Size(min = 10, max = 100, message = "본인인증후 사용자에게 보여줄 페이지 주소는 필수입니다(max=100)") + @NotEmpty(message = "본인인증후 사용자에게 보여줄 페이지 주소는 필수입니다(max=100)") + @Size(max = 100) private String link; /** * 고객센터 전화번호 : 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "고객센터 전화번호", example = "02-123-4567") - @Size(min = 10, max = 20, message = "고객센터 전화번호는 필수입니다(max=20)") + @NotEmpty(message = "고객센터 전화번호는 필수입니다(max=20)") + @Size(max = 20) private String cs_number; /** * 고객센터 전화번호 : 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "고객센터 명", example = "콜센터") - //@NotBlank - @Size(min = 1, max = 10, message = "고객센터명은 필수입니다(max=10)") + @NotBlank(message = "고객센터명은 필수입니다(max=10)") + @Size(max = 10) private String cs_name; /** @@ -191,7 +196,8 @@ public class KkopayDocAttrDTO { * 카카오페이 문서식별번호(max:40) - 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "카카오페이 문서식별번호(max:40)", example = "BIN-ff806328863311ebb61432ac599d6150") - @Size(min = 1, max = 40, message = "카카오페이 문서식별번호는 필수입니다(max:40)") + @NotEmpty(message = "카카오페이 문서식별번호는 필수입니다(max:40)") + @Size(max = 40) private String document_binder_uuid; } @@ -215,7 +221,8 @@ public class KkopayDocAttrDTO { * @see ApiConstants.DocBoxStatus */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, maxLength = 20, title = "진행상태(max:20)", example = " ") - @Size(min = 1, max = 20, message = "진행상태는 필수입니다(max:20)") + @NotEmpty(message = "진행상태는 필수입니다(max:20)") + @Size(max = 20) private ApiConstants.DocBoxStatus doc_box_status; /** diff --git a/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocBulkDTO.java b/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocBulkDTO.java index 80271b4..eb290ed 100644 --- a/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocBulkDTO.java +++ b/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocBulkDTO.java @@ -10,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import org.hibernate.validator.constraints.NotEmpty; /** **/ - @Schema(name = "TokenRevokeResDataBody", description = "기관용 토큰 폐기 요청 결과 dataBody DTO") + @Schema(name = "TokenRevokeResDataBody", description = "기관용 토큰 폐기 결과 dataBody DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -224,7 +222,7 @@ public class NiceCiDTO { * 공개키(publickey) 요청 * */ - @Schema(name = "PublickeyRequest", description = "공개키(publickey) 요청 파라메터 DTO") + @Schema(name = "PublickeyRequest", description = "공개키(publickey) 요청 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -245,7 +243,7 @@ public class NiceCiDTO { * 공개키(publickey) 발급 요청 결과 * */ - @Schema(name = "PublickeyResponse", description = "공개키(publickey) 발급 요청 결과 DTO") + @Schema(name = "PublickeyResponse", description = "공개키(publickey) 발급 결과 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -348,7 +346,7 @@ public class NiceCiDTO { * 대칭키(symmetrickey) 등록 요청 * */ - @Schema(name = "SymmetrickeyRequest", description = "대칭키(symmetrickey) 등록 요청 파라메터 DTO") + @Schema(name = "SymmetrickeyRequest", description = "대칭키(symmetrickey) 등록 파라메터 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -369,7 +367,7 @@ public class NiceCiDTO { * 대칭키(symmetrickey) 등록 요청 결과 * */ - @Schema(name = "SymmetrickeyResponse", description = "대칭키(symmetrickey) 등록 요청 결과 DTO") + @Schema(name = "SymmetrickeyResponse", description = "대칭키(symmetrickey) 등록 결과 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -405,7 +403,8 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "공개키버전", example = "20210121ca8c1612-2c2d-IPaa-aad1-xxxxxxxxxxxx") - @Size(min = 1, max = 50, message = "공개키버전은 필수 입니다") + @NotEmpty(message = "공개키버전은 필수 입니다") + @Size(max = 50) private String pubkeyVersion; /** @@ -422,7 +421,8 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "json암호화값(회원사에서 생성한 대칭키를 공개키로 암호화한 값)", example = "SDFWASDFASDFSDFASDFASDFASD=") - @Size(min = 1, max = 512, message = "대칭키(암호화)는 필수 입니다") + @NotEmpty(message = "대칭키(암호화)는 필수 입니다") + @Size(max = 512) private String symkeyRegInfo; } @@ -445,7 +445,7 @@ public class NiceCiDTO { * - 0099: 기타오류 * */ - @Schema(name = "SymmetrickeyResDataBody", description = "대칭키(symmetrickey) 등록 요청 결과 dataBody DTO") + @Schema(name = "SymmetrickeyResDataBody", description = "대칭키(symmetrickey) 등록 결과 dataBody DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -477,23 +477,28 @@ public class NiceCiDTO { @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) public static class SymkeyRegInfo { @Schema(requiredMode = RequiredMode.REQUIRED, title = "사이트 코드", description = "공개키요청시 수신한 사이트코드", example = "AAA==") - @Size(min = 1, max = 16, message = "사이트 코드는 필수 입니다(max:16)") + @NotEmpty(message = "사이트 코드는 필수 입니다(max:16)") + @Size(max = 16) private String siteCode; @Schema(requiredMode = RequiredMode.REQUIRED, title = "요청고유번호", description = "이용기관에서 생성한 임의의 값", example = " ") - @Size(min = 30, max = 30, message = "요청고유번호는 필수 입니다(max:30)") + @NotEmpty(message = "요청고유번호는 필수 입니다(max:30)") + @Size(max = 30) private String requestNo; @Schema(requiredMode = RequiredMode.REQUIRED, title = "암호화키", description = "사용할 암호화키", example = " ") - @Size(min = 32, max = 32, message = "사이트 코드는 필수 입니다(max:32)") + @NotEmpty(message = "사이트 코드는 필수 입니다(max:32)") + @Size(max = 32) private String key; @Schema(requiredMode = RequiredMode.REQUIRED, title = "iv", description = "inital Vector", example = " ") - @Size(min = 16, max = 16, message = "iv는 필수 입니다(max:16)") + @NotEmpty(message = "iv는 필수 입니다(max:16)") + @Size(max = 16) private String iv; @Schema(requiredMode = RequiredMode.REQUIRED, title = "hmac_key", description = "사용할 HMAC KEY", example = " ") - @Size(min = 32, max = 32, message = "iv는 필수 입니다(max:16)") + @NotEmpty(message = "iv는 필수 입니다(max:32)") + @Size(max = 32) private String hmacKey; } @@ -528,7 +533,7 @@ public class NiceCiDTO { //-------------------------------------------------------------------------------- // 아이핀 CI 요청 //-------------------------------------------------------------------------------- - @Schema(name = "IpinCiRequest", description = "IPIN CI 요청 파라메터 DTO") + @Schema(name = "IpinCiRequest", description = "IPIN CI 요청 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -544,12 +549,7 @@ public class NiceCiDTO { private IpinCiReqDataBody dataBody; } - /** - *@@ -63,7 +64,8 @@ public class KkopayDocBulkDTO extends KkopayDocAttrDTO { * 문서 아이디(외부)(max=40) - 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "외부 문서 아이디(max=40)", example = "A000001") - @Size(min = 1, max = 40, message = "문서 아이디(외부)는 필수 입니다(max=40)") + @NotEmpty(message = "문서 아이디(외부)는 필수 입니다(max=40)") + @Size(max = 40) private String external_document_uuid; } //---------------------------------------------------------------------------------- @@ -91,6 +93,7 @@ public class KkopayDocBulkDTO extends KkopayDocAttrDTO { * 문서 아이디(외부)(max=40) - 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "외부 문서 아이디(max=40)", example = " ") + @NotEmpty @Size(min = 1, max = 40) private String external_document_uuid; @@ -154,7 +157,8 @@ public class KkopayDocBulkDTO extends KkopayDocAttrDTO { * 카카오페이 문서식별 번호(max:40) - 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "카카오페이 문서식별번호(max:40)", example = " ") - @Size(min = 1, max = 40, message = "카카오페이 문서식별번호는 필수입니다(max:40)") + @NotEmpty(message = "카카오페이 문서식별번호는 필수입니다(max:40)") + @Size(max = 40) private String document_binder_uuid; /** diff --git a/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocDTO.java b/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocDTO.java index 1c6eaed..0ae8ffe 100644 --- a/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocDTO.java +++ b/mens-core/src/main/java/kr/xit/biz/ens/model/kakao/KkopayDocDTO.java @@ -13,6 +13,7 @@ import lombok.NoArgsConstructor; import lombok.ToString; import lombok.experimental.SuperBuilder; import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.NotEmpty; /** **/ - @Schema(name = "TokenResDataBody", description = "기관용 토큰 발급 요청 결과 dataBody DTO") + @Schema(name = "TokenResDataBody", description = "기관용 토큰 발급 결과 dataBody DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -196,7 +194,7 @@ public class NiceCiDTO { * 기관용 토큰 폐기 결과 dataBody *@@ -94,8 +95,8 @@ public class KkopayDocDTO extends KkopayDocAttrDTO { * 카카오페이 전자문서 서버에서 생성한 토큰(max:50) : 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "카카오페이 전자문서 서버로 부터 받은 토큰(max:50)", example = "CON-cc375944ae3d11ecb91e42193199ee3c") - //@Size(min = 1, max = 50, message = "카카오페이 전자문서 서버 토큰은 필수입니다(max:50)") - @Length(min = 1, max = 50, message = "카카오페이 전자문서 서버 토큰은 필수입니다(max:50)") + @NotEmpty(message = "카카오페이 전자문서 서버 토큰은 필수입니다(max:50)") + @Length(max = 50) private String token; } //----------------------------------------------------------------------------------------- @@ -112,7 +113,8 @@ public class KkopayDocDTO extends KkopayDocAttrDTO { * 토큰상태값(성공시 USED) : 필수 */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "토큰상태값(성공시 USED)", example = " ") - @Size(min = 1, max = 10, message = "토큰상태값은 필수입니다(성공:USED)") + @NotEmpty(message = "토큰상태값은 필수입니다(성공:USED)") + @Size(max = 10) private String token_status; /** diff --git a/mens-core/src/main/java/kr/xit/biz/ens/model/kt/KtMmsDTO.java b/mens-core/src/main/java/kr/xit/biz/ens/model/kt/KtMmsDTO.java index b8dbae3..71c409e 100644 --- a/mens-core/src/main/java/kr/xit/biz/ens/model/kt/KtMmsDTO.java +++ b/mens-core/src/main/java/kr/xit/biz/ens/model/kt/KtMmsDTO.java @@ -1,12 +1,20 @@ package kr.xit.biz.ens.model.kt; -import java.io.Serializable; -import kr.xit.biz.common.AuditFields; +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.core.model.IApiResponse; import lombok.AllArgsConstructor; import lombok.Builder; +import lombok.Builder.Default; import lombok.Data; import lombok.NoArgsConstructor; -import lombok.experimental.SuperBuilder; +import lombok.ToString; +import org.hibernate.validator.constraints.Length; +import org.hibernate.validator.constraints.NotEmpty; /** **/ - @Schema(name = "TokenRevokeResponse", description = "기관용 Token 폐기 요청 결과 DTO") + @Schema(name = "TokenRevokeResponse", description = "기관용 Token 폐기 결과 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -151,7 +149,7 @@ public class NiceCiDTO { * Json data : SNAKE_CASE (access_token <-> accessToken) *@@ -25,4 +33,151 @@ import lombok.experimental.SuperBuilder; */ public class KtMmsDTO { + @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 = " ") + private String juminId; + } + + @Schema(name = "KtTokenRequest", description = "KT MMS 토큰발행 요청 DTO") + @Data + @NoArgsConstructor + @AllArgsConstructor + @Builder + @JsonInclude(JsonInclude.Include.NON_NULL) + 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; + + /** + **/ - @Schema(name = "TokenResponse", description = "기관용 Token(50년 유효) 발급 요청 결과 DTO") + @Schema(name = "NiceTokenResponse", description = "Nice 기관용 Token(50년 유효) 발급 결과 DTO") @Data @NoArgsConstructor @AllArgsConstructor @SuperBuilder @JsonInclude(JsonInclude.Include.NON_NULL) - public static class TokenResponse implements IApiResponse { + public static class NiceTokenResponse implements IApiResponse { @Schema(requiredMode = RequiredMode.REQUIRED) @Valid private ResponseDataHeader dataHeader; @@ -128,7 +126,7 @@ public class NiceCiDTO { * 기관용 Token 폐기 응답 *+ * 접근토큰 권한범위 : ag.api|pf.api + *+ */ + @Schema(requiredMode = RequiredMode.REQUIRED, title = "권한범위", example = "ag.api") + @NotEmpty(message = "권한범위는 필수 입니다") + @Length(max = 1) + private String scope; + } + + @Schema(name = "KtTokenResponse", description = "KT MMS 토큰발행 요청 결과 DTO") + @ToString + @NoArgsConstructor + @AllArgsConstructor + @Builder + @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; + + /** + *+ * 접근 토큰 유형 : 성공시 필수 + * bearer 고정 + *+ */ + @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; + + /** + *+ * 접근토큰 권한범위 : 성공시 필수 + * 또는, 실패시 scope에러인 경우 발생 + *+ */ + @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 jtl; + //------------------------------------------------------------------- + + + //------------------------------------------------------------------- + // 토큰 발행 실패시 필수 + //------------------------------------------------------------------- + /** + *+ * 접근 토큰 유형 : 성공시 필수 + * bearer 고정 + *+ */ + @Schema(requiredMode = RequiredMode.AUTO, title = "에러코드", example = " ") + @Size(max = 100) + private String error; + + /** + * 접근 토큰 유효 기간 : 성공시 필수 + */ + @Schema(requiredMode = RequiredMode.AUTO, title = "에러메세지", example = " ") + @Size(max = 100) + private String error_description; + } } diff --git a/mens-core/src/main/java/kr/xit/biz/ens/model/nice/NiceCiDTO.java b/mens-core/src/main/java/kr/xit/biz/ens/model/nice/NiceCiDTO.java index 5f93076..0d30db4 100644 --- a/mens-core/src/main/java/kr/xit/biz/ens/model/nice/NiceCiDTO.java +++ b/mens-core/src/main/java/kr/xit/biz/ens/model/nice/NiceCiDTO.java @@ -7,19 +7,17 @@ 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.io.Serializable; -import java.util.HashMap; -import java.util.Map; import javax.validation.Valid; import javax.validation.constraints.Size; import kr.xit.biz.common.AuditFields; import kr.xit.core.model.IApiResponse; -import kr.xit.core.support.utils.JsonUtils; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Builder.Default; import lombok.Data; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; +import org.hibernate.validator.constraints.NotEmpty; /** *@@ -49,14 +47,14 @@ public class NiceCiDTO { * 시군구 코드 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "시군구코드", example = "88328") - @Size(min = 1, message = "시군구 코드는 필수 입니다") + @NotEmpty(message = "시군구 코드는 필수 입니다") private String signguCode; /** * 과태료 코드 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "과태료코드", example = "11") - @Size(min = 1, message = "과태료 코드는 필수 입니다") + @NotEmpty(message = "과태료 코드는 필수 입니다") private String ffnlgCode = "11"; /** @@ -75,20 +73,20 @@ public class NiceCiDTO { * Json data : SNAKE_CASE (grant_type <-> grantType) **/ - @Schema(name = "TokenRequest", description = "기관용 Token(50년 유효) 발급 요청 파라메터 DTO") + @Schema(name = "NiceTokenRequest", description = "Nice 기관용 Token(50년 유효) 발급 요청 DTO") @Data @NoArgsConstructor @AllArgsConstructor @Builder @JsonInclude(JsonInclude.Include.NON_NULL) @JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class) - public static class TokenRequest { + public static class NiceTokenRequest { /** * default 로 고정 */ @Default @Schema(requiredMode = RequiredMode.REQUIRED, title = "scope", example = "default") - @Size(min = 1, message = "scope는 필수입니다") + @NotEmpty(message = "scope는 필수입니다") private String scope = "default"; /** @@ -96,7 +94,7 @@ public class NiceCiDTO { */ @Default @Schema(requiredMode = RequiredMode.REQUIRED, title = "grant_type", example = "clinet_credentials") - @Size(min = 1, message = "grant_type은 필수입니다") + @NotEmpty(message = "grant_type은 필수입니다") private String grantType = "clinet_credentials"; } @@ -107,13 +105,13 @@ public class NiceCiDTO { * content-type : application/json *
- * 대칭키(symmetrickey) 등록 요청 결과 - *- */ - @Schema(name = "SymmetrickeyRegResponse", description = "대칭키(symmetrickey) 등록 요청 결과 DTO") + @Schema(name = "IpinCiResponse", description = "IPIN CI 요청 결과 DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -571,7 +571,7 @@ public class NiceCiDTO { * Json data : SNAKE_CASE (req_dtim <-> reqDtim) * */ - @Schema(name = "IpinCiReqDataBody", description = "IPIN CI 등록 요청 dataBody DTO") + @Schema(name = "IpinCiReqDataBody", description = "IPIN CI 요청 dataBody DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -585,7 +585,8 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "대칭키버전", example = "20210121ca8c1612-2c2d-IPaa-aad1-xxxxxxxxxxxx") - @Size(min = 1, max = 50, message = "대칭키 버전은 필수 입니다") + @NotEmpty(message = "대칭키 버전은 필수 입니다") + @Size(max = 50) private String symkeyVersion; /** @@ -595,7 +596,8 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "json암호화값(회원사에서 생성한 대칭키를 공개키로 암호화한 값)", example = "SDFWASDFASDFSDFASDFASDFASD=") - @Size(min = 1, max = 1024, message = "encode data는 필수입니다(JSON암호화)") + @NotEmpty(message = "encode data는 필수입니다(JSON암호화)") + @Size(max = 1024) private String encData; /** @@ -604,11 +606,12 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "integrity_value", example = "SDFWASDFASDFSDFASDFASDFASD=") - @Size(min = 1, max = 44, message = "encode data는 필수입니다(JSON암호화)") + @NotEmpty(message = "encode data는 필수입니다(JSON암호화)") + @Size(max = 44) private String integrityValue; } - @Schema(name = "IpinCiResDataBody", description = "IPIN CI 등록 결과 dataBody DTO") + @Schema(name = "IpinCiResDataBody", description = "IPIN CI 요청 결과 dataBody DTO") @Data @NoArgsConstructor @AllArgsConstructor @@ -650,7 +653,7 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.AUTO, title = "integrity_value", example = "SDFWASDFASDFSDFASDFASDFASD=") - @Size(min = 1, max = 44) + @Size(max = 44) private String integrityValue; } @@ -667,16 +670,17 @@ public class NiceCiDTO { * 공개키요청시 수신한 사이트코드 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "사이트 코드", description = "공개키 요청시 수신한 사이트코드", example = " ") - @Size(max = 16, message = "사이트 코드는 필수 입니다(max:16)") + @NotEmpty(message = "사이트 코드는 필수 입니다(max:16)") + @Size(max = 16) private String siteCode; /** * 정보요청유형 : 1 - CI제공 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "정보요청유형", description = "정보요청유형", example = "1") - @Size(min = 1, max = 1, message = "정보요청유형은 필수 입니다(1:CI요청)") - @Default - private String infoReqType = "1"; + @NotEmpty(message = "정보요청유형은 필수 입니다(1:CI요청)") + @Size(max = 1) + private final String infoReqType = "1"; /** * 주민번호 13자리 @@ -689,7 +693,8 @@ public class NiceCiDTO { * 이용기관에서 서비스에 대한 요청거래를 확인하기 위한 고유값 */ @Schema(requiredMode = RequiredMode.REQUIRED, title = "요청번호", description = "이용기관에서 서비스에 대한 요청거래를 확인하기 위한 고유값", example = " ") - @Size(min = 30, max = 30, message = "요청번호는 필수 입니다(30자리)") + @NotEmpty(message = "요청번호는 필수 입니다(30자리)") + @Size(max = 30) private String reqNo; /** @@ -707,7 +712,7 @@ public class NiceCiDTO { private String clientIp; } - @Schema(name = "IpinCiResEncData", description = "IPIN CI 등록 결과 enc_data JSON 속성") + @Schema(name = "IpinCiResEncData", description = "IPIN CI 요청 결과 enc_data JSON 속성") @Data @NoArgsConstructor @AllArgsConstructor @@ -805,14 +810,14 @@ public class NiceCiDTO { * */ @Schema(requiredMode = RequiredMode.AUTO, title = "TRAN_ID", example = "20230906120000") - @Size(min = 0, max = 24, message = "TRAN_ID는 24자를 넘을 수 없습니다.") + @Size(max = 24, message = "TRAN_ID는 24자를 넘을 수 없습니다.") private String tranId; /** * CNTY_ID : 요청한값 그대로 return */ @Schema(requiredMode = RequiredMode.AUTO, title = "CNTY_ID", example = "kr") - @Size(min = 0, max = 2, message = "CNTY_ID는 2자를 넘을 수 없습니다.") + @Size(max = 2, message = "CNTY_ID는 2자를 넘을 수 없습니다.") private String cntyId; } @@ -909,28 +914,6 @@ public class NiceCiDTO { private String resultCd; } - - - public String genSymkeyRegInfo() { - /* - final String requestNo = createRequestNo(); - final String key = this.createKey(); - final String iv = this.createIv(); - final String hmacKey = this.createHmacKey(); -*/ - Map