--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
... | ... | @@ -4155,11 +4155,16 @@ |
| 4155 | 4155 |
} |
| 4156 | 4156 |
|
| 4157 | 4157 |
// 분할 최대건수가 되면 디비에 입력하기 |
| 4158 |
+ // 여러시도 했지만 일단 보류 |
|
| 4159 |
+ // 무시해도 됨 |
|
| 4158 | 4160 |
// int instCnt = mjonMsgDataDAO.insertMsgDataInfo_advc(mjonMsgSendVOList); |
| 4159 | 4161 |
// int instCnt = mjonMsgDataDAO.insertMsgDataInfo_jdbc_advc(mjonMsgSendVOList); |
| 4160 | 4162 |
|
| 4161 | 4163 |
// 총 발송 건수 |
| 4162 | 4164 |
returnMap.put("resultSts", instTotalCnt);
|
| 4165 |
+ |
|
| 4166 |
+ // TEST발송 시 발송 후 캐시가 있어야함. |
|
| 4167 |
+ returnMap.put("afterCash", priceAndPoint.getBefCash(userId));
|
|
| 4163 | 4168 |
log.debug("총 단가 합계: [{}]", mjonMsgVO.getTotPrice());
|
| 4164 | 4169 |
// |
| 4165 | 4170 |
|
--- src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
+++ src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
... | ... | @@ -3447,6 +3447,8 @@ |
| 3447 | 3447 |
@RequestBody MjonMsgVO mjonMsgVO, |
| 3448 | 3448 |
HttpServletRequest request, |
| 3449 | 3449 |
ModelMap model) throws Exception {
|
| 3450 |
+ System.out.println(" :: sendMsgData_advc :: ");
|
|
| 3451 |
+ |
|
| 3450 | 3452 |
|
| 3451 | 3453 |
// 디버깅 출력 |
| 3452 | 3454 |
// System.out.println("mjonMsgVO : " + mjonMsgVO.getMjonMsgSendVOList().toString());
|
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
... | ... | @@ -3354,7 +3354,7 @@ |
| 3354 | 3354 |
|
| 3355 | 3355 |
if($('#nowMsgType').text() == "그림"){
|
| 3356 | 3356 |
|
| 3357 |
- msgType = 'P'; |
|
| 3357 |
+ msgType = '6'; |
|
| 3358 | 3358 |
|
| 3359 | 3359 |
if(imgFilePath.length == 1) {
|
| 3360 | 3360 |
|
... | ... | @@ -3380,7 +3380,7 @@ |
| 3380 | 3380 |
|
| 3381 | 3381 |
}else if($('#nowMsgType').text() == "장문"){
|
| 3382 | 3382 |
|
| 3383 |
- msgType = 'L'; |
|
| 3383 |
+ msgType = '6'; |
|
| 3384 | 3384 |
|
| 3385 | 3385 |
form.eachPrice.value = '<c:out value="${longPrice}" />';
|
| 3386 | 3386 |
|
... | ... | @@ -3393,7 +3393,7 @@ |
| 3393 | 3393 |
|
| 3394 | 3394 |
}else{
|
| 3395 | 3395 |
|
| 3396 |
- msgType = 'S'; |
|
| 3396 |
+ msgType = '4'; |
|
| 3397 | 3397 |
|
| 3398 | 3398 |
form.eachPrice.value = '<c:out value="${shortPrice}" />';
|
| 3399 | 3399 |
|
--- src/main/webapp/WEB-INF/jsp/web/pop/testSmsSendPop.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pop/testSmsSendPop.jsp
... | ... | @@ -134,7 +134,8 @@ |
| 134 | 134 |
|
| 135 | 135 |
//광고, 선거문자 후처리 |
| 136 | 136 |
var msgKind = form.msgKind.value; |
| 137 |
- form.smsTxt.value = $(".preview_auto").find("pre").text();
|
|
| 137 |
+// form.smsTxt.value = $(".preview_auto").find("pre").text();
|
|
| 138 |
+ form.smsTxtArea.value = $(".preview_auto").find("pre").text();
|
|
| 138 | 139 |
/* if(msgKind == 'A') { //광고
|
| 139 | 140 |
var adTxt = $('.ad_tit').text();
|
| 140 | 141 |
var denyTxt = $('.deny_receipt').text();
|
... | ... | @@ -180,6 +181,10 @@ |
| 180 | 181 |
]; |
| 181 | 182 |
// 기존 callToList 제거 |
| 182 | 183 |
delete formData.callToList; |
| 184 |
+ |
|
| 185 |
+ // 빈 값 제거 |
|
| 186 |
+ removeEmptyValues(formData); |
|
| 187 |
+ |
|
| 183 | 188 |
// JSON 데이터 확인 |
| 184 | 189 |
console.log("최종 formData:", JSON.stringify(formData, null, 4));
|
| 185 | 190 |
|
... | ... | @@ -191,70 +196,68 @@ |
| 191 | 196 |
// url = "/web/mjon/msgdata/sendMsgDataAjax.do"; |
| 192 | 197 |
var url = "/web/mjon/msgdata/sendMsgDataAjax_advc.do"; |
| 193 | 198 |
|
| 199 |
+ |
|
| 194 | 200 |
$.ajax({
|
| 195 |
- type: "POST", |
|
| 196 |
- url: url, |
|
| 197 |
- data: JSON.stringify(formData), |
|
| 198 |
- dataType:'json', |
|
| 199 |
- // async: false, |
|
| 200 |
- // processData: false, |
|
| 201 |
- // contentType: false, |
|
| 202 |
- // cache: false, |
|
| 203 |
- success: function (returnData, status) {
|
|
| 204 |
- if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나
|
|
| 205 |
- if("fail" == returnData.result){
|
|
| 206 |
- |
|
| 207 |
- alert(returnData.message); |
|
| 208 |
- return false; |
|
| 209 |
- |
|
| 210 |
- }else if("loginFail" == returnData.result){
|
|
| 211 |
- |
|
| 212 |
- alert(returnData.message); |
|
| 213 |
- return false; |
|
| 214 |
- |
|
| 215 |
- }else if("smsLengFail" == returnData.result){
|
|
| 216 |
- |
|
| 217 |
- alert(returnData.message); |
|
| 218 |
- return false; |
|
| 219 |
- |
|
| 220 |
- }else if("imgSourceFail" == returnData.result){
|
|
| 221 |
- alert(returnData.message); |
|
| 222 |
- }else{
|
|
| 223 |
- var resultCnt = returnData.resultSts; |
|
| 224 |
- var resultBlockCnt = returnData.resultBlockSts; |
|
| 225 |
- //차단한 번호 제외하고 발송건수가 1 미만인 경우는 발송이 안된 것 |
|
| 226 |
- if(resultCnt < 1) {
|
|
| 227 |
- alert("테스트 문자가 발송되지 않았습니다. \n"+ resultBlockCnt + "건의 번호가 수신거부 상태입니다.");
|
|
| 228 |
- } else if (resultCnt >= 1) {
|
|
| 229 |
- alert("테스트 문자가 발송되었습니다.");
|
|
| 230 |
- } |
|
| 231 |
- |
|
| 232 |
- //내 충전금액 변경해 주기 - 헤더, 충전금액 두군데 수정 |
|
| 233 |
- var afterCash = opener.numberWithCommas(returnData.afterCash); |
|
| 234 |
- //$("#hdUserMoney").text(afterCash); // 헤더 보유잔액 부분
|
|
| 235 |
- //$("#spUserMoney").text(afterCash); // 문자발송 내 충전금
|
|
| 236 |
- //$("#userMoney").attr('placeholder', afterCash); // 문자발송 내 충전금
|
|
| 237 |
- |
|
| 238 |
- $("#hdUserMoney",opener.document).text(afterCash); // 헤더 보유잔액 부분
|
|
| 239 |
- $("#spUserMoney",opener.document).text(afterCash); // 문자발송 내 충전금
|
|
| 240 |
- $("#userMoney",opener.document).text(afterCash); // 문자발송 내 충전금
|
|
| 241 |
- $("#userMoney",opener.document).attr('placeholder', afterCash); // 문자발송 내 충전금
|
|
| 242 |
- |
|
| 243 |
- window.close(); |
|
| 244 |
- |
|
| 201 |
+ type: "POST", |
|
| 202 |
+ url: url, |
|
| 203 |
+ data: JSON.stringify(formData), |
|
| 204 |
+ contentType: 'application/json', |
|
| 205 |
+ dataType:'json', |
|
| 206 |
+ // async: false, |
|
| 207 |
+ // processData: false, |
|
| 208 |
+ // contentType: false, |
|
| 209 |
+ // cache: false, |
|
| 210 |
+ success: function (data) {
|
|
| 211 |
+ |
|
| 212 |
+ |
|
| 213 |
+ var status = data.status; |
|
| 214 |
+ if("OK" == status){
|
|
| 215 |
+ |
|
| 216 |
+ var resultCnt = Number(data.object.resultSts); |
|
| 217 |
+ var resultBlockCnt = Number(data.object.resultBlockSts); |
|
| 218 |
+ |
|
| 219 |
+ |
|
| 220 |
+ //차단한 번호 제외하고 발송건수가 1 미만인 경우는 발송이 안된 것 |
|
| 221 |
+ if(resultCnt < 1) {
|
|
| 222 |
+ alert("테스트 문자가 발송되지 않았습니다. \n"+ resultBlockCnt + "건의 번호가 수신거부 상태입니다.");
|
|
| 223 |
+ } else if (resultCnt >= 1) {
|
|
| 224 |
+ alert("테스트 문자가 발송되었습니다.");
|
|
| 245 | 225 |
} |
| 246 | 226 |
|
| 247 |
- } else if(status== 'fail'){
|
|
| 248 |
- alert(returnData.message); |
|
| 227 |
+ //내 충전금액 변경해 주기 - 헤더, 충전금액 두군데 수정 |
|
| 228 |
+ var afterCash = opener.numberWithCommas(data.object.afterCash); |
|
| 229 |
+ |
|
| 230 |
+ $("#hdUserMoney",opener.document).text(afterCash); // 헤더 보유잔액 부분
|
|
| 231 |
+ $("#spUserMoney",opener.document).text(afterCash); // 문자발송 내 충전금
|
|
| 232 |
+ $("#userMoney",opener.document).text(afterCash); // 문자발송 내 충전금
|
|
| 233 |
+ $("#userMoney",opener.document).attr('placeholder', afterCash); // 문자발송 내 충전금
|
|
| 234 |
+ |
|
| 235 |
+ window.close(); |
|
| 236 |
+ }else{
|
|
| 237 |
+ alert(data.message); |
|
| 238 |
+ return false; |
|
| 249 | 239 |
} |
| 240 |
+ |
|
| 250 | 241 |
}, |
| 251 |
- error: function (e) { alert("문자 발송에 실패하였습니다."); console.log("ERROR : ", e); }
|
|
| 242 |
+ error: function (xhr, status, error) {
|
|
| 243 |
+ alert("문자 발송에 실패하였습니다.");
|
|
| 244 |
+ console.log("상태:", status);
|
|
| 245 |
+ console.log("에러:", error);
|
|
| 246 |
+ console.log("응답:", xhr.responseText);}
|
|
| 252 | 247 |
}); |
| 253 | 248 |
|
| 254 | 249 |
} |
| 255 | 250 |
|
| 256 | 251 |
} |
| 257 | 252 |
|
| 253 |
+//빈 값이나 null 값을 제거하는 함수 |
|
| 254 |
+function removeEmptyValues(obj) {
|
|
| 255 |
+ Object.keys(obj).forEach(function(key) {
|
|
| 256 |
+ if (obj[key] === null || obj[key] === '') {
|
|
| 257 |
+ delete obj[key]; |
|
| 258 |
+ } |
|
| 259 |
+ }); |
|
| 260 |
+} |
|
| 258 | 261 |
</script> |
| 259 | 262 |
<form id="msgForm" name="msgForm" method="post"> |
| 260 | 263 |
<input type="hidden" id="msgKind" name="msgKind" value="${searchVO.msgKind}" /><!-- 문자종류(일반:N, 광고:A , 선거:C,관리자:S) -->
|
... | ... | @@ -274,7 +277,7 @@ |
| 274 | 277 |
<input type="hidden" id="imgCnt" value="0" /> |
| 275 | 278 |
<input type="hidden" id="templateYn" name="templateYn" value="" /> |
| 276 | 279 |
<input type="hidden" id="templateYnAdvc" name="templateYnAdvc" value="" /> |
| 277 |
- <input type="hidden" id="smsTxt" name="smsTxt" value=""/><!-- 문자발송 문자 내용 --> |
|
| 280 |
+ <input type="hidden" id="smsTxtArea" name="smsTxtArea" value=""/><!-- 문자발송 문자 내용 --> |
|
| 278 | 281 |
<input type="hidden" id="myPrice" name="myPrice" value="<c:out value="${userMoney}"/>"/><!-- 보유 캐시금액 -->
|
| 279 | 282 |
<input type="hidden" id="txtReplYn" name="txtReplYn" value="N"/><!-- 변환문자 유무 --> |
| 280 | 283 |
<!-- <input type="hidden" id="shortMsgCnt" name="shortMsgCnt" value="0"/> --><!-- 단문 변환문자 건수 --> |
--- src/main/webapp/js/web/msgdata/msgDataView.js
+++ src/main/webapp/js/web/msgdata/msgDataView.js
... | ... | @@ -1229,8 +1229,6 @@ |
| 1229 | 1229 |
|
| 1230 | 1230 |
// JSON 데이터 확인 |
| 1231 | 1231 |
console.log("최종 formData:", JSON.stringify(formData));
|
| 1232 |
- // |
|
| 1233 |
- return false; |
|
| 1234 | 1232 |
|
| 1235 | 1233 |
var url = "/web/mjon/msgdata/sendMsgDataAjax_advc.do"; |
| 1236 | 1234 |
// 시작 시간 |
... | ... | @@ -1239,7 +1237,6 @@ |
| 1239 | 1237 |
|
| 1240 | 1238 |
// 프로그래스파 시간을 위한 계산 |
| 1241 | 1239 |
var estimtedTime = calculateEstimatedTime($selectedData.length); |
| 1242 |
- console.log('estimtedTime : ', estimtedTime);
|
|
| 1243 | 1240 |
|
| 1244 | 1241 |
|
| 1245 | 1242 |
$.ajax({
|
... | ... | @@ -1250,23 +1247,7 @@ |
| 1250 | 1247 |
dataType: 'json', |
| 1251 | 1248 |
success: function (data) {
|
| 1252 | 1249 |
|
| 1253 |
- // 요청 종료 시간 및 경과 시간 계산 |
|
| 1254 |
- /*const endTime = new Date(); |
|
| 1255 |
- const elapsed = (endTime - startTime) / 1000; // 밀리초 -> 초로 변환 |
|
| 1256 |
- console.log('AJAX 요청 성공, 경과 시간 : ', elapsed);
|
|
| 1257 |
- if (elapsed >= 60) {
|
|
| 1258 |
- const minutes = Math.floor(elapsed / 60); // 분 계산 |
|
| 1259 |
- const seconds = Math.floor(elapsed % 60); // 초 계산 |
|
| 1260 |
- console.log('AJAX 요청 성공, 경과 시간 : ' + minutes + '분 ' + seconds + '초');
|
|
| 1261 |
- } else {
|
|
| 1262 |
- console.log('AJAX 요청 성공, 경과 시간 : ' + elapsed + '초');
|
|
| 1263 |
- } |
|
| 1264 |
- */ |
|
| 1265 |
- |
|
| 1266 |
- |
|
| 1267 | 1250 |
console.log('data : ', data);
|
| 1268 |
- /* message:"특정문구 일괄변환 치환문자 데이터가 없습니다." |
|
| 1269 |
- status:"BAD_REQUEST" */ |
|
| 1270 | 1251 |
|
| 1271 | 1252 |
var status = data.status; |
| 1272 | 1253 |
if("OK" == status){
|
... | ... | @@ -1287,16 +1268,7 @@ |
| 1287 | 1268 |
|
| 1288 | 1269 |
var reserYn = $("input[name=reserYn]:checked").val();
|
| 1289 | 1270 |
var resText = (reserYn === 'Y') ? '예약' : '발송'; |
| 1290 |
- /* |
|
| 1291 |
- if(reserYn == 'Y') |
|
| 1292 |
- {
|
|
| 1293 |
- resText = "예약"; |
|
| 1294 |
- } |
|
| 1295 |
- else |
|
| 1296 |
- {
|
|
| 1297 |
- resText = "발송"; |
|
| 1298 |
- } |
|
| 1299 |
- */ |
|
| 1271 |
+ |
|
| 1300 | 1272 |
$('.pop_msg_success .msg_text').html(resText+" 성공 : <strong>"+ smsCnt + "</strong>건,수신거부 : <span>" + blockCnt + "</span>건의<br>문자가 "+resText+" 되었습니다.");
|
| 1301 | 1273 |
|
| 1302 | 1274 |
$('.mask').addClass('on');
|
... | ... | @@ -1327,18 +1299,12 @@ |
| 1327 | 1299 |
}, |
| 1328 | 1300 |
beforeSend : function(xmlHttpRequest) {
|
| 1329 | 1301 |
// 프로그래스 바 실행 |
| 1330 |
- // 프로그래스 바 실행 |
|
| 1331 | 1302 |
progressStart(estimtedTime); |
| 1332 |
- //로딩창 show |
|
| 1333 |
-// $('.loading_layer').addClass('active');
|
|
| 1334 | 1303 |
}, |
| 1335 | 1304 |
complete : function(xhr, textStatus) {
|
| 1336 | 1305 |
|
| 1337 | 1306 |
// 프로그래스 바 종료 |
| 1338 |
- // 프로그래스 바 종료 |
|
| 1339 | 1307 |
progressComplete();; |
| 1340 |
-// 로딩창 hide |
|
| 1341 |
-// $('.loading_layer').removeClass('active');
|
|
| 1342 | 1308 |
}, |
| 1343 | 1309 |
error: function (e) { alert("문자 발송에 실패하였습니다."); console.log("ERROR : ", e); }
|
| 1344 | 1310 |
}); |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?