fix: KT API DTO fix

dev
gitea-관리자 1 year ago
parent d736cacca3
commit dd1c0e2563

@ -11,6 +11,7 @@ import kr.xit.biz.ens.model.kt.KtMmsSendDTO.KtMainSendReqData;
import kr.xit.biz.ens.model.kt.KtMmsSendDTO.KtMainSendRequest;
import kr.xit.biz.ens.model.kt.KtMmsSendDTO.KtMsgRsltReqData;
import kr.xit.biz.ens.model.kt.KtMmsSendDTO.KtMsgRsltRequest;
import kr.xit.biz.ens.model.kt.KtTokenDTO;
import kr.xit.biz.ens.model.kt.KtTokenDTO.KtTokenResponse;
import kr.xit.biz.kt.mapper.IBizKtMmsMapper;
import kr.xit.core.exception.BizRuntimeException;
@ -20,6 +21,7 @@ import lombok.RequiredArgsConstructor;
import org.apache.commons.collections4.ListUtils;
import org.apache.commons.lang3.StringUtils;
import org.egovframe.rte.fdl.cmmn.EgovAbstractServiceImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
/**
@ -43,6 +45,9 @@ public class BizKtMmsService extends EgovAbstractServiceImpl implements IBizKtMm
private static final String profile = System.getProperty("spring.profiles.active");
private static final int MAX_KT_SEND_CNT = 100;
@Value("${contract.kt.api.callback-url}")
private String CALLBACK_URL;
private final IKtMmsService ktMmsService;
private final ICmmEnsCacheService cacheService;
private final IBizKtMmsMapper mapper;
@ -95,7 +100,7 @@ public class BizKtMmsService extends EgovAbstractServiceImpl implements IBizKtMm
.mmsDtlCnts("db")
.docHash("db")
.mmsTitle("")
.url("/api/biz/kt/v1/receiveMain?kkk=llll") //distInfoCrtYn - N이면 필수
.url(CALLBACK_URL) //distInfoCrtYn - N이면 필수
.mmsBinary("")
.fileFmat("")
.mdn("")
@ -132,6 +137,16 @@ public class BizKtMmsService extends EgovAbstractServiceImpl implements IBizKtMm
return ktTokenResponse;
}
@Override
public KtCommonResponse cfmToken(final KtTokenDTO.KtTokenConfirmRequest reqDTO) {
//final CmmEnsRlaybsnmDTO ktMnsInfo = CmmKtMmsUtils.getRlaybsnmInfo(reqDTO.getSignguCode(), reqDTO.getFfnlgCode());
//reqDTO.setServiceCd(ktMnsInfo.get);
//reqDTO.setServiceKey(ktMnsInfo.get);
//CmmEnsUtils.validate(reqDTO);
return null;
}
@Override
public KtCommonResponse messageResult(final KtMnsRequest reqDTO) {

@ -3,6 +3,7 @@ package kr.xit.biz.kt.service;
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtCommonResponse;
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtMnsRequest;
import kr.xit.biz.ens.model.kt.KtTokenDTO.KtTokenConfirmRequest;
import kr.xit.biz.ens.model.kt.KtTokenDTO.KtTokenResponse;
@ -25,6 +26,9 @@ public interface IBizKtMmsService {
KtTokenResponse requestToken(final KtMnsRequest paramDTO);
KtCommonResponse mainSend(final KtMnsRequest reqDTO);
KtCommonResponse cfmToken(final KtTokenConfirmRequest reqDTO);
KtCommonResponse messageResult(final KtMnsRequest reqDTO);
// KtCommonResponse beforeSend(final KtBefSendRequest reqDTO);

@ -4,9 +4,9 @@ import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.ExampleObject;
import io.swagger.v3.oas.annotations.tags.Tag;
import java.util.Map;
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtCommonResponse;
import kr.xit.biz.ens.model.kt.KtCommonDTO.KtMnsRequest;
import kr.xit.biz.ens.model.kt.KtTokenDTO.KtTokenConfirmRequest;
import kr.xit.biz.kt.service.IBizKtMmsService;
import kr.xit.core.model.ApiResponseDTO;
import lombok.RequiredArgsConstructor;
@ -113,10 +113,11 @@ public class BizKtMmsController {
@Operation(summary = "본문자 수신", description = "본문자 수신")
@PostMapping(value = "/receiveMain", produces = MediaType.APPLICATION_JSON_VALUE)
public void requestToken(@RequestBody final Map<String,Object> paramMap) {
log.debug("{}", paramMap);
@Operation(summary = "토큰인증확인 조회", description = "토큰인증확인조회요청(BC-AG-SN-008)")
@PostMapping(value = "/cfmToken", produces = MediaType.APPLICATION_JSON_VALUE)
public ApiResponseDTO<?> cfmToken(@RequestBody final KtTokenConfirmRequest reqDTO) {
KtCommonResponse dto = service.cfmToken(reqDTO);
return ApiResponseDTO.success(dto);
}

@ -62,27 +62,19 @@ import org.springframework.stereotype.Service;
public class KtMmsService extends EgovAbstractServiceImpl implements IKtMmsService {
@Value("${contract.kt.host}")
private String HOST;
//-----------------------------------------------------------------
// mens 사용 API
//-----------------------------------------------------------------
/**
*
*/
@Value("${contract.kt.api.generate-token}")
private String API_GENERATE_TOKEN;
/**
* : BC-AG-SN-001
*/
@Value("${contract.kt.api.before-send}")
private String API_BEFORE_SEND;
/**
* : BC-AG-SN-002
*/
@Value("${contract.kt.api.main-send}")
private String API_MAIN_SEND;
/**
* : BC-AG-SN-007
*/
@Value("${contract.kt.api.blacklist}")
private String API_BLACKLIST;
/**
* : BC-AG-SN-008
*/
@ -98,6 +90,28 @@ public class KtMmsService extends EgovAbstractServiceImpl implements IKtMmsServi
*/
@Value("${contract.kt.api.result-message}")
private String API_RESULT_MESSAGE;
/**
* callback URL
*/
@Value("${contract.kt.api.callback-url}")
private String CALLBACK_URL;
//-----------------------------------------------------------
//-----------------------------------------------------------------
// mens 미사용 API
//-----------------------------------------------------------------
/**
* : BC-AG-SN-001
*/
@Value("${contract.kt.api.before-send}")
private String API_BEFORE_SEND;
/**
* : BC-AG-SN-007
*/
@Value("${contract.kt.api.blacklist}")
private String API_BLACKLIST;
/**
* : BC-AG-SN-011
*/
@ -150,6 +164,7 @@ public class KtMmsService extends EgovAbstractServiceImpl implements IKtMmsServi
private String API_APPROVE_RCV;
private final ApiWebClientUtil webClient;
//-----------------------------------------------------------
//------------------------------------------------------------------------------

