회원상세, 맞춤제작, 주소록대행 화면 문자발송 기능 추가 및 변경

This commit is contained in:
rosewiper 2024-09-24 14:39:19 +09:00
parent 121039e880
commit c8447b21b8
3 changed files with 305 additions and 15 deletions

View File

@ -959,7 +959,7 @@ function fnByteString(contents){
$('#msgLeng').html("");
$('#limitLeng').html("");
var conLeng = conByteLeng(contents); // 내용 문자 입력 바이트 수 계산하기
var msgKind = $('input[name=msgKind]:checked').val();
var msgKind = $("#msgKind").val();
var adTxtLeng = conByteLeng('(광고)');
var denyTxtLeng = conByteLeng('무료 거부 080-880-0858');
@ -2974,6 +2974,32 @@ function fnInputSmiBlockMemo(){
}
function fnInputSmsTxt(){
var selValue = $("#inputSmsTxt option:selected").val();
if(selValue == '1'){
$("#smsTxt").val('[문자온] 요청하신 맞춤제작 이미지가 수정 완료되었습니다. [맞춤제작] > 내보관함을 통해 수정된 이미지 확인이 가능합니다.');
}else if(selValue == '2'){
$("#smsTxt").val('[문자온] 요청하신 주소록 입력대행 서비스가 처리 완료되었습니다. [주소록관리] 메뉴를 통해 등록된 그룹 확인이 가능합니다.');
}else if(selValue == '3'){
$("#smsTxt").val('(안내) 안녕하세요. 문자온입니다. \r\n문자온에서는 고객님께 080 수신거부(080-880-0858) 서비스를 무료로 제공하고 있습니다. \r\n광고문자 발송 시 아래 이미지처럼 (광고) 시작문구와 함께 업체명과 전화번호를 모두 입력하여 이용해주시기 바랍니다. \r\n문자 전송창 문자분류에서 광고를 선택하시면 광고규칙이 자동 적용됩니다. \r\n광고성 문자 발송자는 수신자의 최초 수신동의를 받은 날로부터 2년마다 재동의를 받아야 하며, 상기 사항 위반 시 정보통신망법에 의거하여 서비스 이용 차단과 함께 과태료가 부과되오니 발송에 항상 유의해 주시기 바랍니다. 기타 자세한 사항은 불법스팸대응센터 또는 문자온 홈페이지를 참고해주시기 바랍니다. 감사합니다.');
}else if(selValue == '4'){
$("#smsTxt").val('[문자온] 문자발송 결과(실패) \r\n안내 고객님은 현재 이동통신사의 "번호도용 문자차단 서비스"에 가입되어 있어 인터넷 문자사이트를 통한 문자발송이 모두 차단되어 있습니다. \r\n문자발송 서비스를 정상적으로 이용하기 위해서는 이용중인 이동통신사에 문의하시어 상기 서비스를 해지하신 후 문자를 재발송해주시기를 바랍니다. \r\n(서비스 해지 후 정상 발송까지 3~7일 소요될 수 있습니다.) \r\n※번호도용 문자차단 서비스 : 웹에서 발송되는 스팸, 스미싱 문자에 내 번호가 회신번호로 악용되는 것을 방지해주는 서비스');
}else if(selValue == '5'){
$("#smsTxt").val('[문자온] 안녕하세요, 문자온입니다. 고객님은 현재 이동통신사의 "번호도용 문자차단 서비스"에 가입되어 있어 인터넷 문자사이트를 통한 문자발송이 모두 차단되어 있습니다. \r\n문자발송 서비스를 정상적으로 이용하기 위해서는 이용중인 이동통신사에 문의하시어 상기 서비스를 해지하신 후 문자를 재발송해 주시길 바랍니다.\r\n동 서비스 해지 후 문자 정상 발송까지는 3~7일 소요될수 있으며, 만약 통신사를 통해 해지처리를 하였음에도 문자발송이 계속 실패하는 경우에는 아직 한국인터넷진흥원(KISA)와 문자중계사업자간 연동처리가 완료되지 않은 경우이므로 충분한 시간여유를 두시고 추후에 발송시도 해 주시기를 부탁드립니다. 감사합니다. \r\n※번호도용 문자차단 서비스 : 웹에서 발송되는 스팸, 스미싱 문자에 내 번호가 회신번호로 악용되는 것을 방지해주는 서비스');
}else if(selValue == '6'){
$("#smsTxt").val('[문자온] 고객님께서는 시스템 스팸 필터링으로 인해 사이트 이용정지 처리되었음을 안내 드립니다. 문의사항이 있으신 경우 고객센터(1551-8011)로 연락 부탁드립니다.');
}else if(selValue == '7'){
$("#smsTxt").val('[문자온] 고객님께서는 한국인터넷진흥원 스팸신고로 인해 사이트 이용정지 처리되었음을 안내 드립니다. 문의사항이 있으신 경우 고객센터(1551-8011)로 연락 부탁드립니다.');
}
var contents = $("#smsTxt").val();
fnByteString(contents);
}
</script>
<style>
.fileView {border-bottom: inherit !important;}
@ -5786,11 +5812,22 @@ function fnInputSmiBlockMemo(){
<tr>
<th>문자내용</th>
<td>
<ul>
<%-- <ul>
<li><input type="radio" name="msgKind" id="msgKind1" value="N" checked/><label for="msgKind1">일반</label></li>
<!-- <li><input type="radio" name="msgKind" id="msgKind2" value="A"/><label for="msgKind2">광고</label></li>
<li><input type="radio" name="msgKind" id="msgKind3" value="C"/><label for="msgKind3">선거</label></li> -->
</ul>
<li><input type="radio" name="msgKind" id="msgKind2" value="A"/><label for="msgKind2">광고</label></li>
<li><input type="radio" name="msgKind" id="msgKind3" value="C"/><label for="msgKind3">선거</label></li>
</ul> --%>
<input type="hidden" name="msgKind" id="msgKind" value="N"/>
<select id="inputSmsTxt" onchange="fnInputSmsTxt();">
<option value="0">직접입력</option>
<option value="1">맞춤제작 수정 완료</option>
<option value="2">주소록 입력대행 처리 완료</option>
<option value="3">광고규정 및 수신동의 안내(KISA)</option>
<option value="4">번호도용 문자차단 서비스 안내</option>
<option value="5">번호도용 문자차단 서비스 재안내</option>
<option value="6">이용정지(스팸 필터링)</option>
<option value="7">이용정지(KISA 신고)</option>
</select>
<textarea name="smsTxt" id="smsTxt"></textarea>
<span class="fwMd" id="msgLeng">0 /</span>
<span id="limitLeng">90</span>byte

View File

@ -30,6 +30,8 @@
<title>팝업창관리 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script src="/js/MJUtill.js"></script>
<script src="/js/txtByteChk.js"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
<c:if test="${!empty mjPhoneMemberVO.phmId}">
@ -116,15 +118,126 @@ function fnSelectMber(mberId) {
document.memForm.submit();
}
//문자 바이트수 계산하기 함수
function fnByteString(contents){
var conLeng = conByteLeng(contents); // 내용 문자 입력 바이트 수 계산하기
if(conLeng > 90){
$('#msgType').val("6"); // 메세지 타입 설정
}else{
$('#msgType').val("4"); // 메세지 타입 설정
}
// 2000byte 초과시 메세지 알림
if(conLeng > 2000){
alert("문자 내용은 2000byte를 넘을 수 없습니다.");
return false;
}
}
function fn_sendMsgData(){
var callToNum = $('#callTo').val();
var callFromNum = $('#callFrom').val();
if(callFromNum == ''){
alert("발신번호를 입력해 주세요.");
return false;
}
if(callToNum == ''){
alert("수신번호를 입력해 주세요.");
return false;
}
//핸드폰 번호 체크
if(!checkHpNum(callToNum)){
alert("정확한 수신자 번호를 입력해 주세요.");
return false;
}
url = "/uss/ion/msg/insertAdminToMemberSendMsgDataAjax.do";
var data = new FormData(document.msgForm);
if(confirm("문자를 발송하시겠습니까?")){
$.ajax({
type: "POST",
url: url,
data: data,
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(returnData.resultListCnt == '0'){
alert("문자 전송에 실패하었습니다.");
return false;
}else{ //문자발송 성공시 처리
var sendCnt = returnData.resultSts;
alert(sendCnt + " 건의 문자 전송이 완료 되었습니다.");
location.reload();
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("문자 전송에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
//맞춤제작 문자 내용 셋팅
function fnInputSmsTxt(){
$("#smsTxt").val('[문자온] 요청하신 주소록 입력대행 서비스가 처리 완료되었습니다. [주소록관리] 메뉴를 통해 등록된 그룹 확인이 가능합니다.');
var contents = $("#smsTxt").val();
fnByteString(contents);
fn_sendMsgData();
}
</script>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<input type="hidden" name="addrAgencyId" value="${AddrAgencyVO.addrAgencyId}" />
<input type="hidden" name="addrGrpNm" value="${AddrAgencyVO.addrGrpNm}" />
<input type="hidden" name="registerId" value="${AddrAgencyVO.registerId}" />
<input type="hidden" name="addrAgencyId" value="<c:out value='${AddrAgencyVO.addrAgencyId}'/>" />
<input type="hidden" name="addrGrpNm" value="<c:out value='${AddrAgencyVO.addrGrpNm}'/>" />
<input type="hidden" name="registerId" value="<c:out value='${AddrAgencyVO.registerId}'/>" />
<div class="contWrap">
<div class="pageTitle">
<div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div>
@ -140,7 +253,10 @@ function fnSelectMber(mberId) {
<tbody>
<tr class="userId">
<th>아이디</th>
<td colspan="3"><a href="#" onclick="javascript:fnSelectMber('<c:out value="${AddrAgencyVO.registerId}"/>'); return false;">${AddrAgencyVO.registerId}</a>
<td colspan="3">
<a href="#" onclick="javascript:fnSelectMber('<c:out value="${AddrAgencyVO.registerId}"/>'); return false;">
<c:out value="${AddrAgencyVO.registerId}"/>
</a>
<%-- <input type="text" name="registerId" value="${AddrAgencyVO.registerId}" title="아이디" maxlength="100" /> --%>
</td>
</tr>
@ -159,13 +275,15 @@ function fnSelectMber(mberId) {
</tr>
<tr class="userId">
<th>신규 그룹명</th>
<td colspan="3">${AddrAgencyVO.addrGrpNm}
<td colspan="3">
<c:out value="${AddrAgencyVO.addrGrpNm}"/>
<%-- <input type="text" name="registerId" value="${AddrAgencyVO.addrGrpNm}" title="아이디" maxlength="100" /> --%>
</td>
</tr>
<tr class="userId">
<th>휴대폰 번호</th>
<td colspan="3">${AddrAgencyVO.addrPhoneNo}
<td colspan="3">
<c:out value="${AddrAgencyVO.addrPhoneNo}"/>
<%-- <input type="text" name="registerId" value="${AddrAgencyVO.addrPhoneNo}" title="아이디" maxlength="100" /> --%>
</td>
</tr>
@ -186,7 +304,8 @@ function fnSelectMber(mberId) {
</tr>
<tr class="userId">
<th>요청사항</th>
<td colspan="3">${AddrAgencyVO.requestTxt}
<td colspan="3">
<c:out value="${AddrAgencyVO.requestTxt}"/>
<%-- <input type="text" name="registerId" value="${AddrAgencyVO.requestTxt}" title="아이디" maxlength="100" /> --%>
</td>
</tr>
@ -200,7 +319,7 @@ function fnSelectMber(mberId) {
<tr>
<th>처리일자<br/>(처리상태변경일자)</th>
<td colspan="3">
${AddrAgencyVO.processDe}
<c:out value="${AddrAgencyVO.processDe}"/>
</td>
</tr>
<!--
@ -215,7 +334,7 @@ function fnSelectMber(mberId) {
<tr>
<th>등록일자</th>
<td colspan="3">
${AddrAgencyVO.registPnttm}
<c:out value='${AddrAgencyVO.registPnttm}'/>
</td>
</tr>
<%--
@ -302,6 +421,7 @@ function fnSelectMber(mberId) {
<div style="float: left; color: red; margin-top: 10px;">* 회원상세 > 로그인 > 주소록대량등록 기능 활용 등록처리후 "등록완료" 버튼 실행</div>
<input type="button" class="btnType1" value="등록완료" onclick="goWebSave1(); return false;">
</c:if>
<input type="button" class="btnType1 bg_888888" value="안 내" onclick="fnInputSmsTxt(); return false;">
</div>
</div>
</div>
@ -311,6 +431,15 @@ function fnSelectMber(mberId) {
<input name="mberId" type="hidden" />
</form>
<!-- 문자전송 처리 -->
<form id="msgForm" name="msgForm" method="post">
<input type="hidden" id="msgType" name="msgType" value="4"/>
<input type="text" name="callFrom" id="callFrom" value="15518011" />
<input type="text" name="callTo" id="callTo" value="<c:out value='${AddrAgencyVO.addrPhoneNo}'/>" />
<input type="hidden" name="msgKind" id="msgKind" value="N"/>
<input type="hidden" name="smsTxt" id="smsTxt" value=""/>
</form>
</body>
</html>

View File

@ -30,6 +30,8 @@
<title>팝업창관리 관리</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<script type="text/javascript" src="<c:url value='/js/EgovMultiFile.js'/>"></script>
<script src="/js/MJUtill.js"></script>
<script src="/js/txtByteChk.js"></script>
<script type="text/javaScript" language="javascript">
$( document ).ready(function(){
var radioVal = $('input[name="customType"]:checked').val();
@ -231,6 +233,117 @@
});
}
//문자 바이트수 계산하기 함수
function fnByteString(contents){
var conLeng = conByteLeng(contents); // 내용 문자 입력 바이트 수 계산하기
if(conLeng > 90){
$('#msgType').val("6"); // 메세지 타입 설정
}else{
$('#msgType').val("4"); // 메세지 타입 설정
}
// 2000byte 초과시 메세지 알림
if(conLeng > 2000){
alert("문자 내용은 2000byte를 넘을 수 없습니다.");
return false;
}
}
function fn_sendMsgData(){
var callToNum = $('#callTo').val();
var callFromNum = $('#callFrom').val();
if(callFromNum == ''){
alert("발신번호를 입력해 주세요.");
return false;
}
if(callToNum == ''){
alert("수신번호를 입력해 주세요.");
return false;
}
//핸드폰 번호 체크
if(!checkHpNum(callToNum)){
alert("정확한 수신자 번호를 입력해 주세요.");
return false;
}
url = "/uss/ion/msg/insertAdminToMemberSendMsgDataAjax.do";
var data = new FormData(document.msgForm);
if(confirm("문자를 발송하시겠습니까?")){
$.ajax({
type: "POST",
url: url,
data: data,
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(returnData.resultListCnt == '0'){
alert("문자 전송에 실패하었습니다.");
return false;
}else{ //문자발송 성공시 처리
var sendCnt = returnData.resultSts;
alert(sendCnt + " 건의 문자 전송이 완료 되었습니다.");
location.reload();
}
} else if(status== 'fail'){
alert(returnData.message);
}
},
error: function (e) { alert("문자 전송에 실패하였습니다."); console.log("ERROR : ", e); }
});
}
}
//맞춤제작 문자 내용 셋팅
function fnInputSmsTxt(){
$("#smsTxt").val('[문자온] 요청하신 맞춤제작 이미지가 제작 완료되었습니다. [맞춤제작] > 내보관함을 통해 제작된 이미지 확인이 가능합니다.');
var contents = $("#smsTxt").val();
fnByteString(contents);
fn_sendMsgData();
}
</script>
<style type="text/css">
@ -240,6 +353,7 @@
</style>
</head>
<body>
<form name="writeForm" id="writeForm" method="post">
<input type="hidden" id="customId" name="customId" value="${mjonMsgCustomInfo.customId}">
<input type="hidden" id="userId" name="userId" value="${mjonMsgCustomInfo.userId}">
@ -299,7 +413,7 @@
</td>
</tr>
<tr>
<th>연락처</th>
<th>연락처 </th>
<td>
<c:out value="${mjonMsgCustomInfo.customPhoneNo}"/>
</td>
@ -456,6 +570,7 @@
<input type="button" class="btnType2 bg_888888" value="주문취소" onclick="fn_delete(); return false;">
</c:if>
</c:if>
<input type="button" class="btnType1 bg_888888" value="안 내" onclick="fnInputSmsTxt(); return false;">
</div>
</div>
</div>
@ -473,5 +588,14 @@
<input name="mberId" type="hidden" />
</form>
<!-- 문자전송 처리 -->
<form id="msgForm" name="msgForm" method="post">
<input type="hidden" id="msgType" name="msgType" value="4"/>
<input type="text" name="callFrom" id="callFrom" value="15518011" />
<input type="text" name="callTo" id="callTo" value="<c:out value='${mjonMsgCustomInfo.customPhoneNo}'/>" />
<input type="hidden" name="msgKind" id="msgKind" value="N"/>
<input type="hidden" name="smsTxt" id="smsTxt" value=""/>
</form>
</body>
</html>