From 3ac3f94f26f26e2daa0cc058799e8f3f0b319103 Mon Sep 17 00:00:00 2001 From: "Jonguk. Lim" Date: Mon, 7 Oct 2024 16:28:34 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20NICE=20CI=20=EC=9D=B8=EC=A6=9D=ED=86=A1?= =?UTF-8?q?=20=EC=A7=84=ED=96=89=20-=20sendBulk=20=EB=B0=98=EC=98=81=20=20?= =?UTF-8?q?=20=20=20=20=20API=20logging=20=EB=B0=98=EC=98=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modules/nice/mapper/INiceCiMapper.java | 3 + .../modules/nice/model/NiceCiApiCommon.java | 133 ++++++----- .../ens/modules/nice/model/NiceCiApiDTO.java | 225 ++++++++---------- .../modules/nice/model/NiceCiApiResult.java | 106 ++++----- .../nice/service/NiceCiSendBulkService.java | 78 +++--- .../service/support/NiceCiApiService.java | 5 +- .../modules/iup-niceci-mapper.xml | 158 ++++++++++++ 7 files changed, 441 insertions(+), 267 deletions(-) diff --git a/src/main/java/cokr/xit/ens/modules/nice/mapper/INiceCiMapper.java b/src/main/java/cokr/xit/ens/modules/nice/mapper/INiceCiMapper.java index f943c09..401b5f6 100644 --- a/src/main/java/cokr/xit/ens/modules/nice/mapper/INiceCiMapper.java +++ b/src/main/java/cokr/xit/ens/modules/nice/mapper/INiceCiMapper.java @@ -36,4 +36,7 @@ public interface INiceCiMapper { Optional selectNiceCiRequestId(); Optional selectTmpltMsg(final String tmpltId); + + int insertNiceSmsSndngRequest(final NiceCiApiDTO.Request requestDTO); + int insertNiceSmsSndngResponse(final NiceCiApiDTO.Response responseDTO); } diff --git a/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiCommon.java b/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiCommon.java index 6982658..7c83257 100644 --- a/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiCommon.java +++ b/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiCommon.java @@ -24,7 +24,7 @@ import lombok.extern.slf4j.*; * */ @Schema(name = "NiceCiApiCommon", description = "NICE CI API 전문 공통 DTO") -@Getter +@Data @NoArgsConstructor @AllArgsConstructor @Slf4j @@ -38,9 +38,9 @@ public class NiceCiApiCommon { */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "전문그룹코드(9자리)", example = "NICEIF ") @Size(min = 9, max = 9, message = "전문그룹코드는 9자리 입니다.") - private String grpCode = StringUtils.rightPad("NICEIF", 9, StringUtils.SPACE); - public void setGrpCode(String grpCode) { - this.grpCode = StringUtils.rightPad(nvl(grpCode), 9, StringUtils.SPACE); + private String spcltyGroupcode = StringUtils.rightPad("NICEIF", 9, StringUtils.SPACE); + public void setSpcltyGroupcode(String spcltyGroupcode) { + 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") @Size(min = 4, max = 4, message = "거래 종별 코드는 4자리 입니다.") - private String trType = "0200"; - public void setTrType(String trType) { - this.trType = StringUtils.rightPad(nvl(trType), 4, StringUtils.SPACE); + private String delngAsortcode = "0200"; + public void setDelngAsortcode(String delngAsortcode) { + 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") @Size(min = 5, max = 5, message = "거래 구분 코드는 5자리 입니다.") - private String trClassification = "31896"; - public void setTrClassification(String trClassification) { - this.trClassification = StringUtils.rightPad(nvl(trClassification), 5, StringUtils.SPACE); + private String delngSecode = "31896"; + public void setDelngSecode(String delngSecode) { + 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") @Size(min = 1, max = 1, message = "송수신 플래그는 1자리 입니다.") @Setter - private String sndAndRcvFlag = "B"; + private String trsmrcvAt = "B"; /** *
@@ -90,9 +90,9 @@ public class NiceCiApiCommon {
      */
     @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "단말기구분(3자리)", example = "503")
     @Size(min = 3, max = 3, message = "단말기 구분은 3자리 입니다.")
-    private String deviceClassification = "503";
-    public void setDeviceClassification(String deviceClassification) {
-        this.deviceClassification = StringUtils.rightPad(nvl(deviceClassification), 3, StringUtils.SPACE);
+    private String trmnlSe = "503";
+    public void setTrmnlSe(String trmnlSe) {
+        this.trmnlSe = StringUtils.rightPad(nvl(trmnlSe), 3, StringUtils.SPACE);
     }
 
     /**
@@ -112,9 +112,9 @@ public class NiceCiApiCommon {
      */
     @Schema(title = "응답코드(4자리)", example = " ")
     @Pattern(regexp = "^\\s{4}$|$|^[P|E|S][\\d]{3}$", message = "응답코드(4자리)는 4자리 입니다")
-    private String rsltCode = StringUtils.rightPad(StringUtils.EMPTY, 4, StringUtils.SPACE);
-    public void setRsltCode(String rsltCode) {
-        this.rsltCode = StringUtils.rightPad(nvl(rsltCode), 4, StringUtils.SPACE);
+    private String rspnsCode = StringUtils.rightPad(StringUtils.EMPTY, 4, StringUtils.SPACE);
+    public void setRspnsCode(String rspnsCode) {
+        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")
     @Size(min = 9, max = 9, message = "참가기관ID는 9자리 입니다.")
-    private String orgId = StringUtils.rightPad(StringUtils.EMPTY, 9, StringUtils.SPACE);
-    public void setOrgId(String orgId) {
-        this.orgId = StringUtils.rightPad(nvl(orgId), 9, StringUtils.SPACE);
+    private String partcptInsttId = StringUtils.rightPad(StringUtils.EMPTY, 9, StringUtils.SPACE);
+    public void setPartcptInsttId(String partcptInsttId) {
+        this.partcptInsttId = StringUtils.rightPad(nvl(partcptInsttId), 9, StringUtils.SPACE);
     }
 
     /**
@@ -138,9 +138,9 @@ public class NiceCiApiCommon {
      */
     @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "기관전문관리번호(10자리)", example = " ")
     @Size(min = 10, max = 10, message = "기관전문관리번호는 10자리 입니다.")
-    private String orgMngNo = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE);
-    public void setOrgMngNo(String orgMngNo) {
-        this.orgMngNo = StringUtils.rightPad(nvl(orgMngNo), 10, StringUtils.SPACE);
+    private String insttSpcltyManageno = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE);
+    public void setInsttSpcltyManageno(String insttSpcltyManageno) {
+        this.insttSpcltyManageno = StringUtils.rightPad(nvl(insttSpcltyManageno), 10, StringUtils.SPACE);
     }
 
     /**
@@ -151,9 +151,9 @@ public class NiceCiApiCommon {
      */
     @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "기관전문전송시간(14자리)", example = " ")
     @Size(min = 14, max = 14, message = "기관전문전송시간은 14자리 입니다.")
-    private String orgSndDt = DateUtil.getTodayAndNowTime("yyyyMMddHHmmss");
-    public void setOrgSndDt(String orgSndDt) {
-        this.orgSndDt = StringUtils.rightPad(nvl(orgSndDt), 14, StringUtils.SPACE);
+    private String insttSpcltyTrnsmistime = DateUtil.getTodayAndNowTime("yyyyMMddHHmmss");
+    public void setInsttSpcltyTrnsmistime(String insttSpcltyTrnsmistime) {
+        this.insttSpcltyTrnsmistime = StringUtils.rightPad(nvl(insttSpcltyTrnsmistime), 14, StringUtils.SPACE);
     }
 
     /**
@@ -164,9 +164,9 @@ public class NiceCiApiCommon {
      */
     @Schema(title = "NICE전문관리번호(10자리)", example = " ")
     @Size(min = 10, max = 10, message = "NICE전문관리번호 10자리 입니다.")
-    private String niceMngNo = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE);
-    public void setNiceMngNo(String niceMngNo) {
-        this.niceMngNo = StringUtils.rightPad(nvl(niceMngNo), 10, StringUtils.SPACE);
+    private String niceSpcltyManageno = StringUtils.rightPad(StringUtils.EMPTY, 10, StringUtils.SPACE);
+    public void setNiceSpcltyManageno(String niceSpcltyManageno) {
+        this.niceSpcltyManageno = StringUtils.rightPad(nvl(niceSpcltyManageno), 10, StringUtils.SPACE);
     }
 
     /**
@@ -177,24 +177,43 @@ public class NiceCiApiCommon {
      */
     @Schema(title = "NICE전문전송시간(14자리)", example = " ")
     @Size(min = 14, max = 14, message = "NICE전문전송시간은 14자리 입니다.")
-    private String niceSndDt = StringUtils.rightPad(StringUtils.EMPTY, 14, StringUtils.SPACE);
-    public void setNiceSndDt(String niceSndDt) {
-        this.niceSndDt = StringUtils.rightPad(nvl(niceSndDt), 14, StringUtils.SPACE);
+    private String niceSpcltyTrnsmistime = StringUtils.rightPad(StringUtils.EMPTY, 14, StringUtils.SPACE);
+    public void setNiceSpcltyTrnsmistime(String niceSpcltyTrnsmistime) {
+        this.niceSpcltyTrnsmistime = StringUtils.rightPad(nvl(niceSpcltyTrnsmistime), 14, StringUtils.SPACE);
     }
 
+    /**
+     * 
+     * 공란 - 조회시 16 자리, 이력조회시 17자리
+     * 
+ */ + @Schema(title = "공란", example = " ") + private String blnk; + + /** + *
+     * 조회동의사유 코드 : 4, 이력조회시 미사용
+     * 
+ */ + @Schema(title = "조회동의사유", example = "4") + @Size(min = 1, max = 1, message = "조회동의사유는 1자리 입니다") + private String inqireAgreResn = "4"; + public String ofString() { StringBuilder sb = new StringBuilder(); - sb.append(grpCode); - sb.append(trType); - sb.append(trClassification); - sb.append(sndAndRcvFlag); - sb.append(deviceClassification); - sb.append(rsltCode); - sb.append(orgId); - sb.append(orgMngNo); - sb.append(orgSndDt); - sb.append(niceMngNo); - sb.append(niceSndDt); + sb.append(spcltyGroupcode); + sb.append(delngAsortcode); + sb.append(delngSecode); + sb.append(trsmrcvAt); + sb.append(trmnlSe); + sb.append(rspnsCode); + sb.append(partcptInsttId); + sb.append(insttSpcltyManageno); + sb.append(insttSpcltyTrnsmistime); + sb.append(niceSpcltyManageno); + sb.append(niceSpcltyTrnsmistime); + sb.append(blnk); + sb.append(inqireAgreResn); return sb.toString(); } @@ -210,43 +229,47 @@ public class NiceCiApiCommon { 10, // 기관전문관리번호 14, // 기관전문전송시간 10, //NICE 전문관리번호 - 14 // NICE 전문전송시간 + 14, // NICE 전문전송시간 + 17 // 공란 }; if (StringUtils.isNotBlank(tgtString) && tgtString.length() >= 83) { NiceCiApiCommon nc = new NiceCiApiCommon(); 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++]); - nc.setTrType(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); + nc.setDelngSecode(StringUtils.trim(StringUtils.left(tgtString, 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++]); - nc.setSndAndRcvFlag(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); + nc.setTrmnlSe(StringUtils.trim(StringUtils.left(tgtString, 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++]); - nc.setRsltCode(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); + nc.setPartcptInsttId(StringUtils.trim(StringUtils.left(tgtString, 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++]); - nc.setOrgMngNo(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); + nc.setInsttSpcltyTrnsmistime(StringUtils.trim(StringUtils.left(tgtString, 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++]); - nc.setNiceMngNo(StringUtils.trim(StringUtils.left(tgtString, parseLength[idx]))); + nc.setNiceSpcltyTrnsmistime(StringUtils.trim(StringUtils.left(tgtString, 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 null; diff --git a/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiDTO.java b/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiDTO.java index 3592718..5009034 100644 --- a/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiDTO.java +++ b/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiDTO.java @@ -48,12 +48,20 @@ public class NiceCiApiDTO { * 전문길이 set *
*/ - //@Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "TR Code", example = " ") - //@Size(min = 10, max = 10, message = "트랜잭션 코드는 10자리 입니다.") - private String trCode = StringUtils.EMPTY; - public void setTrCode(String trCode) { - this.trCode = StringUtils.leftPad(nvl(trCode), 10, StringUtils.SPACE); + private String trnscId = StringUtils.EMPTY; + public void setTrnscId(String trnscId) { + this.trnscId = StringUtils.leftPad(nvl(trnscId), 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) @Valid NiceCiApiCommon niceCommon; - - /** - *
-         * 공란 - 16 자리
-         * 
- */ - @Schema(title = "공란", example = " ") - @Size(min = 16, max = 16, message = "공란(16자리)") - private String commonEmptyField = StringUtils.rightPad(StringUtils.EMPTY, 16, StringUtils.SPACE); - - /** - *
-         * 조회동의사유 코드 : 4
-         * 
- */ - @Schema(title = "조회동의사유", example = "4") - @Size(min = 1, max = 1, message = "조회동의사유는 1자리 입니다") - private String queryConsentReason = "4"; //---------------------------------------------------------------------------------------------- // 공통부 : 100 자리 //---------------------------------------------------------------------------------------------- @@ -94,9 +84,9 @@ public class NiceCiApiDTO { */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "조회사유", example = " ") @Size(min = 2, max = 2, message = "조회사유는 2자리 입니다") - private String queryReason = "17"; - public void setQueryReason(String queryReason) { - this.queryReason = StringUtils.rightPad(nvl(queryReason), 2, StringUtils.SPACE); + private String inqireResn = "17"; + public void setInqireResn(String inqireResn) { + this.inqireResn = StringUtils.rightPad(nvl(inqireResn), 2, StringUtils.SPACE); } /** @@ -107,9 +97,9 @@ public class NiceCiApiDTO { */ @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "조회요청건수", example = " ") @Pattern(regexp = "^\\s{2}$|\\d{1,2}", message = "조회요청 최대건수는 48입니다(2자리)") - private String queryReqCnt = "01"; - public void setQueryReqCnt(Integer queryReqCnt) { - this.queryReqCnt = StringUtils.leftPad(nvl(queryReqCnt == null? "": queryReqCnt.toString()), 2, "0"); + private String inqireRequstCo = "01"; + public void setInqireRequstCo(Integer inqireRequstCo) { + 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"}) @Pattern(regexp = "[0-3]", message = "SMS발송요청구분코드 0 ~ 3 입니다(1자리)") - private String smsSndReqCode = "3"; + private String smsSndngRequstSe = "3"; /** *
@@ -134,9 +124,9 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "SMS 발송메세지", example = " ")
         @Pattern(regexp = "^[\\s\\S]{10,2000}$", message = "SMS발송메세지는 10 ~ 2000자리 입니다")
-        private String sndMessage = StringUtils.rightPad(StringUtils.EMPTY, 2000, StringUtils.SPACE);
-        public void setSndMessage(String sndMessage) {
-            this.sndMessage = NiceCiUtils.rightPadKr(nvl(sndMessage), 2000, StringUtils.SPACE);
+        private String sndngMssage = StringUtils.rightPad(StringUtils.EMPTY, 2000, StringUtils.SPACE);
+        public void setSndngMssage(String sndngMssage) {
+            this.sndngMssage = NiceCiUtils.rightPadKr(nvl(sndngMssage), 2000, StringUtils.SPACE);
         }
 
         /**
@@ -147,9 +137,9 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "SMS 발신번호", example = " ")
         @Pattern(regexp = "^[\\s\\S]{3,12}$", message = "SMS 발신번호는 3 ~ 12자리 입니다")
-        private String sndPhoneNo = StringUtils.rightPad("0442113377", 12, StringUtils.SPACE);
-        public void setSndPhoneNo(String sndPhoneNo) {
-            this.sndPhoneNo = StringUtils.rightPad(nvl(sndPhoneNo), 12, StringUtils.SPACE);
+        private String dsptchNo = StringUtils.rightPad("0442113377", 12, StringUtils.SPACE);
+        public void setDsptchNo(String dsptchNo) {
+            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"})
         @Pattern(regexp = "[1-3]", message = "연락처조회구분 코드는 1 ~ 3 입니다(1자리)")
-        private String contactSearchCode = "3";
+        private String cttpcInqireSe = "3";
 
         /**
          * 
@@ -175,7 +165,7 @@ public class NiceCiApiDTO {
          */
         @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "알림톡발송요청구분", example = " ")
         @Size(min = 1, max = 1, message = "알림톡발송요청구분 코드는 1자리 입니다")
-        private String alimtalkSndReqDiv = "1";
+        private String ntcntalkSndngRequstSe = "1";
 
         /**
          * 
@@ -184,9 +174,9 @@ public class NiceCiApiDTO {
          */
         @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "알림톡템플릿코드", example = " ")
         @Size(min = 100, max = 100, message = "알림톡템플릿 코드는 100자리 입니다")
-        private String alimtalkTmpltCode = StringUtils.rightPad(StringUtils.EMPTY, 100, StringUtils.SPACE);
-        public void setAlimtalkTmpltCode(String alimtalkTmpltCode) {
-            this.alimtalkTmpltCode = StringUtils.rightPad(nvl(alimtalkTmpltCode), 100, StringUtils.SPACE);
+        private String ntcntalkTmplatCode = StringUtils.rightPad(StringUtils.EMPTY, 100, StringUtils.SPACE);
+        public void setNtcntalkTmplatCode(String ntcntalkTmplatCode) {
+            this.ntcntalkTmplatCode = StringUtils.rightPad(nvl(ntcntalkTmplatCode), 100, StringUtils.SPACE);
         }
 
         /**
@@ -197,9 +187,9 @@ public class NiceCiApiDTO {
          */
         @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "버튼요청건수", example = " ")
         @Pattern(regexp = "^[0-5]$", message = "버튼요청건수는 1자리로 최대 5 입니다.")
-        private String btnReqCnt = "1";
-        public void setBtnReqCnt(Integer btnReqCnt) {
-            this.btnReqCnt = StringUtils.rightPad(nvl(btnReqCnt == null ? "" : btnReqCnt.toString()), 1, StringUtils.SPACE);
+        private String bttonRequstCo = "1";
+        public void setBttonRequstCo(Integer bttonRequstCo) {
+            this.bttonRequstCo = StringUtils.rightPad(nvl(bttonRequstCo == null ? "" : bttonRequstCo.toString()), 1, StringUtils.SPACE);
         }
 
         /**
@@ -209,7 +199,7 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "공란", example = " ")
         @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 자리
         //----------------------------------------------------------------------------------------------
@@ -235,20 +225,18 @@ public class NiceCiApiDTO {
             //sb.append(trCode);
             // 공통부
             sb.append(niceCommon.ofString());
-            sb.append(commonEmptyField);
-            sb.append(queryConsentReason);
 
             // 개별요청부
-            sb.append(queryReason);
-            sb.append(queryReqCnt);
-            sb.append(smsSndReqCode);
-            sb.append(sndMessage);
-            sb.append(sndPhoneNo);
-            sb.append(contactSearchCode);
-            sb.append(alimtalkSndReqDiv);
-            sb.append(alimtalkTmpltCode);
-            sb.append(btnReqCnt);
-            sb.append(privateEmptyField);
+            sb.append(inqireResn);
+            sb.append(inqireRequstCo);
+            sb.append(smsSndngRequstSe);
+            sb.append(sndngMssage);
+            sb.append(dsptchNo);
+            sb.append(cttpcInqireSe);
+            sb.append(ntcntalkSndngRequstSe);
+            sb.append(ntcntalkTmplatCode);
+            sb.append(bttonRequstCo);
+            sb.append(indvdlzRequstBlnk);
             sb.append(queryRequests.stream().map(QueryRequest::ofString).collect(Collectors.joining()));
             sb.append(buttonRequests.stream().map(ButtonRequest::ofString).collect(Collectors.joining()));
             // FIXME: 인코딩확인후 적용
@@ -264,6 +252,11 @@ public class NiceCiApiDTO {
     public static class Response implements Serializable {
         private static final long serialVersionUID = 1L;
 
+        /**
+         * nice sms 발송 요청 ID - 업무 PK
+         */
+        private String niceSmsSndngRequstId;
+
         //----------------------------------------------------------------------------------------------
         // TR-CODE : 0 ~ 9 자리
         //----------------------------------------------------------------------------------------------
@@ -273,25 +266,15 @@ public class NiceCiApiDTO {
          * 회원사 고유키 - 요청시 필수 max: 9
          * 
*/ - private String trCode; - public void setTrCode(String trCode) { - this.trCode = StringUtils.trim(trCode); + private String trnscId; + public void setTrnscId(String trnscId) { + this.trnscId = StringUtils.trim(trnscId); } //---------------------------------------------------------------------------------------------- // 공통부 : 100 자리 //---------------------------------------------------------------------------------------------- NiceCiApiCommon niceCommon; - - /** - *
-         * 공란 - 16 자리
-         * 
- */ - private String commonEmptyField; - public void setCommonEmptyField(String commonEmptyField) { - this.commonEmptyField = StringUtils.trim(commonEmptyField); - } //---------------------------------------------------------------------------------------------- // 공통부 : 100 자리 //---------------------------------------------------------------------------------------------- @@ -305,9 +288,9 @@ public class NiceCiApiDTO { * 최대 48 *
*/ - private String resCnt; - public void setResCnt(String resCnt) { - this.resCnt = StringUtils.trim(resCnt); + private String rspnsCo; + public void setRspnsCo(String rspnsCo) { + this.rspnsCo = StringUtils.trim(rspnsCo); } /** @@ -320,9 +303,9 @@ public class NiceCiApiDTO { * 3: 1 ~ 3 순위 연락처중 최우선순위 1개로 발송 *
*/ - private String smsSndReqCode; + private String smsSndngRequstSe; 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 메소드 사용 * */ - private String sndMessage; - public void setSndMessage(String sndMessage) { - this.sndMessage = StringUtils.trim(sndMessage); + private String sndngMssage; + public void setSndngMssage(String sndngMssage) { + this.sndngMssage = StringUtils.trim(sndngMssage); } /** @@ -343,9 +326,9 @@ public class NiceCiApiDTO { * 발송요청구분(smsSndReqCode)가 1, 2, 3인 경우 필수 * */ - private String sndPhoneNo; - public void setSndPhoneNo(String sndPhoneNo) { - this.sndPhoneNo = StringUtils.trim(sndPhoneNo); + private String dsptchNo; + public void setDsptchNo(String dsptchNo) { + this.dsptchNo = StringUtils.trim(dsptchNo); } /** @@ -357,16 +340,16 @@ public class NiceCiApiDTO { * 3: 3순위 이내 조회 * */ - private String contactSearchCode = "3"; + private String cttpcInqireSe = "3"; /** *
          * 공란 - 84 자리
          * 
*/ - private String privateEmptyField; - public void setPrivateEmptyField(String privateEmptyField) { - this.privateEmptyField = StringUtils.trim(privateEmptyField); + private String indvdlzRspnsBlnk; + public void setIndvdlzRspnsBlnk(String indvdlzRspnsBlnk) { + this.indvdlzRspnsBlnk = StringUtils.trim(indvdlzRspnsBlnk); } //---------------------------------------------------------------------------------------------- // 개별응답부 : 2100 자리 @@ -384,9 +367,8 @@ public class NiceCiApiDTO { final int repeatLength = 110; final int[] parseLength = { 10, // tr-code - 83, // 공통부 + 100, // 공통부 // FIXME: spec과 상이 - 확인 필요 : "1"이 들어오고 있다 - 17, // 공란 2, // 응답건수 1, // SMS발송요청구분코드 2000, // SMS 발송메세지 @@ -400,31 +382,28 @@ public class NiceCiApiDTO { if (StringUtils.isNotBlank(tgtString) && NiceCiUtils.lengthKr(tgtString) >= 2320) { Response response = new Response(); int idx = 0; - response.setTrCode(StringUtils.left(tgtString, parseLength[idx])); + response.setTrnscId(StringUtils.left(tgtString, parseLength[idx])); tgtString = tgtString.substring(parseLength[idx++]); response.setNiceCommon(NiceCiApiCommon.parse(tgtString)); tgtString = tgtString.substring(parseLength[idx++]); - response.setCommonEmptyField(StringUtils.left(tgtString, parseLength[idx])); - tgtString = tgtString.substring(parseLength[idx++]); - - response.setResCnt(StringUtils.left(tgtString, parseLength[idx])); + response.setRspnsCo(StringUtils.left(tgtString, 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++]); - response.setSndMessage(NiceCiUtils.leftKr(tgtString, parseLength[idx])); + response.setSndngMssage(NiceCiUtils.leftKr(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++]); - response.setContactSearchCode(StringUtils.left(tgtString, parseLength[idx])); + response.setCttpcInqireSe(StringUtils.left(tgtString, 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]); if(NiceCiUtils.lengthKr(tgtString) % repeatLength == 0){ @@ -457,7 +436,7 @@ public class NiceCiApiDTO { */ @Schema(title = "개인/사업자/법인구분", example = "1") @Size(min = 1, max = 1, message = "개인/사업자/법인구분은 1자리 입니다.") - private String idDiv = "1"; + private String indvdlBsnmCprSe = "1"; /** *
@@ -466,9 +445,9 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "주민번호", example = " ")
         @Size(min = 13, max = 13, message = "주민번호는 13자리 입니다.")
-        private String jumin = StringUtils.rightPad(StringUtils.EMPTY, 13, StringUtils.SPACE);
-        public void setJumin(String jumin) {
-            this.jumin = StringUtils.rightPad(nvl(jumin), 13, StringUtils.SPACE);
+        private String ihidnum = StringUtils.rightPad(StringUtils.EMPTY, 13, StringUtils.SPACE);
+        public void setIhidnum(String ihidnum) {
+            this.ihidnum = StringUtils.rightPad(nvl(ihidnum), 13, StringUtils.SPACE);
         }
 
         /**
@@ -478,13 +457,13 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "공란", example = " ")
         @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() {
             StringBuilder sb = new StringBuilder();
-            sb.append(idDiv);
-            sb.append(jumin);
-            sb.append(emptyField);
+            sb.append(indvdlBsnmCprSe);
+            sb.append(ihidnum);
+            sb.append(inqireRequstBlnk);
             return sb.toString();
         }
     }
@@ -502,9 +481,9 @@ public class NiceCiApiDTO {
          */
         @Schema(requiredMode = Schema.RequiredMode.REQUIRED, title = "버튼타입", example = " ", allowableValues = {"WL", "AL"})
         @Pattern(regexp = "[WL|AL]", message = "버튼 타입은 2자리 입니다.")
-        private String btnType = "WL";
-        public void setBtnType(String btnType) {
-            this.btnType = StringUtils.rightPad(nvl(btnType), 2, StringUtils.SPACE);
+        private String bttonTy = "WL";
+        public void setBttonTy(String bttonTy) {
+            this.bttonTy = StringUtils.rightPad(nvl(bttonTy), 2, StringUtils.SPACE);
         }
 
         /**
@@ -514,9 +493,9 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "버튼이름", example = "1")
         @Size(min = 56, max = 56, message = "버튼이름은 56자리 입니다.")
-        private String btnName = StringUtils.rightPad("납부하기", 56, StringUtils.SPACE);
-        public void setBtnName(String jumin) {
-            this.btnName = StringUtils.rightPad(nvl(btnName), 56, StringUtils.SPACE);
+        private String bttonNm = NiceCiUtils.rightPadKr("납부하기", 56, StringUtils.SPACE);
+        public void setBttonNm(String bttonNm) {
+            this.bttonNm = NiceCiUtils.rightPadKr(nvl(bttonNm), 56, StringUtils.SPACE);
         }
 
         /**
@@ -527,12 +506,12 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "버튼URL웹링크1", example = " ")
         @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",
             1000,
             StringUtils.SPACE);
-        public void setBtnUrlWebLink1(String btnUrlWebLink1) {
-            this.btnUrlWebLink1 = StringUtils.rightPad(nvl(btnUrlWebLink1), 1000, StringUtils.SPACE);
+        public void setBttonUrlWebLink_1(String bttonUrlWebLink_1) {
+            this.bttonUrlWebLink_1 = StringUtils.rightPad(nvl(bttonUrlWebLink_1), 1000, StringUtils.SPACE);
         }
 
         /**
@@ -543,9 +522,9 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "버튼URL웹링크2", example = " ")
         @Size(min = 1000, max = 1000, message = "버튼URL웹링크2 은 1000자리 입니다.")
-        private String btnUrlWebLink2 = StringUtils.rightPad(StringUtils.EMPTY, 1000, StringUtils.SPACE);
-        public void setBtnUrlWebLink2(String btnUrlWebLink2) {
-            this.btnUrlWebLink2 = StringUtils.rightPad(nvl(btnUrlWebLink2), 1000, StringUtils.SPACE);
+        private String bttonUrlWebLink_2 = StringUtils.rightPad(StringUtils.EMPTY, 1000, StringUtils.SPACE);
+        public void setBttonUrlWebLink_2(String bttonUrlWebLink_2) {
+            this.bttonUrlWebLink_2 = StringUtils.rightPad(nvl(bttonUrlWebLink_2), 1000, StringUtils.SPACE);
         }
 
         /**
@@ -555,15 +534,15 @@ public class NiceCiApiDTO {
          */
         @Schema(title = "공란", example = " ")
         @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() {
             StringBuilder sb = new StringBuilder();
-            sb.append(btnType);
-            sb.append(btnName);
-            sb.append(btnUrlWebLink1);
-            sb.append(btnUrlWebLink2);
-            sb.append(emptyField);
+            sb.append(bttonTy);
+            sb.append(bttonNm);
+            sb.append(bttonUrlWebLink_1);
+            sb.append(bttonUrlWebLink_2);
+            sb.append(bttonRequstBlnk);
             return sb.toString();
         }
     }
diff --git a/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiResult.java b/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiResult.java
index 00a357e..152ebf9 100644
--- a/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiResult.java
+++ b/src/main/java/cokr/xit/ens/modules/nice/model/NiceCiApiResult.java
@@ -49,16 +49,16 @@ public class NiceCiApiResult {
      * 1(개인) 고정
      * 
*/ - private String idDiv = "1"; + private String indvdlBsnmCprSe = "1"; /** *
      * 주민번호 - 13자리
      * 
*/ - private String jumin; - public void setJumin(String jumin) { - this.jumin = StringUtils.trim(jumin); + private String ihidnum; + public void setIhidnum(String ihidnum) { + this.ihidnum = StringUtils.trim(ihidnum); } /** @@ -67,9 +67,9 @@ public class NiceCiApiResult { * NiceCiUtils.leftKr, substringKr 메소드 사용 * */ - private String name; - public void setName(String name) { - this.name = StringUtils.trim(name); + private String nm; + public void setNm(String nm) { + this.nm = StringUtils.trim(nm); } /** @@ -77,9 +77,9 @@ public class NiceCiApiResult { * 1순위연락처 - 11자리 * */ - private String contractOf1st; - public void setContractOf1st(String contractOf1st) { - this.contractOf1st = StringUtils.trim(contractOf1st); + private String rankCttpc_1; + public void setRankCttpc_1(String rankCttpc_1) { + this.rankCttpc_1 = StringUtils.trim(rankCttpc_1); } /** @@ -87,9 +87,9 @@ public class NiceCiApiResult { * 2순위연락처 - 11자리 * */ - private String contractOf2nd; - public void setContractOf2nd(String contractOf2nd) { - this.contractOf2nd = StringUtils.trim(contractOf2nd); + private String rankCttpc_2; + public void setRankCttpc_2(String rankCttpc_2) { + this.rankCttpc_2 = StringUtils.trim(rankCttpc_2); } /** @@ -97,9 +97,9 @@ public class NiceCiApiResult { * 3순위연락처 - 11자리 * */ - private String contractOf3rd; - public void setContractOf3rd(String contractOf3rd) { - this.contractOf3rd = StringUtils.trim(contractOf3rd); + private String rankCttpc_3; + public void setRankCttpc_3(String rankCttpc_3) { + this.rankCttpc_3 = StringUtils.trim(rankCttpc_3); } /** @@ -112,9 +112,9 @@ public class NiceCiApiResult { * 99 기타오류 * */ - private String rsltDivCode; - public void setRsltDivCode(String rsltDivCode) { - this.rsltDivCode = StringUtils.trim(rsltDivCode); + private String resultSe; + public void setResultSe(String resultSe) { + this.resultSe = StringUtils.trim(resultSe); } //------------------------------------------------------------------------------------ @@ -168,16 +168,16 @@ public class NiceCiApiResult { * 3: 3 순위 연락처로 발송 * */ - private String smsSndContractOrder = "1"; + private String smsSndngCttpcRank = "1"; /** *
      * SMS발송연락처번호 - 11자리
      * 
*/ - private String smsSndContractNo; - public void setSmsSndContractNo(String smsSndContractNo) { - this.smsSndContractNo = StringUtils.trim(smsSndContractNo); + private String smsSndngCttpcNo; + public void setSmsSndngCttpcNo(String smsSndngCttpcNo) { + this.smsSndngCttpcNo = StringUtils.trim(smsSndngCttpcNo); } /** @@ -185,9 +185,9 @@ public class NiceCiApiResult { * SMS발송예정일시 - 14자리 * */ - private String smsSndWillDt; - public void setSmsSndWillDt(String smsSndWillDt) { - this.smsSndWillDt = StringUtils.trim(smsSndWillDt); + private String smsSndngDt; + public void setSmsSndngDt(String smsSndngDt) { + this.smsSndngDt = StringUtils.trim(smsSndngDt); } //------------------------------------------------------------------------------------ @@ -231,9 +231,9 @@ public class NiceCiApiResult { * 공란 - 15, 이력조회시는 11 자리 * */ - private String emptyField; - public void setEmptyField(String emptyField) { - this.emptyField = StringUtils.trim(emptyField); + private String rspnsReptitBlnk; + public void setRspnsReptitBlnk(String rspnsReptitBlnk) { + this.rspnsReptitBlnk = StringUtils.trim(rspnsReptitBlnk); } public static NiceCiApiResult parse(String tgtString) { @@ -256,37 +256,37 @@ public class NiceCiApiResult { NiceCiApiResult result = new NiceCiApiResult(); int idx = 0; - result.setIdDiv(StringUtils.left(tgtString, parseLength[idx])); + result.setIndvdlBsnmCprSe(StringUtils.left(tgtString, 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++]); - result.setName(NiceCiUtils.leftKr(tgtString, parseLength[idx])); + result.setNm(NiceCiUtils.leftKr(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++]); - result.setContractOf2nd(StringUtils.left(tgtString, parseLength[idx])); + result.setRankCttpc_2(StringUtils.left(tgtString, 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++]); - result.setRsltDivCode(StringUtils.left(tgtString, parseLength[idx])); + result.setResultSe(StringUtils.left(tgtString, 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++]); - result.setSmsSndContractNo(StringUtils.left(tgtString, parseLength[idx])); + result.setSmsSndngCttpcNo(StringUtils.left(tgtString, 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++]); - result.setEmptyField(StringUtils.left(tgtString, parseLength[idx])); + result.setRspnsReptitBlnk(StringUtils.left(tgtString, parseLength[idx])); return result; } return null; @@ -324,25 +324,25 @@ public class NiceCiApiResult { tgtString = tgtString.substring(parseLength[idx++]); // 이력조회시만 사용 //////////////////////////////////////////////////////// - result.setIdDiv(StringUtils.left(tgtString, parseLength[idx])); + result.setIndvdlBsnmCprSe(StringUtils.left(tgtString, 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++]); - result.setName(NiceCiUtils.leftKr(tgtString, parseLength[idx])); + result.setNm(NiceCiUtils.leftKr(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++]); - result.setContractOf2nd(StringUtils.left(tgtString, parseLength[idx])); + result.setRankCttpc_2(StringUtils.left(tgtString, 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++]); - result.setRsltDivCode(StringUtils.left(tgtString, parseLength[idx])); + result.setResultSe(StringUtils.left(tgtString, parseLength[idx])); tgtString = tgtString.substring(parseLength[idx++]); // 이력조회시만 사용 //////////////////////////////////////////////////////// @@ -350,17 +350,17 @@ public class NiceCiApiResult { tgtString = tgtString.substring(parseLength[idx++]); result.setSndMessage(NiceCiUtils.leftKr(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++]); // 이력조회시만 사용 //////////////////////////////////////////////////////// - result.setSmsSndContractOrder(StringUtils.left(tgtString, parseLength[idx])); + result.setSmsSndngCttpcRank(StringUtils.left(tgtString, 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++]); - result.setSmsSndWillDt(StringUtils.left(tgtString, parseLength[idx])); + result.setSmsSndngDt(StringUtils.left(tgtString, parseLength[idx])); tgtString = tgtString.substring(parseLength[idx++]); // 이력조회시만 사용 //////////////////////////////////////////////////////// @@ -368,11 +368,11 @@ public class NiceCiApiResult { tgtString = tgtString.substring(parseLength[idx++]); result.setContactSearchCode(StringUtils.left(tgtString, 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++]); // 이력조회시만 사용 //////////////////////////////////////////////////////// - result.setEmptyField(StringUtils.left(tgtString, parseLength[idx])); + result.setRspnsReptitBlnk(StringUtils.left(tgtString, parseLength[idx])); return result; } return null; diff --git a/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiSendBulkService.java b/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiSendBulkService.java index add2b33..f83cf69 100644 --- a/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiSendBulkService.java +++ b/src/main/java/cokr/xit/ens/modules/nice/service/NiceCiSendBulkService.java @@ -2,6 +2,7 @@ package cokr.xit.ens.modules.nice.service; import java.util.*; +import org.apache.commons.lang3.*; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.*; @@ -78,7 +79,7 @@ public class NiceCiSendBulkService { List inputDataXits = xit.getInputDataXits(); 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( () -> new EnsException(EnsErrCd.MAKE521, EnsErrCd.MAKE521.getCodeNm()) ); @@ -102,7 +103,18 @@ public class NiceCiSendBulkService { ciRequest.getQueryRequests().add(queryRequest); ciRequest.getButtonRequests().add(btnRequest); + + ciRequest.setNiceSmsSndngRequstId(niceSmsReqId); + ciRequest.setDataId(data.getDataId()); + niceCiMapper.insertNiceSmsSndngRequest(ciRequest); + + // FIXME : 연계 이후 확인 필요 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()); return responseVO; } @@ -139,23 +151,23 @@ public class NiceCiSendBulkService { //--------------------------------------------------------- // 공통부 : default start //--------------------------------------------------------- - // nCommon.setGrpCode("NICEIF "); // 전문그룹코드 - // nCommon.setTrType("0200"); // 거래종별코드 - // nCommon.setTrClassification("31896"); // 거래구분코드 - // nCommon.setSndAndRcvFlag("B"); // 송수신플래그 - // nCommon.setDeviceClassification("503"); // 단말기구분 - // nCommon.setRsltCode(" "); // 응답코드 - // nCommon.setNiceMngNo(""); // NICE 전문관리번호 - // nCommon.setNiceSndDt(""); // NICE 전문 전송시간 - // ciRequest.setCommonEmptyField(""); // 공란 - 16자리 - // ciRequest.setQueryConsentReason("1"); // 조회동의사유 + // nCommon.setSpcltyGroupcode("NICEIF "); // 전문그룹코드 + // nCommon.setDelngAsortcode("0200"); // 거래종별코드 + // nCommon.setDelngSecode("31896"); // 거래구분코드 + // nCommon.setTrmnlSe("B"); // 송수신플래그 + // nCommon.setTrmnlSe("503"); // 단말기구분 + // nCommon.setRspnsCode(" "); // 응답코드 + // nCommon.setNiceSpcltyManageno(""); // NICE 전문관리번호 + // nCommon.setNiceSpcltyTrnsmistime(""); // NICE 전문 전송시간 + // ciRequest.setInqireAgreResn("1"); // 조회동의사유 //---------------------------------------------------------- // 공통부 : default end //---------------------------------------------------------- - nCommon.setOrgId(ORG_ID); // 참가기관ID - property 에서 - nCommon.setOrgMngNo(niceSmsReqId); // 기관전문관리번호 - LPAD(SEQ_NICE_SMS_SNDNG_REQUST_ID, 10, '0') - nCommon.setOrgSndDt(DateUtil.getTodayAndNowTime("yyyyMMdd")); // 기관전문전송시간 + nCommon.setPartcptInsttId(ORG_ID); // 참가기관ID - property 에서 + nCommon.setInsttSpcltyManageno(niceSmsReqId); // 기관전문관리번호 - LPAD(SEQ_NICE_SMS_SNDNG_REQUST_ID, 10, '0') + nCommon.setInsttSpcltyTrnsmistime(DateUtil.getTodayAndNowTime("yyyyMMdd")); // 기관전문전송시간 + nCommon.setBlnk(StringUtils.rightPad(StringUtils.EMPTY, 16, StringUtils.SPACE)); // 공란 16자리 //////////////////////////////////////////////////////////// // 공통부 END //////////////////////////////////////////////////////////// @@ -175,24 +187,24 @@ public class NiceCiSendBulkService { //---------------------------------------------------------- // 개별요청부 : default start //---------------------------------------------------------- - // ciRequest.setQueryReason("17"); // 조회사유 - // ciRequest.setSmsSndReqCode("3"); // SMS발송요청구분코드 - // ciRequest.setSndPhoneNo("0442113377"); // 발신번호 - // ciRequest.setContactSearchCode("3"); // 연락처 조회 구분 - // ciRequest.setAlimtalkSndReqDiv("1"); // 알림톡발송요청구분코드 - // ciRequest.setBtnReqCnt(1); // 버튼요청건수 - // ciRequest.setPrivateEmptyField(""); // 공란 - 880자리 + // ciRequest.setInqireResn("17"); // 조회사유 + // ciRequest.setSmsSndngRequstSe("3"); // SMS발송요청구분코드 + // ciRequest.setDsptchNo("0442113377"); // 발신번호 + // ciRequest.setCttpcInqireSe("3"); // 연락처 조회 구분 + // ciRequest.setNtcntalkSndngRequstSe("1"); // 알림톡발송요청구분코드 + // ciRequest.setBttonRequstCo(1); // 버튼요청건수 + // ciRequest.setIndvdlzRequstBlnk(""); // 공란 - 880자리 //--------------------------------------------------------- // 개별요청부 : default end //--------------------------------------------------------- - ciRequest.setQueryReqCnt(1); // 조회요청건수 + ciRequest.setInqireRequstCo(1); // 조회요청건수 Map map = gson.fromJson(data.getMsgData(), Map.class); for(Map.Entry entry : map.entrySet()){ sndMsg = sndMsg.replace(entry.getKey(), entry.getValue()); } - ciRequest.setSndMessage(sndMsg); // 발송메세지 - ciRequest.setAlimtalkTmpltCode(tmpltId); // 알림톡 템플릿 코드 + ciRequest.setSndngMssage(sndMsg); // 발송메세지 + ciRequest.setNtcntalkTmplatCode(tmpltId); // 알림톡 템플릿 코드 //////////////////////////////////////////////////////////// // 개별요청부 END //////////////////////////////////////////////////////////// @@ -207,12 +219,12 @@ public class NiceCiSendBulkService { //--------------------------------------------------------- // 조회요청 반복부 : default START //--------------------------------------------------------- - // queryRequest.setIdDiv("1"); // 개인사업자법인구분 : "1" - // queryRequest.setEmptyField(""); // 공란 - 36 자리 - //--------------------------------------------------------- + // queryRequest.setIndvdlBsnmCprSe("1"); // 개인사업자법인구분 : "1" + // queryRequest.setInqireRequstBlnk(""); // 공란 - 36 자리 + // //--------------------------------------------------------- // 조회요청 반복부 : default END //--------------------------------------------------------- - queryRequest.setJumin(data.getSid()); // 주민번호 + queryRequest.setIhidnum(data.getSid()); // 주민번호 } /** @@ -224,13 +236,13 @@ public class NiceCiSendBulkService { //--------------------------------------------------------- // 버튼요청 반복부 : default START //--------------------------------------------------------- - // btnRequest.setBtnType("WL"); // 버튼타입 - // btnRequest.setBtnName("납부하기"); // 버튼이름 - // btnRequest.setBtnUrlWebLink2(""); - // btnRequest.setEmptyField(""); // 공란 : 942 자리 + // btnRequest.setBttonTy("WL"); // 버튼타입 + // btnRequest.setBttonNm("납부하기"); // 버튼이름 + // btnRequest.setBttonUrlWebLink_2(""); + // btnRequest.setBttonRequstBlnk(""); // 공란 : 942 자리 //--------------------------------------------------------- // 버튼요청 반복부 : default END //--------------------------------------------------------- - btnRequest.setBtnUrlWebLink1(data.getPayUrl()); // 공란 - 36 자리 + btnRequest.setBttonUrlWebLink_1(data.getPayUrl()); // 공란 - 36 자리 } } diff --git a/src/main/java/cokr/xit/ens/modules/nice/service/support/NiceCiApiService.java b/src/main/java/cokr/xit/ens/modules/nice/service/support/NiceCiApiService.java index 34d1f6f..f9eebd3 100644 --- a/src/main/java/cokr/xit/ens/modules/nice/service/support/NiceCiApiService.java +++ b/src/main/java/cokr/xit/ens/modules/nice/service/support/NiceCiApiService.java @@ -13,7 +13,6 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.*; import cokr.xit.ens.core.aop.*; -import cokr.xit.ens.core.exception.*; import cokr.xit.ens.core.exception.code.*; import cokr.xit.ens.modules.nice.cmm.*; import cokr.xit.ens.modules.nice.model.*; @@ -157,10 +156,10 @@ public class NiceCiApiService { } catch (SocketTimeoutException e) { // 타임아웃 발생 시 처리 log.error("NICE CI Socket 서버 응답 시간 초과: " + e.getMessage()); - throw BizRuntimeException.create("NICE CI Socket 서버 응답 시간 초과로 인해 통신이 종료되었습니다."); +// throw BizRuntimeException.create("NICE CI Socket 서버 응답 시간 초과로 인해 통신이 종료되었습니다."); } catch (IOException e) { - throw BizRuntimeException.create(e.getMessage()); +// throw BizRuntimeException.create(e.getMessage()); } return rtnMsg; } diff --git a/src/main/resources/mybatis-mapper/modules/iup-niceci-mapper.xml b/src/main/resources/mybatis-mapper/modules/iup-niceci-mapper.xml index 1d0343c..54030df 100644 --- a/src/main/resources/mybatis-mapper/modules/iup-niceci-mapper.xml +++ b/src/main/resources/mybatis-mapper/modules/iup-niceci-mapper.xml @@ -192,4 +192,162 @@ FROM ens_tmplt_mng WHERE tmplt_cd = #{tmpltCd} + + + /** 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}, + + #{queryRequest.indvdlBsnmCprSe}, + #{queryRequest.ihidnum}, + #{queryRequest.inqireRequstBlnk}, + + + #{buttonRequest.bttonTy}, + #{buttonRequest.bttonNm}, + #{buttonRequest.bttonUrlWebLink_1}, + #{buttonRequest.bttonUrlWebLink_2}, + #{buttonRequest.bttonRequstBlnk}, + + sysdate, + 'ENS_SYS' + ) + + + + /** 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}, + + #{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}, + + sysdate, + 'ENS_SYS' + ) +