@ -66,7 +66,7 @@ public class KtMmsController {
return ApiResponseDTO.success(service.requestToken(paramDTO));
}
@Operation(summary = "본문자 수신 등록 요청(BC-AG-SN-002)", description = "본문자 수신 등록 요청(BC-AG-SN-002)")
@Operation(summary = "본문자 수신 등록 요청(BC-AG-SN-002) -> 업무(Biz)단 API 사용", description = "본문자 수신 등록 요청(BC-AG-SN-002) -> bulk처리를 위해 업무단의 API를 사용하여야 함")
@PostMapping(value = "/mainSend", produces = MediaType.APPLICATION_JSON_VALUE)
public ApiResponseDTO<?> mainSend(@RequestBody final KtMainSendRequest reqDTO) {
KtCommonResponse dto = service.mainSend(reqDTO);
@ -87,7 +87,7 @@ public class KtMmsController {
return ApiResponseDTO.success(dto);
}
@Operation(summary = "사전/본 문자 발송/수신 결과 전송 요청(BC-AG-SN-010)", description = "사전/본 문자 발송/수신 결과 전송 요청(BC-AG-SN-010)")
@Operation(summary = "사전/본 문자 발송/수신 결과 전송 요청(BC-AG-SN-010) -> 업무(Biz)단 API 사용", description = "사전/본 문자 발송/수신 결과 전송 요청(BC-AG-SN-010) -> bulk처리를 위해 업무단의 API를 사용하여야 함")
@PostMapping(value = "/messageResult", produces = MediaType.APPLICATION_JSON_VALUE)
public ApiResponseDTO<?> messageResult(@RequestBody final KtMsgRsltRequest reqDTO) {
KtCommonResponse dto = service.messageResult(reqDTO);

@ -48,18 +48,21 @@ contract:
api:
# 토큰발행
generate-token: /oauth/token
# 사전문자수신등록 : BC-AG-SN-001
before-send: /api/message/before/send
# 본문자수신등록 : BC-AG-SN-002
main-send: /api/message/main/send
# 수신거부등록 : BC-AG-SN-007
blacklist: /api/blacklist
# 토큰인증확인조회 : BC-AG-SN-008
cfm-token: /api/message/token
# 토큰열람확인결과전송 : BC-AG-SN-009
read-token: /api/message/token
# 사전/본 문자 발송/수신 결과 전송 : BC-AG-SN-010
result-message: /api/ag/message/result
# 토큰인증확인 : 본문자수신등록 callback url
callback-url: http://211.119.124.7:8081/api/biz/kt/v1/cfmToken
# 사전문자수신등록 : BC-AG-SN-001
before-send: /api/message/before/send
# 수신거부등록 : BC-AG-SN-007
blacklist: /api/blacklist
# 백오피스발송통계연계조회 : BC-AG-SN-011
send-sttc: /api/sndsttc
# 백오피스발송결과연계조회 : BC-AG-SN-012
@ -81,6 +84,7 @@ contract:
refuse-rcv: http://localhost:8081/api/ens/kt/v1/receive/refuse
# 수신동의상태전송 : BC-AG-SN-015
approve-rcv: http://localhost:8081/api/ens/kt/v1/receive/approve
pplus:
host: https://t.postplus.co.kr
api:

@ -17,6 +17,7 @@ import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.experimental.SuperBuilder;
import org.hibernate.validator.constraints.NotEmpty;
@ -522,7 +523,7 @@ public class KtMmsSendDTO {
*/
@Schema(requiredMode = RequiredMode.AUTO, title = "메세지발송구분", example = "1")
@Size(min = 1, max = 1, message = "메세지발송구분은 1자리 입니다.")
private String optType;
private final String optType = "1";
/**
* <pre>
@ -705,7 +706,7 @@ public class KtMmsSendDTO {
* , 'Y' {#RCVE_RF_STR} .
* </pre>
*/
@Schema(requiredMode = RequiredMode.REQUIRED, title = "MMS 상세내용", example = "공공알림문자 테스트입니다.")
@Schema(requiredMode = RequiredMode.REQUIRED, title = "MMS 상세내용", example = "{#INFO_CFRM_STR}, {#RCVE_RF_STR}")
@Size(min = 1, max = 4000, message = "MMS 상세내용은 4000자를 넘을 수 없습니다.")
private String mmsDtlCnts;
@ -727,14 +728,26 @@ public class KtMmsSendDTO {
@Size(max = 40, message = "MMS 제목은 40자를 넘을 수 없습니다")
private String mmsTitle;
/**
* <pre>
* RCS : max 4000 - RCS|Binary
* RCS fallback mms_dtl_cnts
* RCS title mms_title .
* </pre>
*/
@Schema(requiredMode = RequiredMode.AUTO, title = "RCS 상세내용", example = " ")
@Size(max = 4000, message = "RCS 상세내용은 4000자를 넘을 수 없습니다.")
private String rcsDtlCnts;
/**
* <pre>
* URL : max 1000
* dist_info_crt_yn 'Y'
* </pre>
*/
@Schema(requiredMode = RequiredMode.AUTO, title = "연결 URL", example = "http://localhost:8081/api/biz/kt/v1/receiveMain")
@Schema(requiredMode = RequiredMode.AUTO, title = "연결 URL", example = "http://localhost:8081/api/biz/kt/v1/cfmToken")
@Size(max = 1000, message = "연결 URL은 1000자를 넘을 수 없습니다.")
@Setter
private String url;
/**
@ -773,7 +786,7 @@ public class KtMmsSendDTO {
* N Or NULL URL
* </pre>
*/
@Schema(requiredMode = RequiredMode.AUTO, title = "유통정보 미생성 여부", example = " ")
@Schema(requiredMode = RequiredMode.AUTO, title = "유통정보 미생성 여부", example = "N")
@Size(max = 1, message = "유통정보 미생성 여부는 1(Y|N)자 입니다.")
private String distInfoCrtYn;
@ -786,7 +799,7 @@ public class KtMmsSendDTO {
* RCS ( 17 )
* </pre>
*/
@Schema(requiredMode = RequiredMode.AUTO, title = "안내문 확인하기 치환문구", example = " ")
@Schema(requiredMode = RequiredMode.AUTO, title = "안내문 확인하기 치환문구", example = "○ 안내문 확인하기 : ")
@Size(max = 50, message = "안내문 확인하기 치환문구는 50자를 넘을 수 없습니다.")
private String infoCfrmStr;
@ -799,7 +812,7 @@ public class KtMmsSendDTO {
* RCS ( 17 )
* </pre>
*/
@Schema(requiredMode = RequiredMode.AUTO, title = "수신거부 및 수신 휴대폰 지정하기 치환문구", example = " ○ 수신거부 및 수신 휴대폰 지정하기 :")
@Schema(requiredMode = RequiredMode.AUTO, title = "수신거부 및 수신 휴대폰 지정하기 치환문구", example = "○ 수신거부 및 수신 휴대폰 지정하기 : ")
@Size(max = 50, message = "수신거부 및 수신 휴대폰 지정하기 치환문구는 50자를 넘을 수 없습니다.")
private String rcveRfStr;
}

Loading…
Cancel
Save