문자발송 프록그래스바 적용 중
This commit is contained in:
parent
b9246aa6db
commit
9e50e999b2
@ -4226,48 +4226,16 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* // 1건 이상 발송이 있는 경우만 캐쉬를 차감 시킨다.
|
|
||||||
if (resultCnt > 0) {
|
|
||||||
|
|
||||||
int totSendCnt = mjonMsgVO.getTotalCallCnt();
|
|
||||||
Float eachPrice = Float.parseFloat(mjonMsgVO.getEachPrice());
|
|
||||||
Float totPrice = eachPrice * resultCnt;
|
|
||||||
String strTotPrice = String.format("%.1f", totPrice);
|
|
||||||
|
|
||||||
mjonMsgVO.setTotPrice(strTotPrice);// 현재 합산 금액 셋팅
|
|
||||||
mjonPayVO.setCashId(idgenMjonCashId.getNextStringId());
|
|
||||||
mjonPayVO.setUserId(mjonMsgVO.getUserId());
|
|
||||||
mjonPayVO.setCash(-Float.parseFloat(strTotPrice));
|
|
||||||
mjonPayVO.setFrstRegisterId(mjonMsgVO.getUserId());
|
|
||||||
mjonPayVO.setMemo("SMS 문자 총 " + totSendCnt + "건 중 " + resultCnt + "건 발송");
|
|
||||||
mjonPayVO.setMsgGroupId(mjonMsgVO.getMsgGroupId());
|
|
||||||
|
|
||||||
mjonPayService.insertCash(mjonPayVO); // 캐시차감
|
|
||||||
mjonPayService.updateMemberCash(mjonPayVO); // 회원정보 업데이트
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
|
|
||||||
// 강제로 IllegalArgumentException 발생시키기
|
|
||||||
// if (true) {
|
|
||||||
// throw new IllegalArgumentException("강제로 발생한 오류입니다.");
|
|
||||||
// }
|
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
//////////////////////////////////
|
//////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
// 발송 처리
|
|
||||||
// statusResponse = processMessageSending(mjonMsgVO, intiLists, statusResponse);
|
|
||||||
// } else {
|
|
||||||
// // 일반 문자 발송
|
|
||||||
// statusResponse = fncSendMsg(mjonMsgVO);
|
|
||||||
// }
|
|
||||||
statusResponse.setStatus(HttpStatus.OK);
|
statusResponse.setStatus(HttpStatus.OK);
|
||||||
statusResponse.setObject(returnMap);
|
statusResponse.setObject(returnMap);
|
||||||
return statusResponse;
|
return statusResponse;
|
||||||
|
|||||||
@ -1724,6 +1724,22 @@ function popScrCloseSetting(){
|
|||||||
//END
|
//END
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div class="progress_bar_wrap">
|
||||||
|
<div class="progress_box">
|
||||||
|
<p class="time_text">0%</p>
|
||||||
|
<div class="bar">
|
||||||
|
<span class="change_bar"></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="btn_wrap">
|
||||||
|
<!-- <button type="button" class="btnType btnType2" style="margin:50px 0;" onclick="progressStart(10,'완료되었습니다.');">시작</button>
|
||||||
|
<button type="button" class="btnType btnType2" style="margin:50px 0;" onclick="progressComplete('완료되었습니다.');return false;">멈춤</button> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="tooltip-wrap">
|
<div class="tooltip-wrap">
|
||||||
<!-- 문자발송 성공 레이어팝업 -->
|
<!-- 문자발송 성공 레이어팝업 -->
|
||||||
<div class="popup-com pop_msg_success">
|
<div class="popup-com pop_msg_success">
|
||||||
|
|||||||
@ -1581,10 +1581,78 @@ function fn_excelLoadRemoveActive(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// 프로그레스바
|
// 프로그레스바
|
||||||
var start, change;
|
var start, change;
|
||||||
|
let progressInterval = null; // 전역 변수로 타이머 ID 관리
|
||||||
|
|
||||||
|
function progressStart(time) {
|
||||||
|
// 기존 타이머 정지 및 초기화
|
||||||
|
if (progressInterval !== null) {
|
||||||
|
clearInterval(progressInterval); // 이전 타이머 정지
|
||||||
|
progressInterval = null; // 타이머 ID 초기화
|
||||||
|
}
|
||||||
|
resetProgressBar(); // 프로그레스바 초기화
|
||||||
|
|
||||||
|
// 프로그레스바 보이기
|
||||||
|
$(".progress_bar_wrap").css("display", "flex");
|
||||||
|
|
||||||
|
// 프로그레스바 요소 가져오기
|
||||||
|
var timeText = document.querySelector(".time_text");
|
||||||
|
var bar = document.querySelector(".change_bar");
|
||||||
|
|
||||||
|
// 초기 상태 설정
|
||||||
|
var width = 1;
|
||||||
|
var totalTime = time * 1000; // 총 실행 시간 (밀리초)
|
||||||
|
var cmpWid = totalTime / 100; // width 증가 간격 (밀리초)
|
||||||
|
|
||||||
|
// 새 타이머 시작
|
||||||
|
progressInterval = setInterval(changeWidth, cmpWid);
|
||||||
|
|
||||||
|
function changeWidth() {
|
||||||
|
if (width >= 100) {
|
||||||
|
// 프로그레스바 100% 도달
|
||||||
|
clearInterval(progressInterval); // 타이머 종료
|
||||||
|
progressInterval = null; // 타이머 ID 초기화
|
||||||
|
|
||||||
|
timeText.innerHTML = "100%";
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
// 100% 표시 후 "잠시만 기다려주세요" 변경
|
||||||
|
timeText.innerHTML = "잠시만 기다려주세요...";
|
||||||
|
$(".time_text").addClass("animation");
|
||||||
|
}, 1000);
|
||||||
|
} else {
|
||||||
|
// 프로그레스바 진행
|
||||||
|
width++;
|
||||||
|
bar.style.width = width + "%";
|
||||||
|
timeText.innerHTML = width + "%";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 프로그레스바 초기화 함수
|
||||||
|
function resetProgressBar() {
|
||||||
|
$(".time_text").text("0%");
|
||||||
|
$(".change_bar").css("width", "0%");
|
||||||
|
$(".time_text").removeClass("animation");
|
||||||
|
$(".progress_bar_wrap").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
function progressStart(time) {
|
||||||
|
|
||||||
|
// 초기셋팅
|
||||||
|
$(".time_text").text("0%");
|
||||||
|
$(".change_bar").css("width", "0");
|
||||||
|
$(".time_text").removeClass("animation");
|
||||||
|
|
||||||
function progressStart(time, msg) {
|
|
||||||
$(".progress_bar_wrap").css("display", "flex");
|
$(".progress_bar_wrap").css("display", "flex");
|
||||||
|
|
||||||
var timeText = document.querySelector(".time_text");
|
var timeText = document.querySelector(".time_text");
|
||||||
@ -1608,10 +1676,6 @@ function progressStart(time, msg) {
|
|||||||
$(".time_text").addClass("animation");
|
$(".time_text").addClass("animation");
|
||||||
}, 1000)
|
}, 1000)
|
||||||
|
|
||||||
// 메시지 있을 때 alert 띄움
|
|
||||||
if (msg !== "" && msg !== undefined && msg !== null) {
|
|
||||||
alert(msg);
|
|
||||||
} else {}
|
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
// width 증가 및 text 변경
|
// width 증가 및 text 변경
|
||||||
@ -1620,30 +1684,74 @@ function progressStart(time, msg) {
|
|||||||
timeText.innerHTML = width + "%";
|
timeText.innerHTML = width + "%";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}*/
|
||||||
|
|
||||||
// 프로그레스바 완료
|
// 프로그레스바 완료
|
||||||
function progressComplete(msg,time,backtime) {
|
function progressComplete() {
|
||||||
|
// var width = parseInt($(".time_text").text().replace('%', '')) || 0; // 현재 width 가져오기
|
||||||
|
|
||||||
|
var widthText = $(".change_bar").attr("style");
|
||||||
|
var width = widthText.replace(/[width:%;overfloen]/ig, ""); // width 값 퍼센트로 가져오기
|
||||||
|
var currentText = $(".time_text").text().trim(); // 현재 텍스트 가져오기
|
||||||
|
console.log('width : ', width, 'currentText : ', currentText);
|
||||||
|
|
||||||
|
// 이미 "100%" 상태이고 "잠시만 기다려주세요" 메시지가 표시된 경우 즉시 종료
|
||||||
|
if (width >= 100 && currentText === "잠시만 기다려주세요...") {
|
||||||
|
console.log("이미 완료 상태입니다. 즉시 종료합니다.");
|
||||||
|
$(".progress_bar_wrap").hide();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 진행 중인 경우
|
||||||
|
change = setInterval(() => {
|
||||||
|
if (width >= 100) {
|
||||||
|
console.log('width : ', width);
|
||||||
|
$(".time_text").text("100%");
|
||||||
|
$(".change_bar").css("width", "100%");
|
||||||
|
|
||||||
|
setTimeout(function () {
|
||||||
|
clearInterval(change); // 인터벌 종료
|
||||||
|
|
||||||
|
setTimeout(() => {
|
||||||
|
// $(".time_text").text("잠시만 기다려주세요...");
|
||||||
|
// $(".time_text").addClass("animation");
|
||||||
|
$(".progress_bar_wrap").hide();
|
||||||
|
}, 10); // "잠시만 기다려주세요..." 1초 후 숨기기
|
||||||
|
}, 1000); // "100%" 표시 후 1초 대기
|
||||||
|
|
||||||
|
} else {
|
||||||
|
// width 증가 및 text 변경
|
||||||
|
width++;
|
||||||
|
$(".time_text").text(width + "%");
|
||||||
|
$(".change_bar").css("width", width + "%");
|
||||||
|
}
|
||||||
|
}, 10); // DOM 업데이트 간격 (10ms)
|
||||||
|
}
|
||||||
|
|
||||||
|
/*// 프로그레스바 완료
|
||||||
|
function progressComplete() {
|
||||||
|
|
||||||
change = setInterval(changeText);
|
change = setInterval(changeText);
|
||||||
var width = 1;
|
var width = 1;
|
||||||
|
|
||||||
function changeText() {
|
function changeText() {
|
||||||
|
|
||||||
var widthText = $(".change_bar").attr("style");
|
// var widthText = $(".change_bar").attr("style");
|
||||||
widthText = widthText.replace(/[width:%;overfloen]/ig, ""); // width 값 퍼센트로 가져오기
|
// widthText = widthText.replace(/[width:%;overfloen]/ig, ""); // width 값 퍼센트로 가져오기
|
||||||
|
|
||||||
if (width >= 100) {
|
if (width >= 100) {
|
||||||
|
console.log('width : ', width);
|
||||||
$(".time_text").text("100%");
|
$(".time_text").text("100%");
|
||||||
|
|
||||||
if(backtime>=time){
|
// if(backtime>=time){
|
||||||
// 예상시간보다 먼저 처리됐을 경우
|
// 예상시간보다 먼저 처리됐을 경우
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
$(".time_text").text("잠시만 기다려주세요...");
|
$(".time_text").text("잠시만 기다려주세요...");
|
||||||
$(".time_text").addClass("animation");
|
$(".time_text").addClass("animation");
|
||||||
}, 10)
|
}, 1000)
|
||||||
}else{}
|
// }else{}
|
||||||
|
|
||||||
|
$(".progress_bar_wrap").hide();
|
||||||
|
|
||||||
setTimeout(function () {
|
setTimeout(function () {
|
||||||
clearInterval(change);
|
clearInterval(change);
|
||||||
@ -1656,15 +1764,7 @@ function progressComplete(msg,time,backtime) {
|
|||||||
$(".change_bar").css("width", width + "%");
|
$(".change_bar").css("width", width + "%");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
clearInterval(start); // 프로그레스바 시작 멈추기
|
clearInterval(start); // 프로그레스바 시작 멈추기
|
||||||
|
|
||||||
// 메시지 있을 때 alert 띄움
|
|
||||||
if (msg !== "" && msg !== undefined && msg !== null) {
|
|
||||||
setTimeout(function () {
|
|
||||||
alert(msg);
|
|
||||||
}, 0)
|
|
||||||
} else {}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}*/
|
||||||
|
|||||||
@ -30,10 +30,6 @@
|
|||||||
|
|
||||||
function fn_test() {
|
function fn_test() {
|
||||||
|
|
||||||
// 초기셋팅
|
|
||||||
$(".time_text").text("0%");
|
|
||||||
$(".change_bar").css("width", "0");
|
|
||||||
$(".time_text").removeClass("animation");
|
|
||||||
|
|
||||||
var url = "/web/mjon/test/ajaxTest.do";
|
var url = "/web/mjon/test/ajaxTest.do";
|
||||||
|
|
||||||
@ -63,7 +59,7 @@
|
|||||||
if (data.status == 'OK') {
|
if (data.status == 'OK') {
|
||||||
// 성공 시 프로그레스바 100% 로 변경
|
// 성공 시 프로그레스바 100% 로 변경
|
||||||
// 예상 성공시간 = time, 백단 성공시간 == params.sleep
|
// 예상 성공시간 = time, 백단 성공시간 == params.sleep
|
||||||
progressComplete(data.message,time,params.sleep);
|
progressComplete(time);
|
||||||
} else if (data.status == 'BAD_REQUEST') {
|
} else if (data.status == 'BAD_REQUEST') {
|
||||||
// 실패시 alert 띄우고 닫기.
|
// 실패시 alert 띄우고 닫기.
|
||||||
alert(params.f_msg);
|
alert(params.f_msg);
|
||||||
@ -143,11 +139,6 @@
|
|||||||
<span class="change_bar"></span>
|
<span class="change_bar"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="btn_wrap">
|
|
||||||
<!-- <button type="button" class="btnType btnType2" style="margin:50px 0;" onclick="progressStart(10,'완료되었습니다.');">시작</button>
|
|
||||||
<button type="button" class="btnType btnType2" style="margin:50px 0;" onclick="progressComplete('완료되었습니다.');return false;">멈춤</button> -->
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- skip 메뉴 -->
|
<!-- skip 메뉴 -->
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user