feat: 배치 -> API call 반영(KAKAO API)

dev
gitea-관리자 1 year ago
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;
}
}

@ -1,15 +1,29 @@
package kr.xit.biz.ens.service; package kr.xit.biz.ens.service;
import java.io.*;
import java.util.*;
import java.util.stream.Collectors;
import egovframework.com.cmm.util.EgovDateUtil; import egovframework.com.cmm.util.EgovDateUtil;
import egovframework.com.cmm.util.EgovStringUtil; import egovframework.com.cmm.util.EgovStringUtil;
import kr.xit.biz.cmm.util.CmmKakaoUtils; import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.stream.Collectors;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import kr.xit.biz.common.ApiConstants; import kr.xit.biz.common.ApiConstants;
import kr.xit.biz.ens.mapper.IEnsBatchMapper;
import kr.xit.biz.ens.model.CntcDTO;
import kr.xit.biz.ens.model.EnsDTO;
import kr.xit.biz.ens.model.EnsDTO.SendKakaoTgt; import kr.xit.biz.ens.model.EnsDTO.SendKakaoTgt;
import kr.xit.biz.ens.model.kakao.KkopayDocAttrDTO.Receiver; import kr.xit.biz.ens.model.kakao.KkopayDocAttrDTO.Receiver;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkSendReq; import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkSendReq;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkSendRequests; import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkSendRequests;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkSendResponses; import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkSendResponses;
@ -17,33 +31,25 @@ import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkStatusRequests;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkStatusResponses; import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.BulkStatusResponses;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.PropertyBulk; import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO.PropertyBulk;
import kr.xit.biz.sms.service.ISmsMessageService; import kr.xit.biz.sms.service.ISmsMessageService;
import kr.xit.core.exception.BizRuntimeException;
import kr.xit.core.model.ApiResponseDTO;
import kr.xit.core.spring.util.ApiWebClientUtil; import kr.xit.core.spring.util.ApiWebClientUtil;
import kr.xit.core.support.utils.Checks;
import kr.xit.core.support.utils.DateUtils; import kr.xit.core.support.utils.DateUtils;
import kr.xit.core.support.utils.JsonUtils; import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.ListUtils; import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl; import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.egovframe.rte.fdl.cryptography.EgovPasswordEncoder; import org.egovframe.rte.fdl.cryptography.EgovPasswordEncoder;
import org.slf4j.MDC; import org.slf4j.MDC;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod; import org.springframework.http.HttpMethod;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import kr.xit.biz.ens.mapper.IEnsBatchMapper;
import kr.xit.biz.ens.model.CntcDTO;
import kr.xit.biz.ens.model.EnsDTO;
import kr.xit.core.exception.BizRuntimeException;
import kr.xit.core.model.ApiResponseDTO;
import kr.xit.core.support.utils.Checks;
import kr.xit.biz.ens.model.kakao.KkopayDocBulkDTO;
import lombok.RequiredArgsConstructor;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
/** /**
* <pre> * <pre>
* description : * description :
@ -465,14 +471,16 @@ public class EnsBatchService extends EgovAbstractServiceImpl implements IEnsBatc
List<ApiResponseDTO<BulkSendResponses>> apiResults = partitions.stream() List<ApiResponseDTO<BulkSendResponses>> apiResults = partitions.stream()
.map(bulkSendList -> .map(bulkSendList ->
ApiResponseDTO.success( ApiResponseDTO.success(
apiWebClient.exchangeKko( apiWebClient.exchange(
url.toString(), url.toString(),
HttpMethod.POST, HttpMethod.POST,
JsonUtils.toJson(BulkSendRequests.builder() BulkSendRequests.builder()
.signguCode(tgtDTO.getSignguCode())
.ffnlgCode(tgtDTO.getFfnlgCode())
.documents(bulkSendList) .documents(bulkSendList)
.build()), .build(),
BulkSendResponses.class, BulkSendResponses.class,
CmmKakaoUtils.getRlaybsnmInfo(tgtDTO.getSignguCode(), tgtDTO.getFfnlgCode()))) getHeadeMap()))
) )
.collect(Collectors.toList()); .collect(Collectors.toList());
@ -865,14 +873,16 @@ public class EnsBatchService extends EgovAbstractServiceImpl implements IEnsBatc
List<ApiResponseDTO<KkopayDocBulkDTO.BulkStatusResponses>> apiResults = partitions.stream() List<ApiResponseDTO<KkopayDocBulkDTO.BulkStatusResponses>> apiResults = partitions.stream()
.map(uuids -> .map(uuids ->
ApiResponseDTO.success( ApiResponseDTO.success(
apiWebClient.exchangeKko( apiWebClient.exchange(
url.toString(), url.toString(),
HttpMethod.POST, HttpMethod.POST,
JsonUtils.toJson(BulkStatusRequests.builder() BulkStatusRequests.builder()
.signguCode(reqDTO.getSignguCode())
.ffnlgCode(reqDTO.getFfnlgCode())
.document_binder_uuids(uuids) .document_binder_uuids(uuids)
.build()), .build(),
BulkStatusResponses.class, BulkStatusResponses.class,
CmmKakaoUtils.getRlaybsnmInfo(reqDTO.getSignguCode(), reqDTO.getFfnlgCode()))) getHeadeMap()))
).collect(Collectors.toList()); ).collect(Collectors.toList());
@ -968,4 +978,10 @@ public class EnsBatchService extends EgovAbstractServiceImpl implements IEnsBatc
} }
private Map<String,String> getHeadeMap(){
Map<String, String> map = new HashMap<>();
map.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
//map.put(HttpHeaders.AUTHORIZATION, "");
return map;
}
} }

@ -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…
Cancel
Save