feat: 배치 -> API call 반영(KAKAO API)
parent
58395ec84a
commit
e8f8467527
@ -1,47 +0,0 @@
|
||||
package kr.xit.biz.cmm.util;
|
||||
|
||||
import egovframework.com.cmm.EgovMessageSource;
|
||||
import kr.xit.biz.cmm.service.ICmmEnsCacheService;
|
||||
import kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO;
|
||||
import kr.xit.core.exception.BizRuntimeException;
|
||||
import kr.xit.core.spring.util.BatchSpringUtils;
|
||||
import kr.xit.core.spring.util.CoreSpringUtils;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.NoArgsConstructor;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.kakao.cmm
|
||||
* fileName : CmmKakaoUtils
|
||||
* author : limju
|
||||
* date : 2023-09-19
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-09-19 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class CmmKakaoUtils {
|
||||
private static final EgovMessageSource messageSource = CoreSpringUtils.getMessageSource();
|
||||
private static final ICmmEnsCacheService cacheService = BatchSpringUtils.getCmmEnsCacheService();
|
||||
|
||||
/**
|
||||
* KT MMS 인증 정보 조회
|
||||
* @return
|
||||
*/
|
||||
public static CmmEnsRlaybsnmDTO getRlaybsnmInfo(final String signguCode, final String ffnlgCode) {
|
||||
final CmmEnsRlaybsnmDTO dto = cacheService.getRlaybsnmInfoCache(signguCode, ffnlgCode);
|
||||
if(ObjectUtils.isEmpty(dto)) throw BizRuntimeException.create(messageSource.getMessage("fail.api.rlaybsnm.info"));
|
||||
cacheService.logCache();
|
||||
|
||||
return dto;
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -0,0 +1,743 @@
|
||||
package kr.xit.biz.ens.model.epost;
|
||||
|
||||
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.Size;
|
||||
import kr.xit.biz.ens.model.cmm.CmmEnsRequestDTO;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpAcceptRequest;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpCommonResponse;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hibernate.validator.constraints.NotEmpty;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : EPost DTO
|
||||
* - 우편제작 접수 요청
|
||||
* Request : {@link PpAcceptRequest}
|
||||
* Response : {@link PpCommonResponse}
|
||||
* - 우편제작 상태 조회
|
||||
* Request : {@link PpStatusRequest}
|
||||
* Response : {@link PpStatusResponse}
|
||||
* packageName : kr.xit.biz.ens.model.epost
|
||||
* fileName : EPostDTO
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public class EPostDTO {
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 접수 요청 DTO
|
||||
* Request: PpAcceptRequest
|
||||
* Response: PpCommonResponse
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceRequest", description = "EPost 종적추적 요청 DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class EpostTraceRequest extends CmmEnsRequestDTO {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 공공데이터포털에서 발급받은 인증키(URL Encode)
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "인증키", example = " ")
|
||||
@Size(min = 30, max = 100, message = "apiKey는 필수 입니다.")
|
||||
private String serviceKey;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 등기번호 - 13자리
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "등기번호", example = " ")
|
||||
@Size(min = 13, max = 13, message = "등기번호는 필수 입니다(13자리)")
|
||||
private MultipartFile rgist;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 접수 요청 결과 DTO
|
||||
* 성공 : 결과 - "OK"
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceResponse", description = "EPost 종적추적 요청 결과 DTO")
|
||||
@Getter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class EpostTraceResponse implements IApiResponse {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* API 요청 등기 번호 : 필수 - 13자리
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "등기번호")
|
||||
private String requestRegiNo;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 응답시간 : 필수 - 20 자리
|
||||
* yyyy-mm-dd HH:mi:ss
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "응답시간")
|
||||
private String responseTime;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 성공여부 : 필수 - Y|N
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "성공여부")
|
||||
private String successYN;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 등기번호 : 필수 - 13자리
|
||||
* 조회된 등기번호
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "등기번호")
|
||||
private String regiNo;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 보낸 사람 : 필수 - max 50
|
||||
* 발신인 명
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "보낸 사람")
|
||||
private String senderName;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 보낸 날자 : 필수 - 10자리
|
||||
* 발신일자 yyyy-mm-dd
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "보낸 날자")
|
||||
private String senderData;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 받는 사람 : 필수 - max 50
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "받는 사람")
|
||||
private String receiveName;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 받은 날자 : 필수 - 10자리
|
||||
* 수신일자 yyyy-mm-dd
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "받은 날자")
|
||||
private String receiveDate;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 배달상태: 필수 - max 10
|
||||
* 배달완로|미배달
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "배달 상태")
|
||||
private String trackState;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 정렬순서 : 필수 - 1자리
|
||||
* 배송 진행 사항에 대한 정렬 순서
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "정렬 순서")
|
||||
private String sortNo;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 처리일 : 필수 - 10자리
|
||||
* 배송진행 처리일 yyyy-mm-dd
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "처리일")
|
||||
private String date;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 처리시간 : 필수 - 5자리
|
||||
* 배송진행 처리시간 mi:ss
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "처리 시간")
|
||||
private String time;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 처리상태 : 필수 - max 10
|
||||
* 배송진행 처리상태 접수
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "처리 상태")
|
||||
private String status;
|
||||
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 에러메세지 : max 100
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "에러메세지")
|
||||
private String errorMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 접수 요청 Data Master DTO
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "PpAcceptReqDataMst", description = "Postplus 우편제작 접수 요청 Data master DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class PpAcceptReqDataMst {
|
||||
//-----------------------------------------------------------------------
|
||||
// 필수
|
||||
//-----------------------------------------------------------------------
|
||||
/**
|
||||
* <pre>
|
||||
* 버전 : v1.10
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "버전", example = "v1.10")
|
||||
@NotEmpty(message = "버전은 필수 입니다")
|
||||
private final String 버전 = "v1.10";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 테스트여부 : default "N" - 인쇄 직전 단계까지 진행
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "테스트여부", example = "N")
|
||||
@NotEmpty(message = "테스트여부는 필수 입니다(Y|N)")
|
||||
private final String 테스트여부 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 서비스 : PST - 우편, SMS - 문자, KKO - 카카오톡
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스", example = "PST")
|
||||
@NotEmpty(message = "서비스 코드는 필수 입니다(PST)")
|
||||
private final String 서비스 = "PST";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 연계식별키 : 사용자 지정 unique key
|
||||
* max : 40byte
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "연계식별키", example = " ")
|
||||
@Size(min = 5, max = 40, message = "연계식별키는 필수입니다(max:40)")
|
||||
private String 연계식별키;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 봉투 : 소봉투|대봉투|접착시|엽서
|
||||
* 소봉투/대봉투는 A4(210*297) 기준
|
||||
* 접착식이 첨부파일의 경우 주소가 포함되어야 하며 '주소페이지유무' 항목이 'Y여야 합니다.
|
||||
* 접착식이 템플릿의 경우는 data에 주소가 명시되어야 합니다.
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "봉투", example = "소봉투")
|
||||
@NotEmpty(message = "봉투는 필수입니다(소봉투|대봉투|접착시|엽서)")
|
||||
private String 봉투;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 봉투창 : 이중창|단창|무창
|
||||
* 소봉투(이중창,무창) 대봉투(단창,무창) 접착식(공백), 엽서(공백)
|
||||
* 무창은 사전협의가 필요합니다.
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "봉투창", example = "이중창")
|
||||
@NotEmpty(message = "봉투창은 필수입니다(이중창|단창|무창)")
|
||||
private String 봉투창;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 흑백칼라 : 흑백|칼라
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "흑백칼라", example = "흑백")
|
||||
@NotEmpty(message = "흑백칼라는 필수입니다(흑백|칼라)")
|
||||
private String 흑백칼라;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 단면양면 : 단면|양면
|
||||
* 접착식 경우 페이지수가 2매인 경우는 양면인쇄 됩니다.
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "단면양면", example = "단면")
|
||||
@NotEmpty(message = "단면양면은 필수입니다(단면|양면)")
|
||||
private String 단면양면;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 배달 : 일반|등기|준등기|악일특급|선택등기
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "배달", example = "일반")
|
||||
@NotEmpty(message = "배달은 필수입니다(일반|등기|준등기|악일특급|선택등기)")
|
||||
private String 배달;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 템플릿출력여부 : 템플릿코드 존재시 Y
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "템플릿코드", example = "N")
|
||||
@NotEmpty(message = "템플릿출력여부는 필수입니다(Y|N)")
|
||||
private final String 템플릿출력여부 = StringUtils.isEmpty(this.템플릿코드) ? "N" : "Y";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 여백생성유무
|
||||
* Y: 첨부파일 내용문을 자동으로 축소
|
||||
* 소봉투는 봉입 바코드 추가위해 왼쪽 여백 필요
|
||||
* 프린터기를 이용하여 출력하므로 상하좌우의 margin이 필요
|
||||
* - 대봉투의 경우 상 8mm, 하좌우 5mm의 margin이 필요
|
||||
* - 소봉투의 경우 상 8mm, 하우 5mm, 좌 17mm의 margin이 필요
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "여백생성유무", example = "N")
|
||||
@NotEmpty(message = "여백생성유무는 필수입니다(Y|N)")
|
||||
private final String 여백생성유무 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 주소페이지유무
|
||||
* 주소페이지가 첨부파일에 포함 되어있으면 Y
|
||||
* 주소페이지 생성이 필요하면 N
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "여백생성유무", example = "N")
|
||||
@NotEmpty(message = "주소페이지유무는 필수입니다(Y|N)")
|
||||
private final String 주소페이지유무 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 맞춤자제유무
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "맞춤자제유무", example = "N")
|
||||
@NotEmpty(message = "맞춤자제유무는 필수입니다(Y|N)")
|
||||
private final String 맞춤자제유무 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 메일머지유무
|
||||
* Y 일경우 템플릿코드 필수
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "메일머지유무", example = "N")
|
||||
@NotEmpty(message = "메일머지유무는 필수입니다(Y|N)")
|
||||
private final String 메일머지유무 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 동봉물유무
|
||||
* Y 일경우 템플릿코드 필수
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "동봉물유무", example = "N")
|
||||
@NotEmpty(message = "동봉물유무는 필수입니다(Y|N)")
|
||||
private final String 동봉물유무 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 반송여부
|
||||
* 반송불필요: N
|
||||
* 반송필요: Y (반송요금 별도 협의후 이용)
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "반송여부유무", example = "N")
|
||||
@NotEmpty(message = "반송여부는 필수입니다(Y|N)")
|
||||
//private final String 반송여부 = "N";
|
||||
private final String[] 반송여부 = new String[]{"Y", "N"};
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 스테이플러유무
|
||||
* 협의 후 사용 가능합니다.
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "스테이플러유무", example = "N")
|
||||
@NotEmpty(message = "스테이플러유무는 필수입니다(Y|N)")
|
||||
private final String 스테이플러유무 = "N";
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 발송인명
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발송인명", example = "포스토피아")
|
||||
@NotEmpty(message = "발송인명은 필수입니다")
|
||||
private String 발송인명;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 발송인우편번호
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발송인우편번호", example = "05048")
|
||||
@NotEmpty(message = "발송인우편번호는 필수입니다")
|
||||
private String 발송인우편번호;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 발송인주소
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발송인주소", example = "서울특별시 광진구 강변로역2")
|
||||
@NotEmpty(message = "발송인주소는 필수입니다")
|
||||
private String 발송인주소;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 발송인상세주소
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "발송인상세주소", example = "구의동, 서울광진우체국")
|
||||
@NotEmpty(message = "발송인상세주소는 필수입니다")
|
||||
private String 발송인상세주소;
|
||||
//-----------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 템플릿코드 : 고객협의 후 포스토피아에서 템플릿 설정, 발급
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "템플릿코드", example = " ")
|
||||
private String 템플릿코드;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 수취인수
|
||||
* 미입력시 주소록개수 참조
|
||||
* 입력시 주소록개수와 같을시만 발송
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "수취인수", example = " ")
|
||||
private Integer 수취인수;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 동봉물페이지수
|
||||
* 동봉물 존재시 동봉물의 페이지수 기재
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "동봉물페이지수", example = " ")
|
||||
private Integer 동봉물페이지수;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 로고 파일
|
||||
* 미입력시 로고가 없거나 템플릿에 포함되어 있음
|
||||
* 협의 후 사용 가능합니다.
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "로고파일", example = " ")
|
||||
private String 로고파일;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 발송인전화번호
|
||||
* 준등기/등기/익일특급/선택등기 발송시 필수
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "발송인전화번호", example = "010-XXXX-XXXX")
|
||||
private String 발송인전화번호;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 접수 요청 Data Detail DTO
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "PpAcceptReqDataDtl", description = "Postplus 우편제작 접수 요청 Data detail DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class PpAcceptReqDataDtl {
|
||||
//-----------------------------------------------------------------------
|
||||
// 필수
|
||||
//-----------------------------------------------------------------------
|
||||
/**
|
||||
* <pre>
|
||||
* 순번 : "1" 부터 시작
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "순번", example = "1")
|
||||
@NotEmpty(message = "순번은 필수입니다")
|
||||
private String 순번;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 이름 : 수취인명
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "이름", example = "홍길동")
|
||||
@NotEmpty(message = "이름은 필수입니다")
|
||||
private String 이름;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 우편번호 : 수취인 우편번호
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "우편번호", example = "05048")
|
||||
@NotEmpty(message = "우편번호는 필수입니다")
|
||||
private String 우편번호;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 주소 : 수취인 주소
|
||||
* 상세주소 포함 최대 200자
|
||||
* 상세주소를 포함하지 않는 경우 최대 100자
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "주소", example = "서울특별시 광진구 강변역로2")
|
||||
@Size(min = 5, max = 200, message = "주소는 필수입니다(max:200)")
|
||||
private String 주소;
|
||||
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
/**
|
||||
* <pre>
|
||||
* 상세주소 : 수취인 주소
|
||||
* 주소에 포함된 경우 상세주소는 공백
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "상세주소", example = "서울광진우체국 B동 4층")
|
||||
private String 상세주소;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 전화번호 : 수취인 전화번호(준등기/등기/익일특급/선택등기 발송시 필수)
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "전화번호", example = " ")
|
||||
private String 전화번호;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 첨부파일
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "첨부파일", example = " ")
|
||||
private String 첨부파일;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 이미지갯수 : 수취인별 이미지파일의 개수
|
||||
* 오류시 정상 발송 불가
|
||||
* 여러 파일 첨부시 전체파일을 1개의 ZIP파일로 압축하여 pstFile로 전송
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "이미지갯수", example = " ")
|
||||
private Integer 이미지갯수;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 이미지1 파일명
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "이미지1", example = " ")
|
||||
private String 이미지1;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 이미지2 파일명
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "이미지2", example = " ")
|
||||
private String 이미지2;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 이미지3 파일명
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "이미지3", example = " ")
|
||||
private String 이미지3;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 가변 : 최대 200개 까지
|
||||
* </pre>
|
||||
*/
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 상태 조회 요청 DTO
|
||||
* Request: PpStatusRequest
|
||||
* Response: PpStatusResponse
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "PpStatusRequest", description = "Postplus 우편제작 상태 조회 요청 DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class PpStatusRequest extends CmmEnsRequestDTO {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* apiKey
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "apiKey", example = " ")
|
||||
@NotEmpty(message = "apiKey는 필수 입니다.")
|
||||
private String apiKey;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 우편 제작 요청 연계 식별키
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "우편제작요청연계식별키", example = "TEST20230221_000001")
|
||||
@NotEmpty(message = "우편 제작 요청 연계 식별키는 필수 입니다.")
|
||||
private String inputCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 상태 조회 결과 DTO
|
||||
* 성공 :
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "PpStatusResponse", description = "Postplus 우편제작 상태 조회 결과 DTO")
|
||||
@Getter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class PpStatusResponse extends PpCommonResponse {
|
||||
//---------------------------------------------------------
|
||||
// 필수
|
||||
//---------------------------------------------------------
|
||||
/**
|
||||
* <pre>
|
||||
* 신청일자 : YYYYMMDD0000
|
||||
* 우편 제작 요청 접수일
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 신청일자;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 봉투 : 소봉투|대봉투|접착시|엽서
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 봉투;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 배달 : 일반|등기|준등기|악일특급|선택등기
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 배달;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 흑백칼라 : 흑백|칼라
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 흑백칼라;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 단면양면 : 단면|양면
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 단면양면;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 발송건수
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private Integer 발송건수;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 상태: 출력대기|출력|봉입|우체국접수중|제작발송완료|접수취소|확인불가
|
||||
* 확인불가 -> 일반 오류상태 msg
|
||||
* 출력대기 -> 제작 전단계
|
||||
* 출력/봉입/우체국접수중 -> 제작 중
|
||||
* 제작발송완료 -> 제작 후 우체국접수, 후불결제시 과금대상
|
||||
* 접수취소 -> 제작 취소
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 상태;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 연계식별키 : 우편 제작 요청 연계 식별키
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 연계식별키;
|
||||
//---------------------------------------------------------
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 시작등기번호 : 등기의 경우 표기
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO)
|
||||
private String 시작등기번호;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 종료등기번호 : 등기의 경우 표기
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO)
|
||||
private String 종료등기번호;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue