refactor: 미사용 클래스 제거
parent
5687e9b5ff
commit
767c6576ff
@ -1,70 +0,0 @@
|
||||
package kr.xit.ens.epost.service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import kr.xit.biz.common.ApiConstants.SndngSeCode;
|
||||
import kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO;
|
||||
import kr.xit.biz.ens.model.epost.EPostDTO.EpostTraceRequest;
|
||||
import kr.xit.biz.ens.model.epost.EPostDTO.EpostTraceResponse;
|
||||
import kr.xit.core.service.AbstractService;
|
||||
import kr.xit.core.spring.annotation.TraceLogging;
|
||||
import kr.xit.core.spring.util.ApiWebClientUtil;
|
||||
import kr.xit.ens.cmm.CmmEnsUtils;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.epost.service
|
||||
* fileName : EpostService
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class EpostService extends AbstractService implements IEpostService {
|
||||
@Value("${app.contract.epost.host}")
|
||||
private String HOST;
|
||||
|
||||
@Value("${app.contract.epost.api.postTrackInfo}")
|
||||
private String POST_TRACK_INFO;
|
||||
|
||||
private final ApiWebClientUtil webClient;
|
||||
|
||||
@Override
|
||||
@TraceLogging
|
||||
public EpostTraceResponse postTrackInfo(final EpostTraceRequest reqDTO) {
|
||||
final CmmEnsRlaybsnmDTO ktMnsInfo = CmmEnsUtils.getRlaybsnmInfo(reqDTO.getSignguCode(), reqDTO.getFfnlgCode(),
|
||||
SndngSeCode.PPLUS);reqDTO.setServiceKey(ktMnsInfo.getEpostServiceKey());
|
||||
|
||||
final Map<String,String> headerMap = new HashMap<>();
|
||||
headerMap.put(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE);
|
||||
|
||||
reqDTO.setSignguCode(null);
|
||||
reqDTO.setFfnlgCode(null);
|
||||
reqDTO.setProfile(null);
|
||||
CmmEnsUtils.validate(reqDTO);
|
||||
|
||||
return webClient.exchange(
|
||||
HOST + POST_TRACK_INFO + String.format("?serviceKey=%s&rgist=%s",reqDTO.getServiceKey(), reqDTO.getRgist()),
|
||||
HttpMethod.GET,
|
||||
reqDTO,
|
||||
EpostTraceResponse.class,
|
||||
headerMap
|
||||
);
|
||||
}
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package kr.xit.ens.epost.service;
|
||||
|
||||
import kr.xit.biz.ens.model.epost.EPostDTO.EpostTraceRequest;
|
||||
import kr.xit.biz.ens.model.epost.EPostDTO.EpostTraceResponse;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.pplus.service
|
||||
* fileName : IPplusService
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface IEpostService {
|
||||
EpostTraceResponse postTrackInfo(final EpostTraceRequest reqDTO);
|
||||
}
|
@ -1,43 +0,0 @@
|
||||
package kr.xit.ens.epost.web;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import kr.xit.biz.ens.model.epost.EPostDTO.EpostTraceRequest;
|
||||
import kr.xit.core.model.ApiResponseDTO;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import kr.xit.ens.epost.service.IEpostService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.epost.web
|
||||
* fileName : EpostController
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Tag(name = "EpostController", description = "EPost API")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/api/ens/epost/v1")
|
||||
public class EpostController {
|
||||
private final IEpostService service;
|
||||
|
||||
@Operation(summary = "우편물 종적추적", description = "우편물 종적 추적")
|
||||
@PostMapping(value = "/trace", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public IApiResponse postTrackInfo(@RequestBody final EpostTraceRequest paramDTO) {
|
||||
return ApiResponseDTO.success(service.postTrackInfo(paramDTO));
|
||||
}
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package kr.xit.ens.pplus.mapper;
|
||||
|
||||
import java.util.List;
|
||||
import kr.xit.biz.ens.model.cmm.SndngMssageParam;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.BatchAcceptRequest;
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.pplus.mapper
|
||||
* fileName : IPplusMapper
|
||||
* author : limju
|
||||
* date : 2023-11-01
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-11-01 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Mapper
|
||||
public interface IPplusMapper {
|
||||
List<BatchAcceptRequest> selectPostPlusSendTgts(final SndngMssageParam dto);
|
||||
}
|
@ -1,26 +0,0 @@
|
||||
package kr.xit.ens.pplus.service;
|
||||
|
||||
import kr.xit.biz.ens.model.cmm.SndngMssageParam;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpCommonResponse;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpStatusRequest;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpStatusResponse;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.pplus.service
|
||||
* fileName : IPplusService
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface IPplusService {
|
||||
PpCommonResponse sendBulks(final SndngMssageParam reqDTO);
|
||||
PpStatusResponse statusBulks(final PpStatusRequest reqDTO);
|
||||
}
|
@ -1,145 +0,0 @@
|
||||
package kr.xit.ens.pplus.service;
|
||||
|
||||
import java.io.File;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import kr.xit.biz.common.ApiConstants.SndngSeCode;
|
||||
import kr.xit.biz.ens.model.cmm.CmmEnsRlaybsnmDTO;
|
||||
import kr.xit.biz.ens.model.cmm.SndngMssageParam;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.BatchAcceptRequest;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpCommonResponse;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpStatusRequest;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpStatusResponse;
|
||||
import kr.xit.core.service.AbstractService;
|
||||
import kr.xit.core.spring.annotation.TraceLogging;
|
||||
import kr.xit.core.spring.util.ApiWebClientUtil;
|
||||
import kr.xit.core.support.utils.FileUtil;
|
||||
import kr.xit.core.support.utils.JsonUtils;
|
||||
import kr.xit.ens.cmm.CmmEnsUtils;
|
||||
import kr.xit.ens.pplus.mapper.IPplusMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.jasypt.encryption.StringEncryptor;
|
||||
import org.json.simple.JSONObject;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.HttpMethod;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.pplus.service
|
||||
* fileName : PplusService
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class PplusService extends AbstractService implements IPplusService {
|
||||
@Value("${app.file.cmm.temp-path}")
|
||||
private String FILE_TEMP_PATH;
|
||||
|
||||
@Value("${app.contract.pplus.host}")
|
||||
private String HOST;
|
||||
|
||||
@Value("${app.contract.pplus.api.accept}")
|
||||
private String ACCEPT;
|
||||
|
||||
@Value("${app.contract.pplus.api.status}")
|
||||
private String STATUS;
|
||||
|
||||
private final StringEncryptor jasyptStringEncryptor;
|
||||
private final ApiWebClientUtil webClient;
|
||||
private final IPplusMapper mapper;
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Override
|
||||
@TraceLogging
|
||||
public PpCommonResponse sendBulks(final SndngMssageParam reqDTO) {
|
||||
final List<BatchAcceptRequest> tgtList = mapper.selectPostPlusSendTgts(reqDTO);
|
||||
|
||||
if(!tgtList.isEmpty()){
|
||||
JSONObject master = new JSONObject();
|
||||
master.put("cols", JsonUtils.toObject(tgtList.get(0).getMasterCols(), ArrayList.class));
|
||||
master.put("rows", JsonUtils.toObject(tgtList.get(0).getMasterRows(), ArrayList.class));
|
||||
|
||||
JSONObject detail = new JSONObject();
|
||||
detail.put("cols", JsonUtils.toObject(tgtList.get(0).getDetailCols(), ArrayList.class));
|
||||
detail.put("rows", tgtList.stream()
|
||||
.map(d -> jasyptStringEncryptor.decrypt(d.getDetailRows()))
|
||||
.map(d -> JsonUtils.toObject(d, ArrayList.class))
|
||||
.toList());
|
||||
|
||||
JSONObject pstJson = new JSONObject();
|
||||
pstJson.put("master", master);
|
||||
pstJson.put("detail", detail);
|
||||
|
||||
final String unitySndngMstId = tgtList.get(0).getUnitySndngMastrId();
|
||||
FileUtil.saveFile(FILE_TEMP_PATH,unitySndngMstId+".json", pstJson.toJSONString().getBytes(
|
||||
StandardCharsets.UTF_8));
|
||||
return accept(reqDTO, unitySndngMstId);
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public PpCommonResponse accept(final SndngMssageParam paramDTO, final String unitySndngMstId) {
|
||||
final CmmEnsRlaybsnmDTO ktMnsInfo = CmmEnsUtils.getRlaybsnmInfo(paramDTO.getSignguCode(), paramDTO.getFfnlgCode(), SndngSeCode.PPLUS);
|
||||
|
||||
MultipartFile pstFile = FileUtil.createMutipartFile(unitySndngMstId + ".json", FILE_TEMP_PATH);
|
||||
|
||||
List<MultipartFile> pstFiles = new ArrayList<>();
|
||||
pstFiles.add(pstFile);
|
||||
|
||||
PpCommonResponse resDTO = webClient.exchangeFileData(
|
||||
HOST + ACCEPT + String.format("?apiKey=%s", ktMnsInfo.getPplusApiKey()),
|
||||
HttpMethod.POST,
|
||||
pstFiles,
|
||||
"pstFile",
|
||||
PpCommonResponse.class
|
||||
);
|
||||
resDTO.setUnitySndngMastrId(unitySndngMstId);
|
||||
|
||||
File file = new File(FILE_TEMP_PATH + "/" +unitySndngMstId + ".json");
|
||||
if(file.exists()) {
|
||||
file.delete();
|
||||
}
|
||||
|
||||
return resDTO;
|
||||
}
|
||||
|
||||
@Override
|
||||
public PpStatusResponse statusBulks(PpStatusRequest reqDTO) {
|
||||
final CmmEnsRlaybsnmDTO ktMnsInfo = CmmEnsUtils.getRlaybsnmInfo(reqDTO.getSignguCode(), reqDTO.getFfnlgCode(), SndngSeCode.PPLUS);
|
||||
reqDTO.setApiKey(ktMnsInfo.getPplusApiKey());
|
||||
reqDTO.setSignguCode(null);
|
||||
reqDTO.setFfnlgCode(null);
|
||||
reqDTO.setProfile(null);
|
||||
reqDTO.setTry1(null);
|
||||
CmmEnsUtils.validate(reqDTO);
|
||||
|
||||
final Map<String,String> headerMap = new HashMap<>();
|
||||
headerMap.put(HttpHeaders.CONTENT_TYPE, MediaType.MULTIPART_FORM_DATA_VALUE);
|
||||
|
||||
return webClient.exchangeFormData(
|
||||
HOST + STATUS,
|
||||
HttpMethod.POST,
|
||||
reqDTO,
|
||||
PpStatusResponse.class,
|
||||
headerMap
|
||||
);
|
||||
}
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
package kr.xit.ens.pplus.web;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import kr.xit.biz.ens.model.cmm.SndngMssageParam;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpCommonResponse;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpStatusRequest;
|
||||
import kr.xit.biz.ens.model.pplus.PplusDTO.PpStatusResponse;
|
||||
import kr.xit.core.model.ApiResponseDTO;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import kr.xit.ens.pplus.service.IPplusService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.ModelAttribute;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.ens.pplus.web
|
||||
* fileName : PplusController
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Tag(name = "PplusController", description = "Postplus(포스토피아) API")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/api/ens/pplus/v1")
|
||||
public class PplusController {
|
||||
private final IPplusService service;
|
||||
|
||||
@Operation(summary = "우편제작접수", description = "우편제작접수 요청<br><a href='/pstFile.html'>우편제작접수</a>")
|
||||
@PostMapping(value = "/accept", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public IApiResponse send(@ModelAttribute final SndngMssageParam paramDTO) {
|
||||
PpCommonResponse resDTO = service.sendBulks(paramDTO);
|
||||
return ApiResponseDTO.success(resDTO);
|
||||
}
|
||||
|
||||
@Operation(summary = "우편제작 상태 조회", description = "우편제작상태조회")
|
||||
@PostMapping(value = "/status", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public IApiResponse status(@RequestBody final PpStatusRequest paramDTO) {
|
||||
PpStatusResponse resDTO = service.statusBulks(paramDTO);
|
||||
return ApiResponseDTO.success(resDTO);
|
||||
}
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
package kr.xit.other.mapper;
|
||||
|
||||
import kr.xit.other.model.ElecnoticeDTO.Elecnoticedtl;
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : 전자고지 파일 외부연계 mapper
|
||||
*
|
||||
* packageName : kr.xit.biz.other.mapper
|
||||
* fileName : IOtherMapper
|
||||
* author : seojh
|
||||
* date : 2024-01-03
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-01-03 seojh 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Mapper
|
||||
public interface IOtherMapper {
|
||||
|
||||
Elecnoticedtl selectElecnotice(final Elecnoticedtl dto);
|
||||
int saveElecnoticemst(final Elecnoticedtl dto);
|
||||
int saveElecnoticedtl(final Elecnoticedtl dto);
|
||||
}
|
@ -1,138 +0,0 @@
|
||||
package kr.xit.other.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : 전자고지 파일 외부연계 DTO
|
||||
*
|
||||
* packageName : kr.xit.biz.other.model
|
||||
* fileName : ElecnoticeDTO
|
||||
* author : seojh
|
||||
* date : 2024-01-03
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-01-03 seojh 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public class ElecnoticeDTO {
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public static class Elecnoticemst {
|
||||
|
||||
/**
|
||||
* 파일 일련번호
|
||||
*/
|
||||
private String unitysndngmastrid;
|
||||
/**
|
||||
* 우편물 발송건수
|
||||
*/
|
||||
private String sndngco;
|
||||
/**
|
||||
* 발송처리상태
|
||||
*/
|
||||
private String sndngprocesssttus;
|
||||
/**
|
||||
* 등록자
|
||||
*/
|
||||
private String insuser;
|
||||
/**
|
||||
* 등록일자
|
||||
*/
|
||||
private String insdate;
|
||||
/**
|
||||
* 수정자
|
||||
*/
|
||||
private String upduser;
|
||||
/**
|
||||
* 수정일자
|
||||
*/
|
||||
private String upddate;
|
||||
/**
|
||||
* 발송일시
|
||||
*/
|
||||
private String sndngdt;
|
||||
/**
|
||||
* 발송구분
|
||||
*/
|
||||
private String sndngsecode;
|
||||
/**
|
||||
* 고지서명
|
||||
*/
|
||||
private String tmplatid;
|
||||
/**
|
||||
* 결과조회일시
|
||||
*/
|
||||
private String searchdate;
|
||||
/**
|
||||
* 성공여부
|
||||
*/
|
||||
private String success;
|
||||
/**
|
||||
* 메시지
|
||||
*/
|
||||
private String message;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public static class Elecnoticedtl extends Elecnoticemst {
|
||||
/**
|
||||
* 우편물 일련번호
|
||||
*/
|
||||
private String unitysndngdetailid;
|
||||
/**
|
||||
* 고지차수
|
||||
*/
|
||||
private String gojidepth;
|
||||
/**
|
||||
* 기관번호
|
||||
*/
|
||||
private String taxnum1;
|
||||
/**
|
||||
* 세목
|
||||
*/
|
||||
private String taxnum2;
|
||||
/**
|
||||
* 납세년월기
|
||||
*/
|
||||
private String taxnum3;
|
||||
/**
|
||||
* 과세번호
|
||||
*/
|
||||
private String taxnum4;
|
||||
/**
|
||||
* 담당자
|
||||
*/
|
||||
private String worker;
|
||||
/**
|
||||
* 가상계좌 일련번호
|
||||
*/
|
||||
private String serialno;
|
||||
/**
|
||||
* 수신일자
|
||||
*/
|
||||
private String recvdt;
|
||||
/**
|
||||
* 열람일자
|
||||
*/
|
||||
private String readdt;
|
||||
/**
|
||||
* 발송결과코드
|
||||
*/
|
||||
private String resultcode;
|
||||
|
||||
}
|
||||
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
package kr.xit.other.service;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.other.service
|
||||
* fileName : IOtherService
|
||||
* author : seojh
|
||||
* date : 2024-01-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-01-04 seojh 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface IOtherService {
|
||||
//--------------------------------------------------------------------------------
|
||||
// merge save oracle
|
||||
//--------------------------------------------------------------------------------
|
||||
String mergeData();
|
||||
}
|
@ -1,66 +0,0 @@
|
||||
package kr.xit.other.service;
|
||||
|
||||
import kr.xit.biz.sisul.mapper.IBizSisulMapper;
|
||||
import kr.xit.core.service.AbstractService;
|
||||
import kr.xit.core.spring.annotation.TraceLogging;
|
||||
import kr.xit.core.support.utils.Checks;
|
||||
import kr.xit.other.mapper.IOtherMapper;
|
||||
import kr.xit.other.model.ElecnoticeDTO.Elecnoticedtl;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.other.service
|
||||
* fileName : OtherService
|
||||
* author : seojh
|
||||
* date : 2024-01-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-01-04 seojh 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class OtherService extends AbstractService implements IOtherService {
|
||||
|
||||
private final IOtherMapper mapper;
|
||||
private final IBizSisulMapper mapper2;
|
||||
|
||||
/**
|
||||
*
|
||||
* @return String
|
||||
*/
|
||||
@Override
|
||||
public String mergeData(){
|
||||
List<Elecnoticedtl> ohterResult = mapper2.selectOhterResult();
|
||||
|
||||
for(Elecnoticedtl dto: ohterResult){
|
||||
Elecnoticedtl elecnoticedtl = mapper.selectElecnotice(dto);
|
||||
|
||||
if((Checks.isEmpty(elecnoticedtl))
|
||||
|| (Checks.isEmpty(elecnoticedtl.getSndngprocesssttus()))
|
||||
|| (Checks.isNotEmpty(elecnoticedtl) && !Checks.checkVal(dto.getSndngprocesssttus(),"").equals(Checks.checkVal(elecnoticedtl.getSndngprocesssttus(),"")))
|
||||
|| (Checks.isNotEmpty(elecnoticedtl) && !Checks.checkVal(dto.getSndngco(),"").equals(Checks.checkVal(elecnoticedtl.getSndngco(),"")))
|
||||
|| (Checks.isNotEmpty(elecnoticedtl) && !Checks.checkVal(dto.getSndngdt(),"").equals(Checks.checkVal(elecnoticedtl.getSndngdt(),"")))
|
||||
|| (Checks.isNotEmpty(elecnoticedtl) && !Checks.checkVal(dto.getTmplatid(),"").equals(Checks.checkVal(elecnoticedtl.getTmplatid(),"")))
|
||||
|| (Checks.isNotEmpty(elecnoticedtl) && !Checks.checkVal(dto.getMessage(),"").equals(Checks.checkVal(elecnoticedtl.getMessage(),"")))
|
||||
){
|
||||
mapper.saveElecnoticemst(dto);
|
||||
mapper.saveElecnoticedtl(dto);
|
||||
} else if ((Checks.isEmpty(elecnoticedtl.getResultcode())) || (!Checks.checkVal(dto.getResultcode(),""). equals(Checks.checkVal(elecnoticedtl.getResultcode(),"")))) {
|
||||
mapper.saveElecnoticedtl(dto);
|
||||
}
|
||||
}
|
||||
|
||||
return "success";
|
||||
}
|
||||
}
|
@ -1,42 +0,0 @@
|
||||
package kr.xit.other.web;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import kr.xit.core.model.ApiResponseDTO;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import kr.xit.other.service.IOtherService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.other.web
|
||||
* fileName : OtherController
|
||||
* author : jhseo
|
||||
* date : 2024-01-09
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2024-01-09 jhseo 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Tag(name = "OtherController", description = "외부 Oracle 연계 API")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/api/other/v1")
|
||||
public class OtherController {
|
||||
private final IOtherService service;
|
||||
|
||||
@Operation(summary = "외부 Oracle 연계 요청", description = "외부 Oracle 연계 요청")
|
||||
@PostMapping(value = "/merge", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public IApiResponse merge() {
|
||||
String msg = service.mergeData();
|
||||
String errMsg = "";
|
||||
if("success".equals(msg)) errMsg = service.mergeData();
|
||||
return ApiResponseDTO.success(msg, errMsg);
|
||||
}
|
||||
}
|
@ -1,128 +0,0 @@
|
||||
package kr.xit.biz.ens.model;
|
||||
|
||||
import java.io.Serializable;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : tb_ens_ Entity DTO
|
||||
*
|
||||
* packageName : kr.xit.biz.ens.model
|
||||
* fileName : EnsDTO
|
||||
* author : limju
|
||||
* date : 2023-08-31
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-08-31 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public class EnsPostPlusDTO implements Serializable {
|
||||
/**
|
||||
* 통합 발송 마스터 id
|
||||
*/
|
||||
private String unitySndngMastrId;
|
||||
/**
|
||||
* 통합 발송 상세 id
|
||||
*/
|
||||
private String unitySndngDetailId;
|
||||
/**
|
||||
* 발송 마스터 id
|
||||
*/
|
||||
private String sndngMastrId;
|
||||
/**
|
||||
* 발송 상세 id
|
||||
*/
|
||||
private String sndngDetailId;
|
||||
/**
|
||||
* 시군구 코드
|
||||
*/
|
||||
private String signguCode;
|
||||
/**
|
||||
* 과태료 코드
|
||||
*/
|
||||
private String ffnlgCode;
|
||||
/**
|
||||
* 서비스 코드
|
||||
*/
|
||||
private String serviceCd;
|
||||
/**
|
||||
* 연계 식별 키
|
||||
*/
|
||||
private String conKey;
|
||||
/**
|
||||
* 발송 처리 상태
|
||||
*/
|
||||
private String sndngProcessSttus;
|
||||
|
||||
private String masterCols;
|
||||
private String masterRows;
|
||||
private String detailCols;
|
||||
private String detailRows;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 발송인 명
|
||||
*/
|
||||
private String senderNm;
|
||||
/**
|
||||
* 발송인 우편번호
|
||||
*/
|
||||
private String senderZipNo;
|
||||
/**
|
||||
* 발송인 주소
|
||||
*/
|
||||
private String senderAddr;
|
||||
/**
|
||||
* 발송인 상세 주소
|
||||
*/
|
||||
private String senderDetailAddr;
|
||||
/**
|
||||
* 수취인 일련 번호
|
||||
*/
|
||||
private String receiverSendNo;
|
||||
/**
|
||||
* 수취인 명
|
||||
*/
|
||||
private String receiverNm;
|
||||
/**
|
||||
* 수취인 우편번호
|
||||
*/
|
||||
private String receiverZipNo;
|
||||
/**
|
||||
* 수취인 주소
|
||||
*/
|
||||
private String receiverAddr;
|
||||
/**
|
||||
* 수취인 상세 주소
|
||||
*/
|
||||
private String receiverDetailAddr;
|
||||
/**
|
||||
* 가변 1
|
||||
*/
|
||||
private String sschnge1;
|
||||
/**
|
||||
* 가변 2
|
||||
*/
|
||||
private String sschnge2;
|
||||
/**
|
||||
* 가변 3
|
||||
*/
|
||||
private String sschnge3;
|
||||
|
||||
|
||||
|
||||
}
|
@ -1,29 +0,0 @@
|
||||
package kr.xit.biz.sms.mapper;
|
||||
|
||||
import org.egovframe.rte.psl.dataaccess.mapper.Mapper;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : SMS 발송(oracle DB)
|
||||
*
|
||||
* packageName : kr.xit.biz.sms.mapper
|
||||
* fileName : ISmsMessageMapper
|
||||
* author : limju
|
||||
* date : 2023-06-26
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-06-26 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Mapper
|
||||
public interface ISmsMessageMapper {
|
||||
|
||||
/**
|
||||
* sms 발송 데이타 생성
|
||||
* @param t status
|
||||
* @return int
|
||||
*/
|
||||
<T> int insertScTran(final T t);
|
||||
}
|
@ -1,24 +0,0 @@
|
||||
package kr.xit.biz.sms.service;
|
||||
|
||||
import kr.xit.biz.ens.model.EnsDTO;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.biz.sms.service
|
||||
* fileName : ISmsMessageService
|
||||
* author : limju
|
||||
* date : 2023-06-26
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-06-26 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public interface ISmsMessageService {
|
||||
void sendSmsList(final List<EnsDTO.SmsSndng> list);
|
||||
}
|
@ -1,41 +0,0 @@
|
||||
package kr.xit.biz.sms.service;
|
||||
|
||||
import java.util.List;
|
||||
import kr.xit.biz.ens.model.EnsDTO;
|
||||
import kr.xit.biz.sms.mapper.ISmsMessageMapper;
|
||||
import kr.xit.core.service.AbstractService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : xit SMS 발송 서비스 - Oracle 11
|
||||
*
|
||||
* packageName : kr.xit.biz.sms.service
|
||||
* fileName : SmsMessageService
|
||||
* author : limju
|
||||
* date : 2023-06-26
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-06-26 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class SmsMessageService extends AbstractService implements ISmsMessageService {
|
||||
|
||||
private final ISmsMessageMapper mapper;
|
||||
|
||||
/**
|
||||
* SMS 발송 - xit SMS 발송 테이블 데이타 생성
|
||||
* @param list List SMS 발송 목록
|
||||
*/
|
||||
@Override
|
||||
@Transactional//(propagation = Propagation.REQUIRES_NEW)
|
||||
public void sendSmsList(List<EnsDTO.SmsSndng> list) {
|
||||
for(EnsDTO.SmsSndng dto : list) mapper.insertScTran(dto);
|
||||
}
|
||||
}
|
@ -1,55 +0,0 @@
|
||||
package kr.xit.biz.sms.web;
|
||||
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import io.swagger.v3.oas.annotations.tags.Tag;
|
||||
import java.util.List;
|
||||
import kr.xit.biz.ens.model.EnsDTO.SmsSndng;
|
||||
import kr.xit.biz.ens.model.cmm.SndngMssageParam;
|
||||
import kr.xit.biz.ens.service.EnsBatchExtractService;
|
||||
import kr.xit.biz.sms.service.ISmsMessageService;
|
||||
import kr.xit.core.model.ApiResponseDTO;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description :
|
||||
*
|
||||
* packageName : kr.xit.biz.sms.web
|
||||
* fileName : SmsMessageController
|
||||
* author : limju
|
||||
* date : 2023-10-30
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-30 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
@Tag(name = " SmsMessageController", description = "SMS(xit) 연계 서비스")
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/batch/ens/sms/v1")
|
||||
public class SmsMessageController {
|
||||
private final ISmsMessageService service;
|
||||
private final EnsBatchExtractService extractService;
|
||||
|
||||
@Operation(summary = "SMS 메세지 연계", description = "SMS 메세지 연계")
|
||||
@PostMapping(value = "/sendMessages", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public IApiResponse sendMessages(@RequestBody final List<SmsSndng> lists) {
|
||||
service.sendSmsList(lists);
|
||||
return ApiResponseDTO.success();
|
||||
}
|
||||
|
||||
@Operation(summary = "SMS 메세지 연계", description = "SMS 메세지 연계")
|
||||
@PostMapping(value = "/sendMessages2", produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public IApiResponse sendMessages2(@RequestBody final SndngMssageParam reqDTO) {
|
||||
extractService.sendSms(reqDTO);
|
||||
return ApiResponseDTO.success();
|
||||
}
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="kr.xit.biz.sms.mapper.ISmsMessageMapper">
|
||||
|
||||
<!-- =================================================================================== -->
|
||||
<!-- ================================ send ============================================= -->
|
||||
<!-- =================================================================================== -->
|
||||
<insert id="insertScTran">
|
||||
/** ens-oracle-mapper|insertScTran-sms 발송 데이타 생성|julim */
|
||||
INSERT
|
||||
INTO sc_tran (
|
||||
tr_num,
|
||||
tr_senddate,
|
||||
tr_sendstat,
|
||||
tr_msgtype,
|
||||
tr_phone,
|
||||
tr_callback,
|
||||
tr_msg,
|
||||
tr_etc1
|
||||
) VALUES (
|
||||
sc_tran_seq.nextval,
|
||||
sysdate,
|
||||
'0', /* 문자 발송 상태 */
|
||||
'0', /* 문자 전송 형태 */
|
||||
#{smsRecptnTlphonNo}, /* 문자 수신 전화 번호 */
|
||||
#{smsTrnsmitTlphonNo}, /* 문자 송신 전화 번호 */
|
||||
#{smsMssage}, /* 문자 메세지 */
|
||||
#{sndngDetailId} /* 발송 상세 ID */
|
||||
)
|
||||
</insert>
|
||||
<!-- =================================================================================== -->
|
||||
<!-- ================================ send ============================================= -->
|
||||
<!-- =================================================================================== -->
|
||||
|
||||
</mapper>
|
@ -1,308 +0,0 @@
|
||||
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 java.util.List;
|
||||
import javax.validation.constraints.Size;
|
||||
import javax.xml.bind.annotation.XmlAccessType;
|
||||
import javax.xml.bind.annotation.XmlAccessorType;
|
||||
import javax.xml.bind.annotation.XmlElement;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import kr.xit.biz.ens.model.cmm.CmmEnsRequestDTO;
|
||||
import kr.xit.core.exception.BizRuntimeException;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.ObjectUtils;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : EPost DTO
|
||||
* - 우편물 종적 추적
|
||||
* Request : {@link EpostTraceRequest}
|
||||
* Response : {@link EpostTraceResponse}
|
||||
* packageName : kr.xit.biz.ens.model.epost
|
||||
* fileName : EPostDTO
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public class EPostDTO {
|
||||
/**
|
||||
* <pre>
|
||||
* EPost 우편물 종적 추적 DTO
|
||||
* Request: EpostTraceRequest
|
||||
* Response: EpostTraceResponse
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceRequest", description = "EPost 종적추적 요청 DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
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 = "1900472677718|1900472677695")
|
||||
@Size(min = 13, max = 13, message = "등기번호는 필수 입니다(13자리)")
|
||||
private String rgist;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* EPost 우편물 종적 추적 결과 DTO
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceResponse", description = "EPost 종적추적 요청 결과 DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "response")
|
||||
@Builder
|
||||
public static class EpostTraceResponse implements IApiResponse {
|
||||
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
@XmlElement(name = "header")
|
||||
private EpostTraceResHeader header;
|
||||
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
@XmlElement(name = "trackInfo")
|
||||
private EpostTraceResTrackInfo trackInfo;
|
||||
|
||||
public EpostTraceResTrackInfo result(){
|
||||
if("N".equals(this.header.successYN)){
|
||||
throw BizRuntimeException.create(this.header.errorMessage);
|
||||
}
|
||||
|
||||
String date = trackInfo.getDetaileTrackList().get(trackInfo.getDetaileTrackList().size()-1).getDate();
|
||||
String time = trackInfo.getDetaileTrackList().get(trackInfo.getDetaileTrackList().size()-1).getTime();
|
||||
|
||||
// 배달 완료시 배달시간 set
|
||||
if(ObjectUtils.isNotEmpty(date)){
|
||||
this.trackInfo.setReceiveDate(date.replace("-", "") + time.replace(":", ""));
|
||||
}
|
||||
return this.trackInfo;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* EPost 우편물 종적 추적 결과 header DTO
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceResHeader", description = "EPost 종적추적 요청 결과 header DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "header")
|
||||
public static class EpostTraceResHeader {
|
||||
|
||||
/**
|
||||
* <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>
|
||||
* 에러메세지 : max 100
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.AUTO, title = "에러메세지")
|
||||
private String errorMessage;
|
||||
}
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* EPost 우편물 종적 추적 결과 trackInfo DTO
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceResTrackInfo", description = "EPost 종적추적 요청 결과 trackInfo DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "trackInfo")
|
||||
@Builder
|
||||
public static class EpostTraceResTrackInfo {
|
||||
|
||||
/**
|
||||
* <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>
|
||||
* 서비스 종류: 필수 - max 10
|
||||
* 국제우편인 경우에 해당 서비스 종류가 표기 : EMS
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "서비스 종류")
|
||||
private String expressType;
|
||||
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private List<EpostTraceResDtlTrack> detaileTrackList;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* EPost 우편물 종적 추적 결과 detaileTrackList DTO
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "EpostTraceResDtlTrack", description = "EPost 종적추적 요청 결과 detaileTrackList DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@XmlAccessorType(XmlAccessType.FIELD)
|
||||
@XmlRootElement(name = "detaileTrackList")
|
||||
public static class EpostTraceResDtlTrack {
|
||||
/**
|
||||
* <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 statue;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 처리장소 : 필수
|
||||
* 배송진행 처리장소 접수
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "처리 장소")
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 상세설명 : 필수 - max 500
|
||||
* 배송진행 상세설명 - 국제우편인 경우 상세한 설명 표기
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED, title = "상세 설명")
|
||||
private String remark;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -1,820 +0,0 @@
|
||||
package kr.xit.biz.ens.model.pplus;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import io.swagger.v3.oas.annotations.media.Schema.RequiredMode;
|
||||
import java.io.Serializable;
|
||||
import javax.validation.constraints.Size;
|
||||
import kr.xit.biz.ens.model.cmm.CmmEnsRequestDTO;
|
||||
import kr.xit.core.model.IApiResponse;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.Getter;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hibernate.validator.constraints.NotEmpty;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* description : Postopia(Postplus) DTO
|
||||
* - 우편제작 접수 요청
|
||||
* Request :
|
||||
* Response : {@link PpCommonResponse}
|
||||
* - 우편제작 상태 조회
|
||||
* Request : {@link PpStatusRequest}
|
||||
* Response : {@link PpStatusResponse}
|
||||
* packageName : kr.xit.biz.ens.model.pplus
|
||||
* fileName : PplusDTO
|
||||
* author : limju
|
||||
* date : 2023-10-04
|
||||
* ======================================================================
|
||||
* 변경일 변경자 변경 내용
|
||||
* ----------------------------------------------------------------------
|
||||
* 2023-10-04 limju 최초 생성
|
||||
*
|
||||
* </pre>
|
||||
*/
|
||||
public class PplusDTO {
|
||||
/**
|
||||
* <pre>
|
||||
* Postplus 우편제작 접수 요청 결과 DTO
|
||||
* 성공 : 결과 - "OK"
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(name = "PpAcceptResponse", description = "Postplus 우편제작 접수 요청 결과 DTO")
|
||||
@Getter
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
public static class PpCommonResponse implements IApiResponse {
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 결과
|
||||
* 처리결과 코드 OK 또는 ERROR
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 결과;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 비고
|
||||
* 처리결과 실패인 경우 에러 메시지
|
||||
* </pre>
|
||||
*/
|
||||
@Schema(requiredMode = RequiredMode.REQUIRED)
|
||||
private String 비고;
|
||||
|
||||
@Setter
|
||||
private String unitySndngMastrId;
|
||||
}
|
||||
|
||||
/**
|
||||
* <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)
|
||||
@EqualsAndHashCode(callSuper = false)
|
||||
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 종료등기번호;
|
||||
}
|
||||
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public static class BatchAcceptRequest implements Serializable {
|
||||
/**
|
||||
* 통합 발송 마스터 id
|
||||
*/
|
||||
private String unitySndngMastrId;
|
||||
/**
|
||||
* 통합 발송 상세 id
|
||||
*/
|
||||
private String unitySndngDetailId;
|
||||
/**
|
||||
* 발송 마스터 id
|
||||
*/
|
||||
private String sndngMastrId;
|
||||
/**
|
||||
* 발송 상세 id
|
||||
*/
|
||||
private String sndngDetailId;
|
||||
/**
|
||||
* 시군구 코드
|
||||
*/
|
||||
private String signguCode;
|
||||
/**
|
||||
* 과태료 코드
|
||||
*/
|
||||
private String ffnlgCode;
|
||||
/**
|
||||
* 서비스 코드
|
||||
*/
|
||||
private String serviceCd;
|
||||
/**
|
||||
* 연계 식별 키
|
||||
*/
|
||||
private String conKey;
|
||||
/**
|
||||
* 발송 처리 상태
|
||||
*/
|
||||
private String sndngProcessSttus;
|
||||
|
||||
private String masterCols;
|
||||
private String masterRows;
|
||||
private String detailCols;
|
||||
private String detailRows;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 발송인 명
|
||||
*/
|
||||
private String senderNm;
|
||||
/**
|
||||
* 발송인 우편번호
|
||||
*/
|
||||
private String senderZipNo;
|
||||
/**
|
||||
* 발송인 주소
|
||||
*/
|
||||
private String senderAddr;
|
||||
/**
|
||||
* 발송인 상세 주소
|
||||
*/
|
||||
private String senderDetailAddr;
|
||||
/**
|
||||
* 수취인 일련 번호
|
||||
*/
|
||||
private String receiverSendNo;
|
||||
/**
|
||||
* 수취인 명
|
||||
*/
|
||||
private String receiverNm;
|
||||
/**
|
||||
* 수취인 우편번호
|
||||
*/
|
||||
private String receiverZipNo;
|
||||
/**
|
||||
* 수취인 주소
|
||||
*/
|
||||
private String receiverAddr;
|
||||
/**
|
||||
* 수취인 상세 주소
|
||||
*/
|
||||
private String receiverDetailAddr;
|
||||
/**
|
||||
* 가변 1
|
||||
*/
|
||||
private String sschnge1;
|
||||
/**
|
||||
* 가변 2
|
||||
*/
|
||||
private String sschnge2;
|
||||
/**
|
||||
* 가변 3
|
||||
*/
|
||||
private String sschnge3;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Schema(name = "PpStatusResMapping", description = "Postplus 우편제작 상태 조회 결과 Mapping DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
public static class PpStatusResMapping {
|
||||
/**
|
||||
* <pre>
|
||||
* 연계식별키 : 우편 제작 요청 연계 식별키
|
||||
* </pre>
|
||||
*/
|
||||
private String unitySndngMastrId;
|
||||
|
||||
/**
|
||||
* 순번
|
||||
*/
|
||||
private Integer sn;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 상태: 출력대기|출력|봉입|우체국접수중|제작발송완료|접수취소|확인불가
|
||||
* 확인불가 -> 일반 오류상태 msg
|
||||
* 출력대기 -> 제작 전단계
|
||||
* 출력/봉입/우체국접수중 -> 제작 중
|
||||
* 제작발송완료 -> 제작 후 우체국접수, 후불결제시 과금대상
|
||||
* 접수취소 -> 제작 취소
|
||||
* </pre>
|
||||
*/
|
||||
private String processSttus;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 배달상태
|
||||
* </pre>
|
||||
*/
|
||||
private String dlvrSttus;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 등기번호
|
||||
* </pre>
|
||||
*/
|
||||
private String rgistNo;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 배달상세
|
||||
* 종적 조회 연계 detaileTrackList 마지막 statue : 미배달 주소불명 (반송불요, 1개월 보관)
|
||||
* </pre>
|
||||
*/
|
||||
private String dlvrDetail;
|
||||
|
||||
}
|
||||
|
||||
|
||||
@Schema(name = "PplusResult", description = "Postplus 상태 조회 결과 Mapping DTO")
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
@SuperBuilder
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
public static class PplusResult extends PpStatusResMapping {
|
||||
/**
|
||||
* <pre>
|
||||
* 통합발송 상세ID
|
||||
* </pre>
|
||||
*/
|
||||
private String unitySndngDetailId;
|
||||
|
||||
private String sndngSeCode;
|
||||
|
||||
/**
|
||||
* 시군구 코드
|
||||
*/
|
||||
private String signguCode;
|
||||
/**
|
||||
* 과태료 코드
|
||||
*/
|
||||
private String ffnlgCode;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 보낸 날자 : 필수 - 10자리
|
||||
* 발신일자 yyyy-mm-dd
|
||||
* </pre>
|
||||
*/
|
||||
private String senderData;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 받는 사람 : 필수 - max 50
|
||||
* </pre>
|
||||
*/
|
||||
private String receiveName;
|
||||
|
||||
/**
|
||||
* <pre>
|
||||
* 받은 날자 : 필수 - 10자리
|
||||
* 수신일자 yyyy-mm-dd
|
||||
* </pre>
|
||||
*/
|
||||
private String receiveDate;
|
||||
|
||||
private String errorCn;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue