diff --git a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java index 8110a76a..a17c51b4 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java +++ b/src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java @@ -4155,11 +4155,16 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M } // 분할 최대건수가 되면 디비에 입력하기 + // 여러시도 했지만 일단 보류 + // 무시해도 됨 // int instCnt = mjonMsgDataDAO.insertMsgDataInfo_advc(mjonMsgSendVOList); // int instCnt = mjonMsgDataDAO.insertMsgDataInfo_jdbc_advc(mjonMsgSendVOList); // 총 발송 건수 returnMap.put("resultSts", instTotalCnt); + + // TEST발송 시 발송 후 캐시가 있어야함. + returnMap.put("afterCash", priceAndPoint.getBefCash(userId)); log.debug("총 단가 합계: [{}]", mjonMsgVO.getTotPrice()); // diff --git a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java index 9f23aeec..834f60b4 100644 --- a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java +++ b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java @@ -3447,6 +3447,8 @@ public class MjonMsgDataController { @RequestBody MjonMsgVO mjonMsgVO, HttpServletRequest request, ModelMap model) throws Exception { + System.out.println(" :: sendMsgData_advc :: "); + // 디버깅 출력 // System.out.println("mjonMsgVO : " + mjonMsgVO.getMjonMsgSendVOList().toString()); diff --git a/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp b/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp index 05de5f7f..b0819555 100644 --- a/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp @@ -3354,7 +3354,7 @@ function fnTestSend(){ if($('#nowMsgType').text() == "그림"){ - msgType = 'P'; + msgType = '6'; if(imgFilePath.length == 1) { @@ -3380,7 +3380,7 @@ function fnTestSend(){ }else if($('#nowMsgType').text() == "장문"){ - msgType = 'L'; + msgType = '6'; form.eachPrice.value = ''; @@ -3393,7 +3393,7 @@ function fnTestSend(){ }else{ - msgType = 'S'; + msgType = '4'; form.eachPrice.value = ''; diff --git a/src/main/webapp/WEB-INF/jsp/web/pop/testSmsSendPop.jsp b/src/main/webapp/WEB-INF/jsp/web/pop/testSmsSendPop.jsp index 5dae9745..20a429f1 100644 --- a/src/main/webapp/WEB-INF/jsp/web/pop/testSmsSendPop.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/pop/testSmsSendPop.jsp @@ -134,7 +134,8 @@ function fn_testSendMsgData(){ //광고, 선거문자 후처리 var msgKind = form.msgKind.value; - form.smsTxt.value = $(".preview_auto").find("pre").text(); +// form.smsTxt.value = $(".preview_auto").find("pre").text(); + form.smsTxtArea.value = $(".preview_auto").find("pre").text(); /* if(msgKind == 'A') { //광고 var adTxt = $('.ad_tit').text(); var denyTxt = $('.deny_receipt').text(); @@ -180,6 +181,10 @@ function fn_testSendMsgData(){ ]; // 기존 callToList 제거 delete formData.callToList; + + // 빈 값 제거 + removeEmptyValues(formData); + // JSON 데이터 확인 console.log("최종 formData:", JSON.stringify(formData, null, 4)); @@ -191,70 +196,68 @@ function fn_testSendMsgData(){ // url = "/web/mjon/msgdata/sendMsgDataAjax.do"; var url = "/web/mjon/msgdata/sendMsgDataAjax_advc.do"; + $.ajax({ - type: "POST", - url: url, - data: JSON.stringify(formData), - dataType:'json', - // async: false, - // processData: false, - // contentType: false, - // cache: false, - success: function (returnData, status) { - if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 - if("fail" == returnData.result){ - - alert(returnData.message); - return false; - - }else if("loginFail" == returnData.result){ - - alert(returnData.message); - return false; - - }else if("smsLengFail" == returnData.result){ - - alert(returnData.message); - return false; - - }else if("imgSourceFail" == returnData.result){ - alert(returnData.message); - }else{ - var resultCnt = returnData.resultSts; - var resultBlockCnt = returnData.resultBlockSts; - //차단한 번호 제외하고 발송건수가 1 미만인 경우는 발송이 안된 것 - if(resultCnt < 1) { - alert("테스트 문자가 발송되지 않았습니다. \n"+ resultBlockCnt + "건의 번호가 수신거부 상태입니다."); - } else if (resultCnt >= 1) { - alert("테스트 문자가 발송되었습니다."); - } - - //내 충전금액 변경해 주기 - 헤더, 충전금액 두군데 수정 - var afterCash = opener.numberWithCommas(returnData.afterCash); - //$("#hdUserMoney").text(afterCash); // 헤더 보유잔액 부분 - //$("#spUserMoney").text(afterCash); // 문자발송 내 충전금 - //$("#userMoney").attr('placeholder', afterCash); // 문자발송 내 충전금 - - $("#hdUserMoney",opener.document).text(afterCash); // 헤더 보유잔액 부분 - $("#spUserMoney",opener.document).text(afterCash); // 문자발송 내 충전금 - $("#userMoney",opener.document).text(afterCash); // 문자발송 내 충전금 - $("#userMoney",opener.document).attr('placeholder', afterCash); // 문자발송 내 충전금 - - window.close(); - + type: "POST", + url: url, + data: JSON.stringify(formData), + contentType: 'application/json', + dataType:'json', + // async: false, + // processData: false, + // contentType: false, + // cache: false, + success: function (data) { + + + var status = data.status; + if("OK" == status){ + + var resultCnt = Number(data.object.resultSts); + var resultBlockCnt = Number(data.object.resultBlockSts); + + + //차단한 번호 제외하고 발송건수가 1 미만인 경우는 발송이 안된 것 + if(resultCnt < 1) { + alert("테스트 문자가 발송되지 않았습니다. \n"+ resultBlockCnt + "건의 번호가 수신거부 상태입니다."); + } else if (resultCnt >= 1) { + alert("테스트 문자가 발송되었습니다."); } - } else if(status== 'fail'){ - alert(returnData.message); + //내 충전금액 변경해 주기 - 헤더, 충전금액 두군데 수정 + var afterCash = opener.numberWithCommas(data.object.afterCash); + + $("#hdUserMoney",opener.document).text(afterCash); // 헤더 보유잔액 부분 + $("#spUserMoney",opener.document).text(afterCash); // 문자발송 내 충전금 + $("#userMoney",opener.document).text(afterCash); // 문자발송 내 충전금 + $("#userMoney",opener.document).attr('placeholder', afterCash); // 문자발송 내 충전금 + + window.close(); + }else{ + alert(data.message); + return false; } + }, - error: function (e) { alert("문자 발송에 실패하였습니다."); console.log("ERROR : ", e); } + error: function (xhr, status, error) { + alert("문자 발송에 실패하였습니다."); + console.log("상태:", status); + console.log("에러:", error); + console.log("응답:", xhr.responseText);} }); } } +//빈 값이나 null 값을 제거하는 함수 +function removeEmptyValues(obj) { + Object.keys(obj).forEach(function(key) { + if (obj[key] === null || obj[key] === '') { + delete obj[key]; + } + }); +}
@@ -274,7 +277,7 @@ function fn_testSendMsgData(){ - + "/> diff --git a/src/main/webapp/js/web/msgdata/msgDataView.js b/src/main/webapp/js/web/msgdata/msgDataView.js index 75fc5110..20693b70 100644 --- a/src/main/webapp/js/web/msgdata/msgDataView.js +++ b/src/main/webapp/js/web/msgdata/msgDataView.js @@ -1229,8 +1229,6 @@ function sendMsgAjax_advc(){ // JSON 데이터 확인 console.log("최종 formData:", JSON.stringify(formData)); - // - return false; var url = "/web/mjon/msgdata/sendMsgDataAjax_advc.do"; // 시작 시간 @@ -1239,7 +1237,6 @@ function sendMsgAjax_advc(){ // 프로그래스파 시간을 위한 계산 var estimtedTime = calculateEstimatedTime($selectedData.length); - console.log('estimtedTime : ', estimtedTime); $.ajax({ @@ -1250,23 +1247,7 @@ function sendMsgAjax_advc(){ dataType: 'json', success: function (data) { - // 요청 종료 시간 및 경과 시간 계산 - /*const endTime = new Date(); - const elapsed = (endTime - startTime) / 1000; // 밀리초 -> 초로 변환 - console.log('AJAX 요청 성공, 경과 시간 : ', elapsed); - if (elapsed >= 60) { - const minutes = Math.floor(elapsed / 60); // 분 계산 - const seconds = Math.floor(elapsed % 60); // 초 계산 - console.log('AJAX 요청 성공, 경과 시간 : ' + minutes + '분 ' + seconds + '초'); - } else { - console.log('AJAX 요청 성공, 경과 시간 : ' + elapsed + '초'); - } - */ - - console.log('data : ', data); - /* message:"특정문구 일괄변환 치환문자 데이터가 없습니다." - status:"BAD_REQUEST" */ var status = data.status; if("OK" == status){ @@ -1287,16 +1268,7 @@ function sendMsgAjax_advc(){ var reserYn = $("input[name=reserYn]:checked").val(); var resText = (reserYn === 'Y') ? '예약' : '발송'; - /* - if(reserYn == 'Y') - { - resText = "예약"; - } - else - { - resText = "발송"; - } - */ + $('.pop_msg_success .msg_text').html(resText+" 성공 : "+ smsCnt + "건,수신거부 : " + blockCnt + "건의
문자가 "+resText+" 되었습니다."); $('.mask').addClass('on'); @@ -1326,19 +1298,13 @@ function sendMsgAjax_advc(){ }, beforeSend : function(xmlHttpRequest) { - // 프로그래스 바 실행 // 프로그래스 바 실행 progressStart(estimtedTime); - //로딩창 show -// $('.loading_layer').addClass('active'); }, complete : function(xhr, textStatus) { - // 프로그래스 바 종료 // 프로그래스 바 종료 progressComplete();; -// 로딩창 hide -// $('.loading_layer').removeClass('active'); }, error: function (e) { alert("문자 발송에 실패하였습니다."); console.log("ERROR : ", e); } });