feat: NICE CI 인증톡 진행 - sendBulk 반영

API logging 반영
dev
Jonguk. Lim 1 month ago
parent b20af3fcd3
commit 3ac3f94f26

@ -36,4 +36,7 @@ public interface INiceCiMapper {
Optional<String> selectNiceCiRequestId(); Optional<String> selectNiceCiRequestId();
Optional<NiceCiDTO.TmpltMngDTO> selectTmpltMsg(final String tmpltId); Optional<NiceCiDTO.TmpltMngDTO> selectTmpltMsg(final String tmpltId);
int insertNiceSmsSndngRequest(final NiceCiApiDTO.Request requestDTO);
int insertNiceSmsSndngResponse(final NiceCiApiDTO.Response responseDTO);
} }

@ -24,7 +24,7 @@ import lombok.extern.slf4j.*;
* </pre> * </pre>
*/ */
@Schema(name = "NiceCiApiCommon", description = "NICE CI API 전문 공통 DTO") @Schema(name = "NiceCiApiCommon", description = "NICE CI API 전문 공통 DTO")
@Getter @Data
@NoArgsConstructor @NoArgsConstructor
@AllArgsConstructor @AllArgsConstructor
@Slf4j @Slf4j
@ -38,9 +38,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "전문그룹코드(9자리)", example = "NICEIF ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "전문그룹코드(9자리)", example = "NICEIF ")
@Size(min = 9, max = 9, message = "전문그룹코드는 9자리 입니다.") @Size(min = 9, max = 9, message = "전문그룹코드는 9자리 입니다.")
private String grpCode = StringUtils.rightPad("NICEIF", 9, StringUtils.SPACE); private String spcltyGroupcode = StringUtils.rightPad("NICEIF", 9, StringUtils.SPACE);
public void setGrpCode(String grpCode) { public void setSpcltyGroupcode(String spcltyGroupcode) {
this.grpCode = StringUtils.rightPad(nvl(grpCode), 9, StringUtils.SPACE); this.spcltyGroupcode = StringUtils.rightPad(nvl(spcltyGroupcode), 9, StringUtils.SPACE);
} }
/** /**
@ -52,9 +52,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "거래종별코드(4자리)", example = "0200") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "거래종별코드(4자리)", example = "0200")
@Size(min = 4, max = 4, message = "거래 종별 코드는 4자리 입니다.") @Size(min = 4, max = 4, message = "거래 종별 코드는 4자리 입니다.")
private String trType = "0200"; private String delngAsortcode = "0200";
public void setTrType(String trType) { public void setDelngAsortcode(String delngAsortcode) {
this.trType = StringUtils.rightPad(nvl(trType), 4, StringUtils.SPACE); this.delngAsortcode = StringUtils.rightPad(nvl(delngAsortcode), 4, StringUtils.SPACE);
} }
/** /**
@ -65,9 +65,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "거래구분코드(5자리)", example = "31895") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "거래구분코드(5자리)", example = "31895")
@Size(min = 5, max = 5, message = "거래 구분 코드는 5자리 입니다.") @Size(min = 5, max = 5, message = "거래 구분 코드는 5자리 입니다.")
private String trClassification = "31896"; private String delngSecode = "31896";
public void setTrClassification(String trClassification) { public void setDelngSecode(String delngSecode) {
this.trClassification = StringUtils.rightPad(nvl(trClassification), 5, StringUtils.SPACE); this.delngSecode = StringUtils.rightPad(nvl(delngSecode), 5, StringUtils.SPACE);
} }
/** /**
@ -80,7 +80,7 @@ public class NiceCiApiCommon {
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "송수신플래그(1자리)", example = "B") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "송수신플래그(1자리)", example = "B")
@Size(min = 1, max = 1, message = "송수신 플래그는 1자리 입니다.") @Size(min = 1, max = 1, message = "송수신 플래그는 1자리 입니다.")
@Setter @Setter
private String sndAndRcvFlag = "B"; private String trsmrcvAt = "B";
/** /**
* <pre> * <pre>
@ -90,9 +90,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "단말기구분(3자리)", example = "503") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "단말기구분(3자리)", example = "503")
@Size(min = 3, max = 3, message = "단말기 구분은 3자리 입니다.") @Size(min = 3, max = 3, message = "단말기 구분은 3자리 입니다.")
private String deviceClassification = "503"; private String trmnlSe = "503";
public void setDeviceClassification(String deviceClassification) { public void setTrmnlSe(String trmnlSe) {
this.deviceClassification = StringUtils.rightPad(nvl(deviceClassification), 3, StringUtils.SPACE); this.trmnlSe = StringUtils.rightPad(nvl(trmnlSe), 3, StringUtils.SPACE);
} }
/** /**
@ -112,9 +112,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(title = "응답코드(4자리)", example = " ") @Schema(title = "응답코드(4자리)", example = " ")
@Pattern(regexp = "^\\s{4}$|$|^[P|E|S][\\d]{3}$", message = "응답코드(4자리)는 4자리 입니다") @Pattern(regexp = "^\\s{4}$|$|^[P|E|S][\\d]{3}$", message = "응답코드(4자리)는 4자리 입니다")
private String rsltCode = StringUtils.rightPad(StringUtils.EMPTY, 4, StringUtils.SPACE); private String rspnsCode = StringUtils.rightPad(StringUtils.EMPTY, 4, StringUtils.SPACE);
public void setRsltCode(String rsltCode) { public void setRspnsCode(String rspnsCode) {
this.rsltCode = StringUtils.rightPad(nvl(rsltCode), 4, StringUtils.SPACE); this.rspnsCode = StringUtils.rightPad(nvl(rspnsCode), 4, StringUtils.SPACE);
} }
/** /**
@ -125,9 +125,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "참가기관ID(9자리)", example = "503") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "참가기관ID(9자리)", example = "503")
@Size(min = 9, max = 9, message = "참가기관ID는 9자리 입니다.") @Size(min = 9, max = 9, message = "참가기관ID는 9자리 입니다.")
private String orgId = StringUtils.rightPad(StringUtils.EMPTY, 9, StringUtils.SPACE); private String partcptInsttId = StringUtils.rightPad(StringUtils.EMPTY, 9, StringUtils.SPACE);
public void setOrgId(String orgId) { public void setPartcptInsttId(String partcptInsttId) {
this.orgId = StringUtils.rightPad(nvl(orgId), 9, StringUtils.SPACE); this.partcptInsttId = StringUtils.rightPad(nvl(partcptInsttId), 9, StringUtils.SPACE);
} }
/** /**
@ -138,9 +138,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "기관전문관리번호(10자리)", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "기관전문관리번호(10자리)", example = " ")
@Size(min = 10, max = 10, message = "기관전문관리번호는 10자리 입니다.") @Size(min = 10, max = 10, message = "기관전문관리번호는 10자리 입니다.")
private String orgMngNo = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE); private String insttSpcltyManageno = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE);
public void setOrgMngNo(String orgMngNo) { public void setInsttSpcltyManageno(String insttSpcltyManageno) {
this.orgMngNo = StringUtils.rightPad(nvl(orgMngNo), 10, StringUtils.SPACE); this.insttSpcltyManageno = StringUtils.rightPad(nvl(insttSpcltyManageno), 10, StringUtils.SPACE);
} }
/** /**
@ -151,9 +151,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "기관전문전송시간(14자리)", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "기관전문전송시간(14자리)", example = " ")
@Size(min = 14, max = 14, message = "기관전문전송시간은 14자리 입니다.") @Size(min = 14, max = 14, message = "기관전문전송시간은 14자리 입니다.")
private String orgSndDt = DateUtil.getTodayAndNowTime("yyyyMMddHHmmss"); private String insttSpcltyTrnsmistime = DateUtil.getTodayAndNowTime("yyyyMMddHHmmss");
public void setOrgSndDt(String orgSndDt) { public void setInsttSpcltyTrnsmistime(String insttSpcltyTrnsmistime) {
this.orgSndDt = StringUtils.rightPad(nvl(orgSndDt), 14, StringUtils.SPACE); this.insttSpcltyTrnsmistime = StringUtils.rightPad(nvl(insttSpcltyTrnsmistime), 14, StringUtils.SPACE);
} }
/** /**
@ -164,9 +164,9 @@ public class NiceCiApiCommon {
*/ */
@Schema(title = "NICE전문관리번호(10자리)", example = " ") @Schema(title = "NICE전문관리번호(10자리)", example = " ")
@Size(min = 10, max = 10, message = "NICE전문관리번호 10자리 입니다.") @Size(min = 10, max = 10, message = "NICE전문관리번호 10자리 입니다.")
private String niceMngNo = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE); private String niceSpcltyManageno = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE);
public void setNiceMngNo(String niceMngNo) { public void setNiceSpcltyManageno(String niceSpcltyManageno) {
this.niceMngNo = StringUtils.rightPad(nvl(niceMngNo), 10, StringUtils.SPACE); this.niceSpcltyManageno = StringUtils.rightPad(nvl(niceSpcltyManageno), 10, StringUtils.SPACE);
} }
/** /**
@ -177,24 +177,43 @@ public class NiceCiApiCommon {
*/ */
@Schema(title = "NICE전문전송시간(14자리)", example = " ") @Schema(title = "NICE전문전송시간(14자리)", example = " ")
@Size(min = 14, max = 14, message = "NICE전문전송시간은 14자리 입니다.") @Size(min = 14, max = 14, message = "NICE전문전송시간은 14자리 입니다.")
private String niceSndDt = StringUtils.rightPad(StringUtils.EMPTY, 14, StringUtils.SPACE); private String niceSpcltyTrnsmistime = StringUtils.rightPad(StringUtils.EMPTY, 14, StringUtils.SPACE);
public void setNiceSndDt(String niceSndDt) { public void setNiceSpcltyTrnsmistime(String niceSpcltyTrnsmistime) {
this.niceSndDt = StringUtils.rightPad(nvl(niceSndDt), 14, StringUtils.SPACE); this.niceSpcltyTrnsmistime = StringUtils.rightPad(nvl(niceSpcltyTrnsmistime), 14, StringUtils.SPACE);
} }
/**
* <pre>
* - 16 , 17
* </pre>
*/
@Schema(title = "공란", example = " ")
private String blnk;
/**
* <pre>
* : 4,
* </pre>
*/
@Schema(title = "조회동의사유", example = "4")
@Size(min = 1, max = 1, message = "조회동의사유는 1자리 입니다")
private String inqireAgreResn = "4";
public String ofString() { public String ofString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(grpCode); sb.append(spcltyGroupcode);
sb.append(trType); sb.append(delngAsortcode);
sb.append(trClassification); sb.append(delngSecode);
sb.append(sndAndRcvFlag); sb.append(trsmrcvAt);
sb.append(deviceClassification); sb.append(trmnlSe);
sb.append(rsltCode); sb.append(rspnsCode);
sb.append(orgId); sb.append(partcptInsttId);
sb.append(orgMngNo); sb.append(insttSpcltyManageno);
sb.append(orgSndDt); sb.append(insttSpcltyTrnsmistime);
sb.append(niceMngNo); sb.append(niceSpcltyManageno);
sb.append(niceSndDt); sb.append(niceSpcltyTrnsmistime);
sb.append(blnk);
sb.append(inqireAgreResn);
return sb.toString(); return sb.toString();
} }
@ -210,43 +229,47 @@ public class NiceCiApiCommon {
10, // 기관전문관리번호 10, // 기관전문관리번호
14, // 기관전문전송시간 14, // 기관전문전송시간
10, //NICE 전문관리번호 10, //NICE 전문관리번호
14 // NICE 전문전송시간 14, // NICE 전문전송시간
17 // 공란
}; };
if (StringUtils.isNotBlank(tgtString) && tgtString.length() >= 83) { if (StringUtils.isNotBlank(tgtString) && tgtString.length() >= 83) {
NiceCiApiCommon nc = new NiceCiApiCommon(); NiceCiApiCommon nc = new NiceCiApiCommon();
int idx = 0; int idx = 0;
nc.setGrpCode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setSpcltyGroupcode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]);
nc.setDelngAsortcode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setTrType(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setDelngSecode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setTrClassification(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setTrsmrcvAt(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setSndAndRcvFlag(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setTrmnlSe(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setDeviceClassification(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setRspnsCode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setRsltCode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setPartcptInsttId(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setOrgId(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setInsttSpcltyManageno(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setOrgMngNo(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setInsttSpcltyTrnsmistime(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setOrgSndDt(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setNiceSpcltyManageno(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setNiceMngNo(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setNiceSpcltyTrnsmistime(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
nc.setNiceSndDt(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); nc.setBlnk(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx])));
return nc; return nc;
} }
return null; return null;

@ -48,12 +48,20 @@ public class NiceCiApiDTO {
* set * set
* </pre> * </pre>
*/ */
//@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "TR Code", example = " ") private String trnscId = StringUtils.EMPTY;
//@Size(min = 10, max = 10, message = "트랜잭션 코드는 10자리 입니다.") public void setTrnscId(String trnscId) {
private String trCode = StringUtils.EMPTY; this.trnscId = StringUtils.leftPad(nvl(trnscId), 10, StringUtils.SPACE);
public void setTrCode(String trCode) {
this.trCode = StringUtils.leftPad(nvl(trCode), 10, StringUtils.SPACE);
} }
/**
* nice sms ID - PK
*/
private String niceSmsSndngRequstId;
/**
* data_id
*/
private String dataId;
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
@ -62,24 +70,6 @@ public class NiceCiApiDTO {
@Schema(requiredMode = Schema.RequiredMode.REQUIRED) @Schema(requiredMode = Schema.RequiredMode.REQUIRED)
@Valid @Valid
NiceCiApiCommon niceCommon; NiceCiApiCommon niceCommon;
/**
* <pre>
* - 16
* </pre>
*/
@Schema(title = "공란", example = " ")
@Size(min = 16, max = 16, message = "공란(16자리)")
private String commonEmptyField = StringUtils.rightPad(StringUtils.EMPTY, 16, StringUtils.SPACE);
/**
* <pre>
* : 4
* </pre>
*/
@Schema(title = "조회동의사유", example = "4")
@Size(min = 1, max = 1, message = "조회동의사유는 1자리 입니다")
private String queryConsentReason = "4";
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
// 공통부 : 100 자리 // 공통부 : 100 자리
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
@ -94,9 +84,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "조회사유", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "조회사유", example = " ")
@Size(min = 2, max = 2, message = "조회사유는 2자리 입니다") @Size(min = 2, max = 2, message = "조회사유는 2자리 입니다")
private String queryReason = "17"; private String inqireResn = "17";
public void setQueryReason(String queryReason) { public void setInqireResn(String inqireResn) {
this.queryReason = StringUtils.rightPad(nvl(queryReason), 2, StringUtils.SPACE); this.inqireResn = StringUtils.rightPad(nvl(inqireResn), 2, StringUtils.SPACE);
} }
/** /**
@ -107,9 +97,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "조회요청건수", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "조회요청건수", example = " ")
@Pattern(regexp = "^\\s{2}$|\\d{1,2}", message = "조회요청 최대건수는 48입니다(2자리)") @Pattern(regexp = "^\\s{2}$|\\d{1,2}", message = "조회요청 최대건수는 48입니다(2자리)")
private String queryReqCnt = "01"; private String inqireRequstCo = "01";
public void setQueryReqCnt(Integer queryReqCnt) { public void setInqireRequstCo(Integer inqireRequstCo) {
this.queryReqCnt = StringUtils.leftPad(nvl(queryReqCnt == null? "": queryReqCnt.toString()), 2, "0"); this.inqireRequstCo = StringUtils.leftPad(nvl(inqireRequstCo == null? "": inqireRequstCo.toString()), 2, "0");
} }
/** /**
@ -124,7 +114,7 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "SMS발송요청구분코드", example = " ", allowableValues = {"0", "1", "2", "3"}) @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "SMS발송요청구분코드", example = " ", allowableValues = {"0", "1", "2", "3"})
@Pattern(regexp = "[0-3]", message = "SMS발송요청구분코드 0 ~ 3 입니다(1자리)") @Pattern(regexp = "[0-3]", message = "SMS발송요청구분코드 0 ~ 3 입니다(1자리)")
private String smsSndReqCode = "3"; private String smsSndngRequstSe = "3";
/** /**
* <pre> * <pre>
@ -134,9 +124,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "SMS 발송메세지", example = " ") @Schema(title = "SMS 발송메세지", example = " ")
@Pattern(regexp = "^[\\s\\S]{10,2000}$", message = "SMS발송메세지는 10 ~ 2000자리 입니다") @Pattern(regexp = "^[\\s\\S]{10,2000}$", message = "SMS발송메세지는 10 ~ 2000자리 입니다")
private String sndMessage = StringUtils.rightPad(StringUtils.EMPTY, 2000, StringUtils.SPACE); private String sndngMssage = StringUtils.rightPad(StringUtils.EMPTY, 2000, StringUtils.SPACE);
public void setSndMessage(String sndMessage) { public void setSndngMssage(String sndngMssage) {
this.sndMessage = NiceCiUtils.rightPadKr(nvl(sndMessage), 2000, StringUtils.SPACE); this.sndngMssage = NiceCiUtils.rightPadKr(nvl(sndngMssage), 2000, StringUtils.SPACE);
} }
/** /**
@ -147,9 +137,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "SMS 발신번호", example = " ") @Schema(title = "SMS 발신번호", example = " ")
@Pattern(regexp = "^[\\s\\S]{3,12}$", message = "SMS 발신번호는 3 ~ 12자리 입니다") @Pattern(regexp = "^[\\s\\S]{3,12}$", message = "SMS 발신번호는 3 ~ 12자리 입니다")
private String sndPhoneNo = StringUtils.rightPad("0442113377", 12, StringUtils.SPACE); private String dsptchNo = StringUtils.rightPad("0442113377", 12, StringUtils.SPACE);
public void setSndPhoneNo(String sndPhoneNo) { public void setDsptchNo(String dsptchNo) {
this.sndPhoneNo = StringUtils.rightPad(nvl(sndPhoneNo), 12, StringUtils.SPACE); this.dsptchNo = StringUtils.rightPad(nvl(dsptchNo), 12, StringUtils.SPACE);
} }
/** /**
@ -163,7 +153,7 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "연락처조회구분코드", example = " ", allowableValues = {"1", "2", "3"}) @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "연락처조회구분코드", example = " ", allowableValues = {"1", "2", "3"})
@Pattern(regexp = "[1-3]", message = "연락처조회구분 코드는 1 ~ 3 입니다(1자리)") @Pattern(regexp = "[1-3]", message = "연락처조회구분 코드는 1 ~ 3 입니다(1자리)")
private String contactSearchCode = "3"; private String cttpcInqireSe = "3";
/** /**
* <pre> * <pre>
@ -175,7 +165,7 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "알림톡발송요청구분", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "알림톡발송요청구분", example = " ")
@Size(min = 1, max = 1, message = "알림톡발송요청구분 코드는 1자리 입니다") @Size(min = 1, max = 1, message = "알림톡발송요청구분 코드는 1자리 입니다")
private String alimtalkSndReqDiv = "1"; private String ntcntalkSndngRequstSe = "1";
/** /**
* <pre> * <pre>
@ -184,9 +174,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "알림톡템플릿코드", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "알림톡템플릿코드", example = " ")
@Size(min = 100, max = 100, message = "알림톡템플릿 코드는 100자리 입니다") @Size(min = 100, max = 100, message = "알림톡템플릿 코드는 100자리 입니다")
private String alimtalkTmpltCode = StringUtils.rightPad(StringUtils.EMPTY, 100, StringUtils.SPACE); private String ntcntalkTmplatCode = StringUtils.rightPad(StringUtils.EMPTY, 100, StringUtils.SPACE);
public void setAlimtalkTmpltCode(String alimtalkTmpltCode) { public void setNtcntalkTmplatCode(String ntcntalkTmplatCode) {
this.alimtalkTmpltCode = StringUtils.rightPad(nvl(alimtalkTmpltCode), 100, StringUtils.SPACE); this.ntcntalkTmplatCode = StringUtils.rightPad(nvl(ntcntalkTmplatCode), 100, StringUtils.SPACE);
} }
/** /**
@ -197,9 +187,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "버튼요청건수", example = " ") @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "버튼요청건수", example = " ")
@Pattern(regexp = "^[0-5]$", message = "버튼요청건수는 1자리로 최대 5 입니다.") @Pattern(regexp = "^[0-5]$", message = "버튼요청건수는 1자리로 최대 5 입니다.")
private String btnReqCnt = "1"; private String bttonRequstCo = "1";
public void setBtnReqCnt(Integer btnReqCnt) { public void setBttonRequstCo(Integer bttonRequstCo) {
this.btnReqCnt = StringUtils.rightPad(nvl(btnReqCnt == null ? "" : btnReqCnt.toString()), 1, StringUtils.SPACE); this.bttonRequstCo = StringUtils.rightPad(nvl(bttonRequstCo == null ? "" : bttonRequstCo.toString()), 1, StringUtils.SPACE);
} }
/** /**
@ -209,7 +199,7 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "공란", example = " ") @Schema(title = "공란", example = " ")
@Size(min = 880, max = 880, message = "공란(880자리)") @Size(min = 880, max = 880, message = "공란(880자리)")
private String privateEmptyField = StringUtils.rightPad(StringUtils.EMPTY, 880, StringUtils.SPACE); private String indvdlzRequstBlnk = StringUtils.rightPad(StringUtils.EMPTY, 880, StringUtils.SPACE);
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
// 개별요청부 : 3000 자리 // 개별요청부 : 3000 자리
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
@ -235,20 +225,18 @@ public class NiceCiApiDTO {
//sb.append(trCode); //sb.append(trCode);
// 공통부 // 공통부
sb.append(niceCommon.ofString()); sb.append(niceCommon.ofString());
sb.append(commonEmptyField);
sb.append(queryConsentReason);
// 개별요청부 // 개별요청부
sb.append(queryReason); sb.append(inqireResn);
sb.append(queryReqCnt); sb.append(inqireRequstCo);
sb.append(smsSndReqCode); sb.append(smsSndngRequstSe);
sb.append(sndMessage); sb.append(sndngMssage);
sb.append(sndPhoneNo); sb.append(dsptchNo);
sb.append(contactSearchCode); sb.append(cttpcInqireSe);
sb.append(alimtalkSndReqDiv); sb.append(ntcntalkSndngRequstSe);
sb.append(alimtalkTmpltCode); sb.append(ntcntalkTmplatCode);
sb.append(btnReqCnt); sb.append(bttonRequstCo);
sb.append(privateEmptyField); sb.append(indvdlzRequstBlnk);
sb.append(queryRequests.stream().map(QueryRequest::ofString).collect(Collectors.joining())); sb.append(queryRequests.stream().map(QueryRequest::ofString).collect(Collectors.joining()));
sb.append(buttonRequests.stream().map(ButtonRequest::ofString).collect(Collectors.joining())); sb.append(buttonRequests.stream().map(ButtonRequest::ofString).collect(Collectors.joining()));
// FIXME: 인코딩확인후 적용 // FIXME: 인코딩확인후 적용
@ -264,6 +252,11 @@ public class NiceCiApiDTO {
public static class Response implements Serializable { public static class Response implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/**
* nice sms ID - PK
*/
private String niceSmsSndngRequstId;
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
// TR-CODE : 0 ~ 9 자리 // TR-CODE : 0 ~ 9 자리
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
@ -273,25 +266,15 @@ public class NiceCiApiDTO {
* - max: 9 * - max: 9
* </pre> * </pre>
*/ */
private String trCode; private String trnscId;
public void setTrCode(String trCode) { public void setTrnscId(String trnscId) {
this.trCode = StringUtils.trim(trCode); this.trnscId = StringUtils.trim(trnscId);
} }
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
// 공통부 : 100 자리 // 공통부 : 100 자리
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
NiceCiApiCommon niceCommon; NiceCiApiCommon niceCommon;
/**
* <pre>
* - 16
* </pre>
*/
private String commonEmptyField;
public void setCommonEmptyField(String commonEmptyField) {
this.commonEmptyField = StringUtils.trim(commonEmptyField);
}
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
// 공통부 : 100 자리 // 공통부 : 100 자리
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
@ -305,9 +288,9 @@ public class NiceCiApiDTO {
* 48 * 48
* </pre> * </pre>
*/ */
private String resCnt; private String rspnsCo;
public void setResCnt(String resCnt) { public void setRspnsCo(String rspnsCo) {
this.resCnt = StringUtils.trim(resCnt); this.rspnsCo = StringUtils.trim(rspnsCo);
} }
/** /**
@ -320,9 +303,9 @@ public class NiceCiApiDTO {
* 3: 1 ~ 3 1 * 3: 1 ~ 3 1
* </pre> * </pre>
*/ */
private String smsSndReqCode; private String smsSndngRequstSe;
public void setSmsSndReq(String smsSndReqCode) { public void setSmsSndReq(String smsSndReqCode) {
this.smsSndReqCode = StringUtils.trim(smsSndReqCode); this.smsSndngRequstSe = StringUtils.trim(smsSndReqCode);
} }
/** /**
@ -332,9 +315,9 @@ public class NiceCiApiDTO {
* NiceCiUtils.leftKr, substringKr * NiceCiUtils.leftKr, substringKr
* </pre> * </pre>
*/ */
private String sndMessage; private String sndngMssage;
public void setSndMessage(String sndMessage) { public void setSndngMssage(String sndngMssage) {
this.sndMessage = StringUtils.trim(sndMessage); this.sndngMssage = StringUtils.trim(sndngMssage);
} }
/** /**
@ -343,9 +326,9 @@ public class NiceCiApiDTO {
* (smsSndReqCode) 1, 2, 3 * (smsSndReqCode) 1, 2, 3
* </pre> * </pre>
*/ */
private String sndPhoneNo; private String dsptchNo;
public void setSndPhoneNo(String sndPhoneNo) { public void setDsptchNo(String dsptchNo) {
this.sndPhoneNo = StringUtils.trim(sndPhoneNo); this.dsptchNo = StringUtils.trim(dsptchNo);
} }
/** /**
@ -357,16 +340,16 @@ public class NiceCiApiDTO {
* 3: 3 * 3: 3
* </pre> * </pre>
*/ */
private String contactSearchCode = "3"; private String cttpcInqireSe = "3";
/** /**
* <pre> * <pre>
* - 84 * - 84
* </pre> * </pre>
*/ */
private String privateEmptyField; private String indvdlzRspnsBlnk;
public void setPrivateEmptyField(String privateEmptyField) { public void setIndvdlzRspnsBlnk(String indvdlzRspnsBlnk) {
this.privateEmptyField = StringUtils.trim(privateEmptyField); this.indvdlzRspnsBlnk = StringUtils.trim(indvdlzRspnsBlnk);
} }
//---------------------------------------------------------------------------------------------- //----------------------------------------------------------------------------------------------
// 개별응답부 : 2100 자리 // 개별응답부 : 2100 자리
@ -384,9 +367,8 @@ public class NiceCiApiDTO {
final int repeatLength = 110; final int repeatLength = 110;
final int[] parseLength = { final int[] parseLength = {
10, // tr-code 10, // tr-code
83, // 공통부 100, // 공통부
// FIXME: spec과 상이 - 확인 필요 : "1"이 들어오고 있다 // FIXME: spec과 상이 - 확인 필요 : "1"이 들어오고 있다
17, // 공란
2, // 응답건수 2, // 응답건수
1, // SMS발송요청구분코드 1, // SMS발송요청구분코드
2000, // SMS 발송메세지 2000, // SMS 발송메세지
@ -400,31 +382,28 @@ public class NiceCiApiDTO {
if (StringUtils.isNotBlank(tgtString) && NiceCiUtils.lengthKr(tgtString) >= 2320) { if (StringUtils.isNotBlank(tgtString) && NiceCiUtils.lengthKr(tgtString) >= 2320) {
Response response = new Response(); Response response = new Response();
int idx = 0; int idx = 0;
response.setTrCode(StringUtils.left(tgtString, parseLength[idx])); response.setTrnscId(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
response.setNiceCommon(NiceCiApiCommon.parse(tgtString)); response.setNiceCommon(NiceCiApiCommon.parse(tgtString));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
response.setCommonEmptyField(StringUtils.left(tgtString, parseLength[idx])); response.setRspnsCo(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]);
response.setResCnt(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
response.setSmsSndReqCode(StringUtils.left(tgtString, parseLength[idx])); response.setSmsSndngRequstSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
response.setSndMessage(NiceCiUtils.leftKr(tgtString, parseLength[idx])); response.setSndngMssage(NiceCiUtils.leftKr(tgtString, parseLength[idx]));
tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]); tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]);
response.setSndPhoneNo(StringUtils.left(tgtString, parseLength[idx])); response.setDsptchNo(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
response.setContactSearchCode(StringUtils.left(tgtString, parseLength[idx])); response.setCttpcInqireSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
response.setPrivateEmptyField(StringUtils.left(tgtString, parseLength[idx])); response.setIndvdlzRspnsBlnk(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx]); tgtString = tgtString.substring(parseLength[idx]);
if(NiceCiUtils.lengthKr(tgtString) % repeatLength == 0){ if(NiceCiUtils.lengthKr(tgtString) % repeatLength == 0){
@ -457,7 +436,7 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "개인/사업자/법인구분", example = "1") @Schema(title = "개인/사업자/법인구분", example = "1")
@Size(min = 1, max = 1, message = "개인/사업자/법인구분은 1자리 입니다.") @Size(min = 1, max = 1, message = "개인/사업자/법인구분은 1자리 입니다.")
private String idDiv = "1"; private String indvdlBsnmCprSe = "1";
/** /**
* <pre> * <pre>
@ -466,9 +445,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "주민번호", example = " ") @Schema(title = "주민번호", example = " ")
@Size(min = 13, max = 13, message = "주민번호는 13자리 입니다.") @Size(min = 13, max = 13, message = "주민번호는 13자리 입니다.")
private String jumin = StringUtils.rightPad(StringUtils.EMPTY, 13, StringUtils.SPACE); private String ihidnum = StringUtils.rightPad(StringUtils.EMPTY, 13, StringUtils.SPACE);
public void setJumin(String jumin) { public void setIhidnum(String ihidnum) {
this.jumin = StringUtils.rightPad(nvl(jumin), 13, StringUtils.SPACE); this.ihidnum = StringUtils.rightPad(nvl(ihidnum), 13, StringUtils.SPACE);
} }
/** /**
@ -478,13 +457,13 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "공란", example = " ") @Schema(title = "공란", example = " ")
@Size(min = 36, max = 36, message = "공란(36자리)") @Size(min = 36, max = 36, message = "공란(36자리)")
private String emptyField = StringUtils.rightPad(StringUtils.EMPTY, 36, StringUtils.SPACE); private String inqireRequstBlnk = StringUtils.rightPad(StringUtils.EMPTY, 36, StringUtils.SPACE);
public String ofString() { public String ofString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(idDiv); sb.append(indvdlBsnmCprSe);
sb.append(jumin); sb.append(ihidnum);
sb.append(emptyField); sb.append(inqireRequstBlnk);
return sb.toString(); return sb.toString();
} }
} }
@ -502,9 +481,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "버튼타입", example = " ", allowableValues = {"WL", "AL"}) @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "버튼타입", example = " ", allowableValues = {"WL", "AL"})
@Pattern(regexp = "[WL|AL]", message = "버튼 타입은 2자리 입니다.") @Pattern(regexp = "[WL|AL]", message = "버튼 타입은 2자리 입니다.")
private String btnType = "WL"; private String bttonTy = "WL";
public void setBtnType(String btnType) { public void setBttonTy(String bttonTy) {
this.btnType = StringUtils.rightPad(nvl(btnType), 2, StringUtils.SPACE); this.bttonTy = StringUtils.rightPad(nvl(bttonTy), 2, StringUtils.SPACE);
} }
/** /**
@ -514,9 +493,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "버튼이름", example = "1") @Schema(title = "버튼이름", example = "1")
@Size(min = 56, max = 56, message = "버튼이름은 56자리 입니다.") @Size(min = 56, max = 56, message = "버튼이름은 56자리 입니다.")
private String btnName = StringUtils.rightPad("납부하기", 56, StringUtils.SPACE); private String bttonNm = NiceCiUtils.rightPadKr("납부하기", 56, StringUtils.SPACE);
public void setBtnName(String jumin) { public void setBttonNm(String bttonNm) {
this.btnName = StringUtils.rightPad(nvl(btnName), 56, StringUtils.SPACE); this.bttonNm = NiceCiUtils.rightPadKr(nvl(bttonNm), 56, StringUtils.SPACE);
} }
/** /**
@ -527,12 +506,12 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "버튼URL웹링크1", example = " ") @Schema(title = "버튼URL웹링크1", example = " ")
@Size(min = 1000, max = 1000, message = "버튼URL웹링크1 은 1000자리 입니다.") @Size(min = 1000, max = 1000, message = "버튼URL웹링크1 은 1000자리 입니다.")
private String btnUrlWebLink1 = StringUtils.rightPad( private String bttonUrlWebLink_1 = StringUtils.rightPad(
"https://billgates-web.kakao.com/r/platform/pages/paynow/search/1832/11/01819e09-8b4c-4287-9f0f-1c5c2df80bf0", "https://billgates-web.kakao.com/r/platform/pages/paynow/search/1832/11/01819e09-8b4c-4287-9f0f-1c5c2df80bf0",
1000, 1000,
StringUtils.SPACE); StringUtils.SPACE);
public void setBtnUrlWebLink1(String btnUrlWebLink1) { public void setBttonUrlWebLink_1(String bttonUrlWebLink_1) {
this.btnUrlWebLink1 = StringUtils.rightPad(nvl(btnUrlWebLink1), 1000, StringUtils.SPACE); this.bttonUrlWebLink_1 = StringUtils.rightPad(nvl(bttonUrlWebLink_1), 1000, StringUtils.SPACE);
} }
/** /**
@ -543,9 +522,9 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "버튼URL웹링크2", example = " ") @Schema(title = "버튼URL웹링크2", example = " ")
@Size(min = 1000, max = 1000, message = "버튼URL웹링크2 은 1000자리 입니다.") @Size(min = 1000, max = 1000, message = "버튼URL웹링크2 은 1000자리 입니다.")
private String btnUrlWebLink2 = StringUtils.rightPad(StringUtils.EMPTY, 1000, StringUtils.SPACE); private String bttonUrlWebLink_2 = StringUtils.rightPad(StringUtils.EMPTY, 1000, StringUtils.SPACE);
public void setBtnUrlWebLink2(String btnUrlWebLink2) { public void setBttonUrlWebLink_2(String bttonUrlWebLink_2) {
this.btnUrlWebLink2 = StringUtils.rightPad(nvl(btnUrlWebLink2), 1000, StringUtils.SPACE); this.bttonUrlWebLink_2 = StringUtils.rightPad(nvl(bttonUrlWebLink_2), 1000, StringUtils.SPACE);
} }
/** /**
@ -555,15 +534,15 @@ public class NiceCiApiDTO {
*/ */
@Schema(title = "공란", example = " ") @Schema(title = "공란", example = " ")
@Size(min = 942, max = 942, message = "공란(36자리)") @Size(min = 942, max = 942, message = "공란(36자리)")
private String emptyField = StringUtils.rightPad(StringUtils.EMPTY, 942, StringUtils.SPACE); private String bttonRequstBlnk = StringUtils.rightPad(StringUtils.EMPTY, 942, StringUtils.SPACE);
public String ofString() { public String ofString() {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(btnType); sb.append(bttonTy);
sb.append(btnName); sb.append(bttonNm);
sb.append(btnUrlWebLink1); sb.append(bttonUrlWebLink_1);
sb.append(btnUrlWebLink2); sb.append(bttonUrlWebLink_2);
sb.append(emptyField); sb.append(bttonRequstBlnk);
return sb.toString(); return sb.toString();
} }
} }

@ -49,16 +49,16 @@ public class NiceCiApiResult {
* 1() * 1()
* </pre> * </pre>
*/ */
private String idDiv = "1"; private String indvdlBsnmCprSe = "1";
/** /**
* <pre> * <pre>
* - 13 * - 13
* </pre> * </pre>
*/ */
private String jumin; private String ihidnum;
public void setJumin(String jumin) { public void setIhidnum(String ihidnum) {
this.jumin = StringUtils.trim(jumin); this.ihidnum = StringUtils.trim(ihidnum);
} }
/** /**
@ -67,9 +67,9 @@ public class NiceCiApiResult {
* NiceCiUtils.leftKr, substringKr * NiceCiUtils.leftKr, substringKr
* </pre> * </pre>
*/ */
private String name; private String nm;
public void setName(String name) { public void setNm(String nm) {
this.name = StringUtils.trim(name); this.nm = StringUtils.trim(nm);
} }
/** /**
@ -77,9 +77,9 @@ public class NiceCiApiResult {
* 1 - 11 * 1 - 11
* </pre> * </pre>
*/ */
private String contractOf1st; private String rankCttpc_1;
public void setContractOf1st(String contractOf1st) { public void setRankCttpc_1(String rankCttpc_1) {
this.contractOf1st = StringUtils.trim(contractOf1st); this.rankCttpc_1 = StringUtils.trim(rankCttpc_1);
} }
/** /**
@ -87,9 +87,9 @@ public class NiceCiApiResult {
* 2 - 11 * 2 - 11
* </pre> * </pre>
*/ */
private String contractOf2nd; private String rankCttpc_2;
public void setContractOf2nd(String contractOf2nd) { public void setRankCttpc_2(String rankCttpc_2) {
this.contractOf2nd = StringUtils.trim(contractOf2nd); this.rankCttpc_2 = StringUtils.trim(rankCttpc_2);
} }
/** /**
@ -97,9 +97,9 @@ public class NiceCiApiResult {
* 3 - 11 * 3 - 11
* </pre> * </pre>
*/ */
private String contractOf3rd; private String rankCttpc_3;
public void setContractOf3rd(String contractOf3rd) { public void setRankCttpc_3(String rankCttpc_3) {
this.contractOf3rd = StringUtils.trim(contractOf3rd); this.rankCttpc_3 = StringUtils.trim(rankCttpc_3);
} }
/** /**
@ -112,9 +112,9 @@ public class NiceCiApiResult {
* 99 * 99
* </pre> * </pre>
*/ */
private String rsltDivCode; private String resultSe;
public void setRsltDivCode(String rsltDivCode) { public void setResultSe(String resultSe) {
this.rsltDivCode = StringUtils.trim(rsltDivCode); this.resultSe = StringUtils.trim(resultSe);
} }
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
@ -168,16 +168,16 @@ public class NiceCiApiResult {
* 3: 3 * 3: 3
* </pre> * </pre>
*/ */
private String smsSndContractOrder = "1"; private String smsSndngCttpcRank = "1";
/** /**
* <pre> * <pre>
* SMS - 11 * SMS - 11
* </pre> * </pre>
*/ */
private String smsSndContractNo; private String smsSndngCttpcNo;
public void setSmsSndContractNo(String smsSndContractNo) { public void setSmsSndngCttpcNo(String smsSndngCttpcNo) {
this.smsSndContractNo = StringUtils.trim(smsSndContractNo); this.smsSndngCttpcNo = StringUtils.trim(smsSndngCttpcNo);
} }
/** /**
@ -185,9 +185,9 @@ public class NiceCiApiResult {
* SMS - 14 * SMS - 14
* </pre> * </pre>
*/ */
private String smsSndWillDt; private String smsSndngDt;
public void setSmsSndWillDt(String smsSndWillDt) { public void setSmsSndngDt(String smsSndngDt) {
this.smsSndWillDt = StringUtils.trim(smsSndWillDt); this.smsSndngDt = StringUtils.trim(smsSndngDt);
} }
//------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------
@ -231,9 +231,9 @@ public class NiceCiApiResult {
* - 15, 11 * - 15, 11
* </pre> * </pre>
*/ */
private String emptyField; private String rspnsReptitBlnk;
public void setEmptyField(String emptyField) { public void setRspnsReptitBlnk(String rspnsReptitBlnk) {
this.emptyField = StringUtils.trim(emptyField); this.rspnsReptitBlnk = StringUtils.trim(rspnsReptitBlnk);
} }
public static NiceCiApiResult parse(String tgtString) { public static NiceCiApiResult parse(String tgtString) {
@ -256,37 +256,37 @@ public class NiceCiApiResult {
NiceCiApiResult result = new NiceCiApiResult(); NiceCiApiResult result = new NiceCiApiResult();
int idx = 0; int idx = 0;
result.setIdDiv(StringUtils.left(tgtString, parseLength[idx])); result.setIndvdlBsnmCprSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setJumin(StringUtils.left(tgtString, parseLength[idx])); result.setIhidnum(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setName(NiceCiUtils.leftKr(tgtString, parseLength[idx])); result.setNm(NiceCiUtils.leftKr(tgtString, parseLength[idx]));
tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]); tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]);
result.setContractOf1st(StringUtils.left(tgtString, parseLength[idx])); result.setRankCttpc_1(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setContractOf2nd(StringUtils.left(tgtString, parseLength[idx])); result.setRankCttpc_2(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setContractOf3rd(StringUtils.left(tgtString, parseLength[idx])); result.setRankCttpc_3(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setRsltDivCode(StringUtils.left(tgtString, parseLength[idx])); result.setResultSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setSmsSndContractOrder(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngCttpcRank(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setSmsSndContractNo(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngCttpcNo(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setSmsSndWillDt(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngDt(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setEmptyField(StringUtils.left(tgtString, parseLength[idx])); result.setRspnsReptitBlnk(StringUtils.left(tgtString, parseLength[idx]));
return result; return result;
} }
return null; return null;
@ -324,25 +324,25 @@ public class NiceCiApiResult {
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
// 이력조회시만 사용 //////////////////////////////////////////////////////// // 이력조회시만 사용 ////////////////////////////////////////////////////////
result.setIdDiv(StringUtils.left(tgtString, parseLength[idx])); result.setIndvdlBsnmCprSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setJumin(StringUtils.left(tgtString, parseLength[idx])); result.setIhidnum(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setName(NiceCiUtils.leftKr(tgtString, parseLength[idx])); result.setNm(NiceCiUtils.leftKr(tgtString, parseLength[idx]));
tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]); tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]);
result.setContractOf1st(StringUtils.left(tgtString, parseLength[idx])); result.setRankCttpc_1(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setContractOf2nd(StringUtils.left(tgtString, parseLength[idx])); result.setRankCttpc_2(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setContractOf3rd(StringUtils.left(tgtString, parseLength[idx])); result.setRankCttpc_3(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setRsltDivCode(StringUtils.left(tgtString, parseLength[idx])); result.setResultSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
// 이력조회시만 사용 //////////////////////////////////////////////////////// // 이력조회시만 사용 ////////////////////////////////////////////////////////
@ -350,17 +350,17 @@ public class NiceCiApiResult {
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setSndMessage(NiceCiUtils.leftKr(tgtString, parseLength[idx])); result.setSndMessage(NiceCiUtils.leftKr(tgtString, parseLength[idx]));
tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]); tgtString = NiceCiUtils.substringKr(tgtString, parseLength[idx++]);
result.setSmsSndContractNo(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngCttpcNo(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
// 이력조회시만 사용 //////////////////////////////////////////////////////// // 이력조회시만 사용 ////////////////////////////////////////////////////////
result.setSmsSndContractOrder(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngCttpcRank(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setSmsSndContractNo(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngCttpcNo(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setSmsSndWillDt(StringUtils.left(tgtString, parseLength[idx])); result.setSmsSndngDt(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
// 이력조회시만 사용 //////////////////////////////////////////////////////// // 이력조회시만 사용 ////////////////////////////////////////////////////////
@ -368,11 +368,11 @@ public class NiceCiApiResult {
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setContactSearchCode(StringUtils.left(tgtString, parseLength[idx])); result.setContactSearchCode(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
result.setRsltDivCode(StringUtils.left(tgtString, parseLength[idx])); result.setResultSe(StringUtils.left(tgtString, parseLength[idx]));
tgtString = tgtString.substring(parseLength[idx++]); tgtString = tgtString.substring(parseLength[idx++]);
// 이력조회시만 사용 //////////////////////////////////////////////////////// // 이력조회시만 사용 ////////////////////////////////////////////////////////
result.setEmptyField(StringUtils.left(tgtString, parseLength[idx])); result.setRspnsReptitBlnk(StringUtils.left(tgtString, parseLength[idx]));
return result; return result;
} }
return null; return null;

@ -2,6 +2,7 @@ package cokr.xit.ens.modules.nice.service;
import java.util.*; import java.util.*;
import org.apache.commons.lang3.*;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.*; import org.springframework.stereotype.*;
@ -78,7 +79,7 @@ public class NiceCiSendBulkService {
List<NiceCiDTO.InputDataXit> inputDataXits = xit.getInputDataXits(); List<NiceCiDTO.InputDataXit> inputDataXits = xit.getInputDataXits();
for (NiceCiDTO.InputDataXit data : inputDataXits) { for (NiceCiDTO.InputDataXit data : inputDataXits) {
// 기관전문관리번호, TB_NICE_SMS_SNDNG_REQUEST // 기관전문관리번호, TB_NICE_SMS_SNDNG_REQUEST - NICE_SMS_SNDNG_REQUST_ID
final String niceSmsReqId = niceCiMapper.selectNiceCiRequestId().orElseThrow( final String niceSmsReqId = niceCiMapper.selectNiceCiRequestId().orElseThrow(
() -> new EnsException(EnsErrCd.MAKE521, EnsErrCd.MAKE521.getCodeNm()) () -> new EnsException(EnsErrCd.MAKE521, EnsErrCd.MAKE521.getCodeNm())
); );
@ -102,7 +103,18 @@ public class NiceCiSendBulkService {
ciRequest.getQueryRequests().add(queryRequest); ciRequest.getQueryRequests().add(queryRequest);
ciRequest.getButtonRequests().add(btnRequest); ciRequest.getButtonRequests().add(btnRequest);
ciRequest.setNiceSmsSndngRequstId(niceSmsReqId);
ciRequest.setDataId(data.getDataId());
niceCiMapper.insertNiceSmsSndngRequest(ciRequest);
// FIXME : 연계 이후 확인 필요
EnsResponseVO<?> responseVO = niceCiApiService.requestSendBulk(ciRequest); EnsResponseVO<?> responseVO = niceCiApiService.requestSendBulk(ciRequest);
NiceCiApiDTO.Response resDTO = (NiceCiApiDTO.Response)responseVO.getResultInfo();
//NiceCiApiDTO.Response resDTO = new NiceCiApiDTO.Response();
resDTO.setNiceSmsSndngRequstId(niceSmsReqId);
niceCiMapper.insertNiceSmsSndngResponse(resDTO);
log.info(responseVO.toString()); log.info(responseVO.toString());
return responseVO; return responseVO;
} }
@ -139,23 +151,23 @@ public class NiceCiSendBulkService {
//--------------------------------------------------------- //---------------------------------------------------------
// 공통부 : default start // 공통부 : default start
//--------------------------------------------------------- //---------------------------------------------------------
// nCommon.setGrpCode("NICEIF "); // 전문그룹코드 // nCommon.setSpcltyGroupcode("NICEIF "); // 전문그룹코드
// nCommon.setTrType("0200"); // 거래종별코드 // nCommon.setDelngAsortcode("0200"); // 거래종별코드
// nCommon.setTrClassification("31896"); // 거래구분코드 // nCommon.setDelngSecode("31896"); // 거래구분코드
// nCommon.setSndAndRcvFlag("B"); // 송수신플래그 // nCommon.setTrmnlSe("B"); // 송수신플래그
// nCommon.setDeviceClassification("503"); // 단말기구분 // nCommon.setTrmnlSe("503"); // 단말기구분
// nCommon.setRsltCode(" "); // 응답코드 // nCommon.setRspnsCode(" "); // 응답코드
// nCommon.setNiceMngNo(""); // NICE 전문관리번호 // nCommon.setNiceSpcltyManageno(""); // NICE 전문관리번호
// nCommon.setNiceSndDt(""); // NICE 전문 전송시간 // nCommon.setNiceSpcltyTrnsmistime(""); // NICE 전문 전송시간
// ciRequest.setCommonEmptyField(""); // 공란 - 16자리 // ciRequest.setInqireAgreResn("1"); // 조회동의사유
// ciRequest.setQueryConsentReason("1"); // 조회동의사유
//---------------------------------------------------------- //----------------------------------------------------------
// 공통부 : default end // 공통부 : default end
//---------------------------------------------------------- //----------------------------------------------------------
nCommon.setOrgId(ORG_ID); // 참가기관ID - property 에서 nCommon.setPartcptInsttId(ORG_ID); // 참가기관ID - property 에서
nCommon.setOrgMngNo(niceSmsReqId); // 기관전문관리번호 - LPAD(SEQ_NICE_SMS_SNDNG_REQUST_ID, 10, '0') nCommon.setInsttSpcltyManageno(niceSmsReqId); // 기관전문관리번호 - LPAD(SEQ_NICE_SMS_SNDNG_REQUST_ID, 10, '0')
nCommon.setOrgSndDt(DateUtil.getTodayAndNowTime("yyyyMMdd")); // 기관전문전송시간 nCommon.setInsttSpcltyTrnsmistime(DateUtil.getTodayAndNowTime("yyyyMMdd")); // 기관전문전송시간
nCommon.setBlnk(StringUtils.rightPad(StringUtils.EMPTY, 16, StringUtils.SPACE)); // 공란 16자리
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// 공통부 END // 공통부 END
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
@ -175,24 +187,24 @@ public class NiceCiSendBulkService {
//---------------------------------------------------------- //----------------------------------------------------------
// 개별요청부 : default start // 개별요청부 : default start
//---------------------------------------------------------- //----------------------------------------------------------
// ciRequest.setQueryReason("17"); // 조회사유 // ciRequest.setInqireResn("17"); // 조회사유
// ciRequest.setSmsSndReqCode("3"); // SMS발송요청구분코드 // ciRequest.setSmsSndngRequstSe("3"); // SMS발송요청구분코드
// ciRequest.setSndPhoneNo("0442113377"); // 발신번호 // ciRequest.setDsptchNo("0442113377"); // 발신번호
// ciRequest.setContactSearchCode("3"); // 연락처 조회 구분 // ciRequest.setCttpcInqireSe("3"); // 연락처 조회 구분
// ciRequest.setAlimtalkSndReqDiv("1"); // 알림톡발송요청구분코드 // ciRequest.setNtcntalkSndngRequstSe("1"); // 알림톡발송요청구분코드
// ciRequest.setBtnReqCnt(1); // 버튼요청건수 // ciRequest.setBttonRequstCo(1); // 버튼요청건수
// ciRequest.setPrivateEmptyField(""); // 공란 - 880자리 // ciRequest.setIndvdlzRequstBlnk(""); // 공란 - 880자리
//--------------------------------------------------------- //---------------------------------------------------------
// 개별요청부 : default end // 개별요청부 : default end
//--------------------------------------------------------- //---------------------------------------------------------
ciRequest.setQueryReqCnt(1); // 조회요청건수 ciRequest.setInqireRequstCo(1); // 조회요청건수
Map<String, String> map = gson.fromJson(data.getMsgData(), Map.class); Map<String, String> map = gson.fromJson(data.getMsgData(), Map.class);
for(Map.Entry<String, String> entry : map.entrySet()){ for(Map.Entry<String, String> entry : map.entrySet()){
sndMsg = sndMsg.replace(entry.getKey(), entry.getValue()); sndMsg = sndMsg.replace(entry.getKey(), entry.getValue());
} }
ciRequest.setSndMessage(sndMsg); // 발송메세지 ciRequest.setSndngMssage(sndMsg); // 발송메세지
ciRequest.setAlimtalkTmpltCode(tmpltId); // 알림톡 템플릿 코드 ciRequest.setNtcntalkTmplatCode(tmpltId); // 알림톡 템플릿 코드
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
// 개별요청부 END // 개별요청부 END
//////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////
@ -207,12 +219,12 @@ public class NiceCiSendBulkService {
//--------------------------------------------------------- //---------------------------------------------------------
// 조회요청 반복부 : default START // 조회요청 반복부 : default START
//--------------------------------------------------------- //---------------------------------------------------------
// queryRequest.setIdDiv("1"); // 개인사업자법인구분 : "1" // queryRequest.setIndvdlBsnmCprSe("1"); // 개인사업자법인구분 : "1"
// queryRequest.setEmptyField(""); // 공란 - 36 자리 // queryRequest.setInqireRequstBlnk(""); // 공란 - 36 자리
//--------------------------------------------------------- // //---------------------------------------------------------
// 조회요청 반복부 : default END // 조회요청 반복부 : default END
//--------------------------------------------------------- //---------------------------------------------------------
queryRequest.setJumin(data.getSid()); // 주민번호 queryRequest.setIhidnum(data.getSid()); // 주민번호
} }
/** /**
@ -224,13 +236,13 @@ public class NiceCiSendBulkService {
//--------------------------------------------------------- //---------------------------------------------------------
// 버튼요청 반복부 : default START // 버튼요청 반복부 : default START
//--------------------------------------------------------- //---------------------------------------------------------
// btnRequest.setBtnType("WL"); // 버튼타입 // btnRequest.setBttonTy("WL"); // 버튼타입
// btnRequest.setBtnName("납부하기"); // 버튼이름 // btnRequest.setBttonNm("납부하기"); // 버튼이름
// btnRequest.setBtnUrlWebLink2(""); // btnRequest.setBttonUrlWebLink_2("");
// btnRequest.setEmptyField(""); // 공란 : 942 자리 // btnRequest.setBttonRequstBlnk(""); // 공란 : 942 자리
//--------------------------------------------------------- //---------------------------------------------------------
// 버튼요청 반복부 : default END // 버튼요청 반복부 : default END
//--------------------------------------------------------- //---------------------------------------------------------
btnRequest.setBtnUrlWebLink1(data.getPayUrl()); // 공란 - 36 자리 btnRequest.setBttonUrlWebLink_1(data.getPayUrl()); // 공란 - 36 자리
} }
} }

@ -13,7 +13,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.*; import org.springframework.stereotype.*;
import cokr.xit.ens.core.aop.*; import cokr.xit.ens.core.aop.*;
import cokr.xit.ens.core.exception.*;
import cokr.xit.ens.core.exception.code.*; import cokr.xit.ens.core.exception.code.*;
import cokr.xit.ens.modules.nice.cmm.*; import cokr.xit.ens.modules.nice.cmm.*;
import cokr.xit.ens.modules.nice.model.*; import cokr.xit.ens.modules.nice.model.*;
@ -157,10 +156,10 @@ public class NiceCiApiService {
} catch (SocketTimeoutException e) { } catch (SocketTimeoutException e) {
// 타임아웃 발생 시 처리 // 타임아웃 발생 시 처리
log.error("NICE CI Socket 서버 응답 시간 초과: " + e.getMessage()); log.error("NICE CI Socket 서버 응답 시간 초과: " + e.getMessage());
throw BizRuntimeException.create("NICE CI Socket 서버 응답 시간 초과로 인해 통신이 종료되었습니다."); // throw BizRuntimeException.create("NICE CI Socket 서버 응답 시간 초과로 인해 통신이 종료되었습니다.");
} catch (IOException e) { } catch (IOException e) {
throw BizRuntimeException.create(e.getMessage()); // throw BizRuntimeException.create(e.getMessage());
} }
return rtnMsg; return rtnMsg;
} }

@ -192,4 +192,162 @@
FROM ens_tmplt_mng FROM ens_tmplt_mng
WHERE tmplt_cd = #{tmpltCd} WHERE tmplt_cd = #{tmpltCd}
</select> </select>
<insert id="insertNiceSmsSndngRequest" parameterType="cokr.xit.ens.modules.nice.model.NiceCiApiDTO$Request">
/** iup-niceci-mapper|insertNiceSmsSndngRequest-selest nice ci Send request 생성|julim */
INSERT INTO tb_nice_sms_sndng_requst (
NIce_sms_sndng_requst_id,
data_id,
trnsc_id,
spclty_groupcode,
delng_asortcode,
delng_secode,
trsmrcv_at,
trmnl_se,
rspns_code,
partcpt_instt_id,
instt_spclty_manageno,
instt_spclty_trnsmistime,
nice_spclty_manageno,
nice_spclty_trnsmistime,
blnk,
inqire_agre_resn,
inqire_resn,
inqire_requst_co,
sms_sndng_requst_se,
sndng_mssage,
dsptch_no,
cttpc_inqire_se,
ntcntalk_sndng_requst_se,
ntcntalk_tmplat_code,
btton_requst_co,
indvdlz_requst_blnk,
indvdl_bsnm_cpr_se,
ihidnum,
inqire_requst_blnk,
btton_ty,
btton_nm,
btton_url_web_link_1,
btton_url_web_link_2,
btton_requst_blnk,
creat_dt,
crtr
) VALUES (
#{niceSmsSndngRequstId},
#{dataId},
#{trnscId},
#{niceCommon.spcltyGroupcode},
#{niceCommon.delngAsortcode},
#{niceCommon.delngSecode},
#{niceCommon.trsmrcvAt},
#{niceCommon.trmnlSe},
#{niceCommon.rspnsCode},
#{niceCommon.partcptInsttId},
#{niceCommon.insttSpcltyManageno},
#{niceCommon.insttSpcltyTrnsmistime},
#{niceCommon.niceSpcltyManageno},
#{niceCommon.niceSpcltyTrnsmistime},
#{niceCommon.blnk},
#{niceCommon.inqireAgreResn},
#{inqireResn},
#{inqireRequstCo},
#{smsSndngRequstSe},
#{sndngMssage},
#{dsptchNo},
#{cttpcInqireSe},
#{ntcntalkSndngRequstSe},
#{ntcntalkTmplatCode},
#{bttonRequstCo},
#{indvdlzRequstBlnk},
<foreach collection="queryRequests" item="queryRequest" separator=",">
#{queryRequest.indvdlBsnmCprSe},
#{queryRequest.ihidnum},
#{queryRequest.inqireRequstBlnk},
</foreach>
<foreach collection="buttonRequests" item="buttonRequest" separator=",">
#{buttonRequest.bttonTy},
#{buttonRequest.bttonNm},
#{buttonRequest.bttonUrlWebLink_1},
#{buttonRequest.bttonUrlWebLink_2},
#{buttonRequest.bttonRequstBlnk},
</foreach>
sysdate,
'ENS_SYS'
)
</insert>
<insert id="insertNiceSmsSndngResponse" parameterType="cokr.xit.ens.modules.nice.model.NiceCiApiDTO$Response">
/** iup-niceci-mapper|insertNiceSmsSndngResponse-selest nice ci Send response 생성|julim */
INSERT INTO tb_nice_sms_sndng_rspns (
nice_sms_sndng_requst_id,
trnsc_id,
spclty_groupcode,
delng_asortcode,
delng_secode,
trsmrcv_at,
trmnl_se,
rspns_code,
partcpt_instt_id,
instt_spclty_manageno,
instt_spclty_trnsmistime,
nice_spclty_manageno,
nice_spclty_trnsmistime,
blnk,
rspns_co,
sms_sndng_requst_se,
sndng_mssage,
dsptch_no,
cttpc_inqire_se,
indvdlz_requst_blnk,
indvdl_bsnm_cpr_se,
ihidnum,
nm,
rank_cttpc_1,
rank_cttpc_2,
rank_cttpc_3,
result_se,
sms_sndng_cttpc_rank,
sms_sndng_cttpc_no,
sms_sndng_dt,
rspns_reptit_blnk,
creat_dt,
crtr
) VALUES (
#{niceSmsSndngRequstId},
#{trnscId},
#{niceCommon.spcltyGroupcode},
#{niceCommon.delngAsortcode},
#{niceCommon.delngSecode},
#{niceCommon.trsmrcvAt},
#{niceCommon.trmnlSe},
#{niceCommon.rspnsCode},
#{niceCommon.partcptInsttId},
#{niceCommon.insttSpcltyManageno},
#{niceCommon.insttSpcltyTrnsmistime},
#{niceCommon.niceSpcltyManageno},
#{niceCommon.niceSpcltyTrnsmistime},
#{niceCommon.blnk},
#{rspnsCo},
#{smsSndngRequstSe},
#{sndngMssage},
#{dsptchNo},
#{cttpcInqireSe},
#{indvdlzRspnsBlnk},
<foreach collection="niceCiResults" item="niceCiResult" separator=",">
#{niceCiResult.indvdlBsnmCprSe},
#{niceCiResult.ihidnum},
#{niceCiResult.nm},
#{niceCiResult.rankCttpc_1},
#{niceCiResult.rankCttpc_2},
#{niceCiResult.rankCttpc_3},
#{niceCiResult.resultSe},
#{niceCiResult.smsSndngCttpcRank},
#{niceCiResult.smsSndngCttpcNo},
#{niceCiResult.smsSndngDt},
#{niceCiResult.rspnsReptitBlnk},
</foreach>
sysdate,
'ENS_SYS'
)
</insert>
</mapper> </mapper>

Loading…
Cancel
Save