친구톡 요금 계산 및 발송시간 제한 처리
This commit is contained in:
parent
c273f1268a
commit
9a9977af1a
@ -171,6 +171,10 @@ public class KakaoSendUtil {
|
||||
if(mberManageVO.getKakaoAtPrice() == 0.0f)
|
||||
mberManageVO.setKakaoAtPrice(sysJoinSetVO.getKakaoAtPrice());
|
||||
|
||||
//카카오 친구톡 개인 단가가 없는 경우 시스템 단가로
|
||||
if(mberManageVO.getKakaoFtPrice() == 0.0f)
|
||||
mberManageVO.setKakaoFtPrice(sysJoinSetVO.getKakaoFtPrice());
|
||||
|
||||
|
||||
// SMS 인경우
|
||||
// 사용자 개인 단가가 없으면 시스템 단가로
|
||||
|
||||
@ -146,7 +146,7 @@ public class KakaoFriendsTalkSendController {
|
||||
String friendId = kakaoVO.getFriendId();
|
||||
KakaoVO resultTemplateVO = new KakaoVO();
|
||||
|
||||
if(!friendId.equals("") || friendId != null) {
|
||||
if(friendId != null) {
|
||||
|
||||
System.out.println("+++++++++++++++++++++++ friendId ::: "+friendId);
|
||||
|
||||
@ -155,6 +155,41 @@ public class KakaoFriendsTalkSendController {
|
||||
}
|
||||
|
||||
model.addAttribute("resultTemplateVO", resultTemplateVO);
|
||||
|
||||
|
||||
//친구톡 발송시간 체크 하기 - 20:50 ~ 익일 08:00 사이에는 발송 금지
|
||||
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
Date nows = new Date();
|
||||
String nowDate = sdf1.format(nows);
|
||||
cal.setTime(nows);
|
||||
|
||||
int hours = cal.get(Calendar.HOUR_OF_DAY);
|
||||
int minuts = cal.get(Calendar.MINUTE);
|
||||
|
||||
boolean sendStatus = true;
|
||||
|
||||
if(hours >= 20) {
|
||||
|
||||
if(minuts >= 50) {
|
||||
|
||||
System.out.println("발송금지 시간" + hours + ":" + minuts);
|
||||
sendStatus = false;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(hours < 8) {
|
||||
|
||||
System.out.println("발송금지 시간" + hours + ":" + minuts);
|
||||
sendStatus = false;
|
||||
|
||||
}
|
||||
|
||||
System.out.println("발송상태는 ::: "+sendStatus);
|
||||
model.addAttribute("sendStatus", sendStatus);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -36,6 +36,7 @@ public class JoinSettingVO {
|
||||
private float customEdit3Price; // 이미지 편집(첨부이미지 3장이하)
|
||||
private float customTextPrice; // 텍스트 단순수정
|
||||
private float kakaoAtPrice; // 카카오 알림톡 단가
|
||||
private float kakaoFtPrice; // 카카오 친구톡 단가
|
||||
private float faxPrice; // 팩스 단가
|
||||
|
||||
private float refundPer; //환불 비율
|
||||
@ -209,6 +210,14 @@ public class JoinSettingVO {
|
||||
this.kakaoAtPrice = kakaoAtPrice;
|
||||
}
|
||||
|
||||
public float getKakaoFtPrice() {
|
||||
return kakaoFtPrice;
|
||||
}
|
||||
|
||||
public void setKakaoFtPrice(float kakaoFtPrice) {
|
||||
this.kakaoFtPrice = kakaoFtPrice;
|
||||
}
|
||||
|
||||
public float getFaxPrice() {
|
||||
return faxPrice;
|
||||
}
|
||||
|
||||
@ -2104,6 +2104,7 @@
|
||||
, CUSTOM_TEXT_PRICE AS customTextPrice
|
||||
, POINT_PER AS pointPer
|
||||
, KAKAO_AT_PRICE AS kakaoAtPrice
|
||||
, KAKAO_FT_PRICE AS kakaoFtPrice
|
||||
, FAX_PRICE AS faxPrice
|
||||
FROM MJ_MBER_SETTING
|
||||
|
||||
@ -2120,6 +2121,7 @@
|
||||
, PICTURE2_PRICE AS picture2Price
|
||||
, PICTURE3_PRICE AS picture3Price
|
||||
, KAKAO_AT_PRICE AS kakaoAtPrice
|
||||
, KAKAO_FT_PRICE AS kakaoFtPrice
|
||||
, FAX_PRICE AS faxPrice
|
||||
, USER_MONEY AS userMoney
|
||||
, USER_POINT AS userPoint
|
||||
|
||||
@ -94,7 +94,9 @@ function usrDeptChk(){
|
||||
</script>
|
||||
<ul class="tabType4">
|
||||
<li id="tabAt" class="tab topTab"><button type="button" onclick="javascript:fnLinkPageTopTab('tabAlim');">알림톡</button></li>
|
||||
<c:if test="${loginVO.id eq 'rosewiper'}">
|
||||
<c:if test="${fn:contains(pageContext.request.requestURL , 'localhost')
|
||||
|| fn:contains(pageContext.request.requestURL , '192.168.0.33')
|
||||
|| fn:contains(pageContext.request.requestURL , '119.193.215.98')}">
|
||||
<li id="tabFt" class="tab topTab"><button type="button" onclick="javascript:fnLinkPageTopTab('tabFriend');">친구톡</button></li>
|
||||
</c:if>
|
||||
<li id="tabConf" class="tab topTab"><button type="button" onclick="javascript:fnLinkPageTopTab('tabConf');">카카오톡 설정</button></li>
|
||||
|
||||
@ -2,12 +2,15 @@
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
|
||||
<script src="/js/kakao/templateComm.js"></script>
|
||||
|
||||
<script type="text/javascript" src="<c:out value='/js/MJUtill.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/ft/ftPriceClclt.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/ft/ftTabulator.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/txtSpecialReplace.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/at/addr.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/common/popup.js' />"></script>
|
||||
<script type="text/javascript" src="<c:out value='/js/kakao/ft/friendstalkExcel.js' />"></script>
|
||||
@ -42,6 +45,14 @@ $(document).ready(function (){
|
||||
$('#bizForm #reserveYn').val($(this).val());
|
||||
});
|
||||
|
||||
//예약 발송 라디오 버튼 선택시 숨김 해제처리
|
||||
$("#reserYnY").on('click', function(){
|
||||
$('.rev_selected').show();
|
||||
$('.send_rev .send_content').css('padding-bottom','0');
|
||||
$('.send_btn .btnType:first-child').html('예약하기');
|
||||
$('#bizForm #reserveYn').val($(this).val());
|
||||
});
|
||||
|
||||
//템플릿 내용 입력 글자수 체크 해주기
|
||||
$("#inputTemplateContent").keyup(function(e){
|
||||
|
||||
@ -68,7 +79,6 @@ $(document).ready(function (){
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
});
|
||||
|
||||
@ -125,6 +135,16 @@ function initFormChk(){
|
||||
var adFlagVal = $("input[name=ad_flag]:checked").val();
|
||||
advTextChange(adFlagVal);
|
||||
|
||||
var reserYn = $("input[name=reserYn]:checked").val();
|
||||
if(reserYn == 'N'){
|
||||
|
||||
$('.rev_selected').hide();
|
||||
$('.send_rev .send_content').css('padding-bottom','108px');
|
||||
$('.send_btn .btnType:first-child').html('발송하기');
|
||||
$('#bizForm #reserveYn').val('N');
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//우측 미리보기 화면 채널 아이디 정보 변경해 주기
|
||||
@ -430,9 +450,6 @@ function fnContentsReset(){
|
||||
//저장 템플릿 불러오기 선택시
|
||||
function myTemplateSelect(ftId){
|
||||
|
||||
//alert(ftId);
|
||||
console.log(ftId);
|
||||
|
||||
var form = document.templateForm;
|
||||
|
||||
form.friendId.value = ftId;
|
||||
@ -618,6 +635,48 @@ function fnEmptyId(){
|
||||
|
||||
}
|
||||
|
||||
//분할전송 건수 데이터 체크
|
||||
function checkNumber(event) {
|
||||
var divideCnt = $('#frmDivideCnt').val();
|
||||
if(!(event.key >= 0 && event.key <= 9)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var totCnt = divideCnt + "" + event.key;
|
||||
if(Number(totCnt) > 5000){
|
||||
alert("분할전송 건수는 5,000건을 초과할 수 없습니다.");
|
||||
$('#frmDivideCnt').val("20");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function fnSelectMinChk(){
|
||||
|
||||
var resHour = $("#msgResHour option:selected").val();
|
||||
var resMin = $("#msgResMin option:selected").val();
|
||||
|
||||
if(resHour == '20'){
|
||||
|
||||
if(resMin >= 50 && resMin <= 59){
|
||||
|
||||
alert("친구톡은 20:50 ~ 익일 08:00까지 발송할 수 없습니다.");
|
||||
$("#msgResMin").val("40").prop("selected", true);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function fn_noTimeSend(){
|
||||
|
||||
alert("친구톡은 20:50 ~ 익일 08:00까지 발송할 수 없습니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<!-- 로딩바 -->
|
||||
@ -640,12 +699,12 @@ function fnEmptyId(){
|
||||
</div>
|
||||
|
||||
<!-- 유저 보유잔액 -->
|
||||
<input type="hidden" id="oriUserMoney" value="<c:out value='${userMoney }' />">
|
||||
<input type="hidden" id="oriUserMoney" value="<c:out value='${userMoney}' />">
|
||||
|
||||
<!-- 각 금액 단가 -->
|
||||
<input type="hidden" id="kakaoAtPrice" value="<c:out value='${sendPrice.kakaoAtPrice }' />"> <!-- 알림톡 단가 -->
|
||||
<input type="hidden" id="longPrice" value="<c:out value='${sendPrice.longPrice }' />"> <!-- mms 단가 -->
|
||||
<input type="hidden" id="shortPrice" value="<c:out value='${sendPrice.shortPrice }' />"> <!-- sms 단가 -->
|
||||
<input type="hidden" id="kakaoFtPrice" value="<c:out value='${sendPrice.kakaoFtPrice}' />"> <!-- 친구톡 단가 -->
|
||||
<input type="hidden" id="longPrice" value="<c:out value='${sendPrice.longPrice}' />"> <!-- mms 단가 -->
|
||||
<input type="hidden" id="shortPrice" value="<c:out value='${sendPrice.shortPrice}' />"> <!-- sms 단가 -->
|
||||
|
||||
<form id="bizForm" name="bizForm" method="multipart/form-data">
|
||||
<input type="hidden" id="menuTopTab" name="menuTopTab" value="tabFriend">
|
||||
@ -658,6 +717,11 @@ function fnEmptyId(){
|
||||
<input type="hidden" id="adFlag" name="adFlag" value=""/>
|
||||
<input type="hidden" id="templateContent" name="templateContent" value=""/>
|
||||
|
||||
<!-- 예약발송 여부 -->
|
||||
<input type="hidden" id="reserveYn" name="reserveYn" value="N"/>
|
||||
<!-- 변환문자 유무 -->
|
||||
<input type="hidden" id="txtReplYn" name="txtReplYn" value="N"/>
|
||||
|
||||
<div class="send_general friend_talk_wrap kakao_wrap">
|
||||
<div class="send_left">
|
||||
<table class="tType1">
|
||||
@ -1087,18 +1151,18 @@ function fnEmptyId(){
|
||||
<button type="button" data-tooltip="popup03" class="btnType btnType7 tab2">자주보내는 번호</button>
|
||||
</div>
|
||||
<div class="btn_popup_wrap check_validity_wrap">
|
||||
<button type="button" class="btnType btnType7">오류 검사<i class="qmMark error_qm"></i></button>
|
||||
<button type="button" class="btnType btnType7 check_validity">오류 검사<i class="qmMark error_qm"></i></button>
|
||||
<div class="error_hover_cont send_hover_cont">
|
||||
<p>등록하신 전화번호(형식 등)가 정확하게 입력되었는지 오류여부를 자동으로 검사할 수 있습니다.</p>
|
||||
<span>(예시) 010-1234-0001(O),<br> 010-123-0001(X)</span>
|
||||
<p>휴대폰 번호 입력 시 해당 휴대폰 번호에 대한 형식이 어긋나거나 휴대폰 번호에 오류가 있는지 등을 검사하는 기능</p>
|
||||
<span>(예시) 010-1234-0001(O) / 010-12345-0001(X)</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="list_bottom clearfix">
|
||||
<div class="remove_btnWrap">
|
||||
<button type="button" class="btnType15" id="all_del"><i class="remove_img"></i>전체삭제</button>
|
||||
<button type="button" class="btnType15" id="select_del"><i class="remove_img"></i>선택삭제</button>
|
||||
<button type="button" class="btnType15 all_del"><i class="remove_img"></i>전체삭제</button>
|
||||
<button type="button" class="btnType15 select_del"><i class="remove_img"></i>선택삭제</button>
|
||||
</div>
|
||||
<div class="list_bottom_right">
|
||||
<p>총 <span class="c_e40000" id="rowTotCnt">0</span>건 / 중복 <span class="c_002c9a" id="rowDupCnt">0</span>건</p>
|
||||
@ -1127,7 +1191,8 @@ function fnEmptyId(){
|
||||
<input type="radio" id="radio_bill_1" name="radio_bill" checked="checked">
|
||||
<label for="radio_bill_1">보유잔액</label>
|
||||
<label for="userMoney" class="label">보유잔액</label>
|
||||
<input type="text" id="userMoney" name="userMoney" value="0" readonly="">
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${sendPrice.userMoney}" var="commaPrice" />
|
||||
<input type="text" id="userMoney" name="userMoney" value="<c:out value='${commaPrice}'/>" readonly="">
|
||||
<span class="won">원</span>
|
||||
<button type="button" class="btnType btnType21" onclick="location.href='/web/member/pay/PayView.do'">충전</button>
|
||||
</div>
|
||||
@ -1205,7 +1270,7 @@ function fnEmptyId(){
|
||||
</table>
|
||||
</div>
|
||||
<div class="send_right">
|
||||
<div class="phone">
|
||||
<div class="phone" style="top: 201px;">
|
||||
<div class="phoneIn">
|
||||
<p class="prev_p">
|
||||
<img src="/publish/images/content/kakao_prev_icon.png" alt="">
|
||||
@ -1248,11 +1313,19 @@ function fnEmptyId(){
|
||||
</ul>
|
||||
</div>
|
||||
<div class="send_btn">
|
||||
<button type="button" class="btnType btnType11" onclick="javascript:fn_sendMsgData(); return false;">발송하기</button>
|
||||
<%-- 친구톡 발송시간 체크 하기 - 20:50 ~ 익일 08:00 사이에는 발송 금지 --%>
|
||||
<c:choose>
|
||||
<c:when test="${sendStatus eq 'true'}">
|
||||
<button type="button" class="btnType btnType11" onclick="javascript:fn_sendMsgData(); return false;">발송하기</button>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<button type="button" class="btnType btnType11" onclick="javascript:fn_noTimeSend(); return false;">발송하기</button>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
<button type="button" class="btnType btnType10" onclick="javascript:fnTestSend(); return false;">테스트발송</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_selected">
|
||||
<div class="rev_selected" >
|
||||
<div class="rev_top">
|
||||
<span>날짜 :</span>
|
||||
<div class="calendar_wrap">
|
||||
@ -1261,7 +1334,7 @@ function fnEmptyId(){
|
||||
<div class="selBox">
|
||||
<label for="msgResHour" class="label">시 선택</label>
|
||||
<select class="selType1" id="msgResHour" name="msgResHour">
|
||||
<c:forEach var="hour" begin="0" end="23" step="1" varStatus="status">
|
||||
<c:forEach var="hour" begin="8" end="20" step="1" varStatus="status">
|
||||
<c:choose>
|
||||
<c:when test="${hour < 10}">
|
||||
<option value="0${hour}">0${hour}시</option>
|
||||
@ -1273,8 +1346,8 @@ function fnEmptyId(){
|
||||
</c:forEach>
|
||||
</select>
|
||||
<label for="msgResMin" class="label">분 선택</label>
|
||||
<select class="selType1" id="msgResMin" name="msgResMin">
|
||||
<c:forEach var="min" begin="0" end="55" step="5">
|
||||
<select class="selType1" id="msgResMin" name="msgResMin" onChange="fnSelectMinChk();">
|
||||
<c:forEach var="min" begin="0" end="59" step="1">
|
||||
<c:choose>
|
||||
<c:when test="${min < 10}">
|
||||
<option value="0${min}">0${min}분</option>
|
||||
@ -1287,15 +1360,10 @@ function fnEmptyId(){
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="rev_bottom">
|
||||
<%-- <div class="rev_bottom">
|
||||
<input type="checkbox" id="inputDivideChk" name="inputDivideChk">
|
||||
<label for="inputDivideChk">분할전송</label>
|
||||
<select class="selType1" id="divideCnt" name="divideCnt">
|
||||
<option value="2">2</option>
|
||||
<option value="10">10</option>
|
||||
<option value="20">20</option>
|
||||
<option value="30">30</option>
|
||||
</select>
|
||||
<input type="text" class="dividType1" id="frmDivideCnt" name="frmDivideCnt" value="20" onkeypress='return checkNumber(event)' maxlength="4"/>
|
||||
<label for="divideCnt">건</label>
|
||||
<select class="selType1" id="divideTime" name="divideTime">
|
||||
<option value="5">05분</option>
|
||||
@ -1305,7 +1373,7 @@ function fnEmptyId(){
|
||||
<option value="30">30분</option>
|
||||
</select>
|
||||
<label for="divideTime">간격</label>
|
||||
</div>
|
||||
</div> --%>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -100,7 +100,7 @@ function excelExport(event){
|
||||
if(checkHpNum(item.phone)){
|
||||
|
||||
excelAddr.push({phone: item.phone, name: item.name, rep1: item.replace1, rep2: item.replace2, rep3: item.replace3, rep4: item.replace4});
|
||||
console.log(item.phone);
|
||||
|
||||
}/* else{
|
||||
|
||||
alert("엑셀 파일 데이터의 형식이 맞지 않는 부분이 있습니다.");
|
||||
|
||||
@ -185,15 +185,6 @@ $(document).ready(function (){
|
||||
//연락처 추가해 주기
|
||||
addPhoneInfo(tabledata);
|
||||
|
||||
//tableL.addData(tabledata);
|
||||
|
||||
//전체 데이터 갯수 구하기
|
||||
//totRows = tableL.getRows().length;
|
||||
//updateTotCnt(totRows);
|
||||
|
||||
//결제 금액 구하기
|
||||
totalPriceSum(totRows);
|
||||
|
||||
$('#callTo').val("");
|
||||
|
||||
}
|
||||
@ -217,13 +208,67 @@ $(document).ready(function (){
|
||||
tableL.clearData();
|
||||
$("#rowTotCnt").text(0); //총건수 수정
|
||||
$("#rowDupCnt").text(0); //중복건수 수정
|
||||
totalPriceSum(0); //결제 금액 수정
|
||||
totalFtPriceSum(0); //결제 금액 수정
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
// 받는사람 선택삭제 버튼 처리해주기
|
||||
$('.select_del').click(function(){
|
||||
|
||||
if(tableL == null || tableL == ""){
|
||||
|
||||
alert("받는사람을 추가해 주세요.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
var selectedData = tableL.getSelectedRows();
|
||||
|
||||
if(selectedData == "" || selectedData == null){
|
||||
|
||||
alert("삭제할 연락처를 선택해주세요.");
|
||||
return false;
|
||||
|
||||
}else{ // 선택한 Row 데이터 삭제하기
|
||||
|
||||
if(confirm("선택하신 받는 사람을 삭제하시겠습니까?")){
|
||||
|
||||
for(var i=0; i < selectedData.length; i++){
|
||||
|
||||
selectedData[i].delete();
|
||||
|
||||
}
|
||||
|
||||
totRows = tableL.getRows().length;
|
||||
|
||||
var smsTxtArea = $('#inputTemplateContent').val();
|
||||
|
||||
//일괄변환 문구 결제금액 처리
|
||||
if(smsTxtArea.indexOf("#{이름}") > -1
|
||||
|| smsTxtArea.indexOf("#{1}") > -1
|
||||
|| smsTxtArea.indexOf("#{2}") > -1
|
||||
|| smsTxtArea.indexOf("#{3}") > -1
|
||||
|| smsTxtArea.indexOf("#{4}") > -1){
|
||||
|
||||
fnFtReplCell();
|
||||
|
||||
}else{
|
||||
//결제 금액 구하기
|
||||
totalFtPriceSum(totRows);
|
||||
}
|
||||
|
||||
//결제금액 합계 파라이터에 입력
|
||||
$('#rowTotCnt').text(numberWithCommas(totRows));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
//주소록 불러오기 버튼 클릭시
|
||||
@ -510,25 +555,28 @@ function addPhoneInfo(data){
|
||||
_fileIdx = 0; //form file idx 초기화
|
||||
|
||||
totRows = tableL.getRows().length;
|
||||
updateTotCnt(totRows); //전체 데이터 갯수 구하기
|
||||
|
||||
var smsTxtArea = $('#smsTxtArea').val();
|
||||
var smsTxtArea = $('#inputTemplateContent').val();
|
||||
|
||||
//일괄변환 문구 결제금액 처리
|
||||
if(smsTxtArea.indexOf("[*이름*]") > -1
|
||||
|| smsTxtArea.indexOf("[*1*]") > -1
|
||||
|| smsTxtArea.indexOf("[*2*]") > -1
|
||||
|| smsTxtArea.indexOf("[*3*]") > -1
|
||||
|| smsTxtArea.indexOf("[*4*]") > -1){
|
||||
|
||||
fnReplCell();
|
||||
if(smsTxtArea.indexOf("#{이름}") > -1
|
||||
|| smsTxtArea.indexOf("#{1}") > -1
|
||||
|| smsTxtArea.indexOf("#{2}") > -1
|
||||
|| smsTxtArea.indexOf("#{3}") > -1
|
||||
|| smsTxtArea.indexOf("#{4}") > -1){
|
||||
|
||||
fnFtReplCell();
|
||||
|
||||
}else{
|
||||
|
||||
//결제 금액 구하기
|
||||
totalPriceSum(totRows);
|
||||
totalFtPriceSum(totRows);
|
||||
|
||||
}
|
||||
|
||||
//결제금액 합계 파라이터에 입력
|
||||
$('#rowTotCnt').text(numberWithCommas(totRows));
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@ -569,3 +617,212 @@ function addrToList(){
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//특정문구 일괄변환 문자길이 체크 하기
|
||||
function fnFtReplCell(){
|
||||
|
||||
var smsTxtArea = $('#inputTemplateContent').val();
|
||||
|
||||
//이벤트 잔여 캐시 자동 처리 관련 변수
|
||||
var eachPrice = parseFloat($("#eachPrice").val());
|
||||
var kakaoFtPrice = parseFloat($("#kakaoFtPrice").val());
|
||||
var shortPrice = parseFloat($("#shortPrice").val());
|
||||
var longPrice = parseFloat($("#longPrice").val());
|
||||
|
||||
if(smsTxtArea.indexOf("#{이름}") > -1
|
||||
|| smsTxtArea.indexOf("#{1}") > -1
|
||||
|| smsTxtArea.indexOf("#{2}") > -1
|
||||
|| smsTxtArea.indexOf("#{3}") > -1
|
||||
|| smsTxtArea.indexOf("#{4}") > -1){
|
||||
|
||||
|
||||
var rowData = tableL.getRows();
|
||||
var recTableData = tableL.getRows(); // 받는사람 리스트의 전체 목록을 저장
|
||||
//var tableData = [];
|
||||
|
||||
var msg_short = 0; //단문문자 갯수
|
||||
var msg_long = 0; //장문문자 갯수
|
||||
|
||||
//일괄변환문자 포함 여부 변경 - 문자내용에 치환변환 문자는 있지만 받는사람 데이터에 치환 데이터를 안넣는 경우 오류가 발생하여 상태값 입력 위치 상단으로 변경함.
|
||||
//치환데이터가 없는 경우 Alert 띄우고 빠져나가기 때문에 치환문자 상태 체크값이 누락되어서 변경함 - 20230407 우영두
|
||||
$('#txtReplYn').val("Y");
|
||||
|
||||
var nmStatus = false;
|
||||
var rep1Status = false;
|
||||
var rep2Status = false;
|
||||
var rep3Status = false;
|
||||
var rep4Status = false;
|
||||
|
||||
if(smsTxtArea.indexOf("#{이름}") > -1){
|
||||
|
||||
nmStatus = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("#{1}") > -1){
|
||||
|
||||
rep1Status = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("#{2}") > -1){
|
||||
|
||||
rep2Status = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("#{3}") > -1){
|
||||
|
||||
rep3Status = true;
|
||||
}
|
||||
|
||||
if(smsTxtArea.indexOf("#{4}") > -1){
|
||||
|
||||
rep4Status = true;
|
||||
}
|
||||
|
||||
|
||||
//기존 받는사람 리스트를 배열에 미리 담아둔다.
|
||||
if(recTableData.length > 0){
|
||||
|
||||
for(var j=0; j < recTableData.length; j++){
|
||||
|
||||
var smsTxt = smsTxtArea;
|
||||
|
||||
if(typeof recTableData[j].getData().name != 'undefined' && recTableData[j].getData().name != null && recTableData[j].getData().name != ""){
|
||||
|
||||
var name = recTableData[j].getData().name;
|
||||
smsTxt = stringReplaceAll(smsTxt, "#{이름}", name);
|
||||
|
||||
}
|
||||
|
||||
if(typeof recTableData[j].getData().rep1 != 'undefined' && recTableData[j].getData().rep1 != null && recTableData[j].getData().rep1 != ""){
|
||||
|
||||
var rep1 = recTableData[j].getData().rep1;
|
||||
smsTxt = stringReplaceAll(smsTxt, "#{1}", rep1);
|
||||
|
||||
}
|
||||
|
||||
if(typeof recTableData[j].getData().rep2 != 'undefined' && recTableData[j].getData().rep2 != null && recTableData[j].getData().rep2 != ""){
|
||||
|
||||
var rep2 = recTableData[j].getData().rep2;
|
||||
smsTxt = stringReplaceAll(smsTxt, "#{2}", rep2);
|
||||
|
||||
}
|
||||
|
||||
if(typeof recTableData[j].getData().rep3 != 'undefined' && recTableData[j].getData().rep3 != null && recTableData[j].getData().rep3 != ""){
|
||||
|
||||
var rep3 = recTableData[j].getData().rep3;
|
||||
smsTxt = stringReplaceAll(smsTxt, "#{3}", rep3);
|
||||
|
||||
}
|
||||
|
||||
if(typeof recTableData[j].getData().rep4 != 'undefined' && recTableData[j].getData().rep4 != null && recTableData[j].getData().rep4 != ""){
|
||||
|
||||
var rep4 = recTableData[j].getData().rep4;
|
||||
smsTxt = stringReplaceAll(smsTxt, "#{4}", rep4);
|
||||
|
||||
}
|
||||
|
||||
|
||||
var msgLen = strMaxCharacterCnt(smsTxt);
|
||||
var maxLenChar = 1000;
|
||||
|
||||
var imgType = $("#imageType").val();
|
||||
|
||||
//일반 이미지 첨부시 글자수 최대 400글자
|
||||
if(imgType == "I"){
|
||||
|
||||
maxLenChar = 400;
|
||||
|
||||
}else if(imgType == "W"){
|
||||
//와이드 이미지 첨부시 글자수 최대 76글자
|
||||
maxLenChar = 76;
|
||||
|
||||
}
|
||||
|
||||
if(msgLen < 1){
|
||||
|
||||
|
||||
}else if(msgLen > maxLenChar){
|
||||
|
||||
alert("친구톡 내용은 "+ maxLenChar +" 자를 넘을 수 없습니다.");
|
||||
tableL.clearData(); //기존 받는사람 목록을 삭제.
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
//첫번째 수신자의 변환 텍스트 내용을 적용하여 미리보기 문자내용에 보여주자.
|
||||
if(j == 0){
|
||||
|
||||
//미리보기에 내용 입력해 주기
|
||||
$('.template_text').text(smsTxt);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//결제 금액 구하기
|
||||
totalFtPriceSum(tableL.getRows().length);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
//오류 검사 버튼 처리
|
||||
$('.check_validity').click(function(){
|
||||
|
||||
var invalid = tableL.getInvalidCells(); //오류 데이터 체크
|
||||
var dataLen = tableL.getRows().length; //연락처 데이터 갯수
|
||||
var totLen = invalid.length; //오류 데이터 갯수
|
||||
var errMsg = ""; //최종 alert에 표시할 메시지 저장 변수
|
||||
|
||||
if(dataLen > 0){ //연락처 정보가 있으면 수행
|
||||
|
||||
if(totLen > 0){ //내용에 오류가 있으면 수행
|
||||
|
||||
//오류 데이터 값 저장
|
||||
for(var i=0; i < totLen; i++){
|
||||
|
||||
var cellValue = invalid[i].getValue();
|
||||
|
||||
if(i == 0){
|
||||
|
||||
errMsg = cellValue;
|
||||
|
||||
}else{
|
||||
|
||||
errMsg = errMsg +", "+ cellValue;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if(errMsg == "" || errMsg == null){
|
||||
|
||||
alert("내용에 오류가 있습니다.");
|
||||
return false;
|
||||
|
||||
}else{
|
||||
|
||||
alert(errMsg + "의 내용에 오류가 있습니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
alert("오류 데이터가 없습니다.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
|
||||
alert("연락처를 입력해 주세요.");
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
@ -70,27 +70,26 @@ function setContentsLengForFriends(contents){
|
||||
|
||||
}
|
||||
|
||||
|
||||
//제한글자수를 넘겼을 경우 최대 글자수까지 잘라주고 미리보기 및 글자수 표시처리
|
||||
if(conLeng > limitLeng){
|
||||
|
||||
var splicecon = strMaxLengthSubstring(contents, limitLeng-1);
|
||||
$('#inputTemplateContent').val(splicecon);
|
||||
return false;
|
||||
|
||||
}else{//현재 입력한 글자수 우측 하단에 표시해 주기
|
||||
|
||||
var repContent = "";
|
||||
repContent = contents.replace(/(?:\r\n|\r|\n)/g, '<br/>');
|
||||
|
||||
$('.nowChar').text(conLeng + " /");
|
||||
$('.totChar').text(" "+limitLeng);
|
||||
$('.template_text').show();
|
||||
if(repContent != ''){
|
||||
$('.template_text').html(repContent);
|
||||
}else{
|
||||
$('.template_text').html("내용 미리보기");
|
||||
}
|
||||
contents = splicecon;
|
||||
conLeng = strMaxCharacterCnt(contents);
|
||||
|
||||
}
|
||||
|
||||
var repContent = "";
|
||||
repContent = contents.replace(/(?:\r\n|\r|\n)/g, '<br/>');
|
||||
|
||||
$('.nowChar').text(conLeng + " /");
|
||||
$('.totChar').text(" "+limitLeng);
|
||||
$('.template_text').show();
|
||||
if(repContent != ''){
|
||||
$('.template_text').html(repContent);
|
||||
}else{
|
||||
$('.template_text').html("내용 미리보기");
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user