--- src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATVO.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATVO.java
... | ... | @@ -217,6 +217,7 @@ |
| 217 | 217 |
private int regComCount; |
| 218 | 218 |
private int orderByCode; // 문자타입 정렬번호 |
| 219 | 219 |
private String detailType; |
| 220 |
+ private String adFlag; |
|
| 220 | 221 |
|
| 221 | 222 |
|
| 222 | 223 |
|
--- src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
+++ src/main/java/itn/let/kakao/kakaoComm/KakaoSendUtil.java
... | ... | @@ -493,17 +493,9 @@ |
| 493 | 493 |
|
| 494 | 494 |
|
| 495 | 495 |
private Calendar setupBaseDate(KakaoVO kakaoVO, boolean isNotified) throws ParseException {
|
| 496 |
- // 예약 시간 기본값 설정 |
|
| 497 |
- Date now = new Date(); |
|
| 498 |
- // ReqDate가 비어 있으면 현재 시간으로 설정, 그렇지 않으면 ReqDate로 설정 |
|
| 499 |
- // 화면에서 예약문자면 예약시간을 regDate로 설정한다. |
|
| 500 |
- Date baseDate; |
|
| 501 |
- if (StringUtils.isEmpty(kakaoVO.getReqDate())) {
|
|
| 502 |
- kakaoVO.setReqDate(DATE_FORMATTER.format(now)); // ReqDate에 현재 시간 설정 |
|
| 503 |
- baseDate = now; |
|
| 504 |
- } else {
|
|
| 505 |
- baseDate = DATE_FORMATTER.parse(kakaoVO.getReqDate()); // ReqDate를 baseDate로 설정 |
|
| 506 |
- } |
|
| 496 |
+ |
|
| 497 |
+ // baseDate 추출 |
|
| 498 |
+ Date baseDate = resolveBaseDate(kakaoVO); |
|
| 507 | 499 |
|
| 508 | 500 |
// 시간 성정 |
| 509 | 501 |
Calendar calendar = Calendar.getInstance(); |
... | ... | @@ -518,6 +510,31 @@ |
| 518 | 510 |
return calendar; |
| 519 | 511 |
} |
| 520 | 512 |
|
| 513 |
+ public Date resolveBaseDate(KakaoVO kakaoVO) throws ParseException {
|
|
| 514 |
+ Date now = new Date(); |
|
| 515 |
+ |
|
| 516 |
+ if (StringUtils.isEmpty(kakaoVO.getReqDate())) {
|
|
| 517 |
+ kakaoVO.setReqDate(DATE_FORMATTER.format(now)); |
|
| 518 |
+ return now; |
|
| 519 |
+ } |
|
| 520 |
+ return DATE_FORMATTER.parse(kakaoVO.getReqDate()); |
|
| 521 |
+ } |
|
| 522 |
+ |
|
| 523 |
+ // 2. 친구톡 발송 제한 시간인지 확인 |
|
| 524 |
+ public boolean isRestrictedFriendTalkTime(Date baseDate) {
|
|
| 525 |
+ Calendar cal = Calendar.getInstance(); |
|
| 526 |
+ cal.setTime(baseDate); |
|
| 527 |
+ |
|
| 528 |
+ int hour = cal.get(Calendar.HOUR_OF_DAY); |
|
| 529 |
+ int minute = cal.get(Calendar.MINUTE); |
|
| 530 |
+ |
|
| 531 |
+ // 20:50 이후 ~ 익일 08:00 이전은 제한 |
|
| 532 |
+ if ((hour == 20 && minute >= 50) || hour > 20 || hour < 8) {
|
|
| 533 |
+ return true; |
|
| 534 |
+ } |
|
| 535 |
+ return false; |
|
| 536 |
+ } |
|
| 537 |
+ |
|
| 521 | 538 |
/** |
| 522 | 539 |
* @methodName : createSendVO |
| 523 | 540 |
* @author : 이호영 |
--- src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkServiceImpl.java
+++ src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkServiceImpl.java
... | ... | @@ -105,6 +105,15 @@ |
| 105 | 105 |
} |
| 106 | 106 |
|
| 107 | 107 |
|
| 108 |
+ /** |
|
| 109 |
+ * 친구톡은 발송 시간 제약이 있음 |
|
| 110 |
+ */ |
|
| 111 |
+ if(kakaoSendUtil.isRestrictedFriendTalkTime(kakaoSendUtil.resolveBaseDate(kakaoVO))) {
|
|
| 112 |
+ // UNAUTHORIZED : 인증되지 않은 사용자가 접근하려고 할 때 |
|
| 113 |
+ return new StatusResponse(HttpStatus.BAD_REQUEST, |
|
| 114 |
+ "친구톡은 20시 50분부터 익일 08시까지 발송이 제한됩니다."); |
|
| 115 |
+ } |
|
| 116 |
+ |
|
| 108 | 117 |
|
| 109 | 118 |
/** @isHolidayNotified |
| 110 | 119 |
* @false : 알림 X |
--- src/main/java/itn/let/kakao/user/sent/web/KakaoSentController.java
+++ src/main/java/itn/let/kakao/user/sent/web/KakaoSentController.java
... | ... | @@ -1042,13 +1042,11 @@ |
| 1042 | 1042 |
|
| 1043 | 1043 |
//발송 관리 문자발송 내용 상세보기 팝업 => 문자내용(MJ_MSG_DATA) |
| 1044 | 1044 |
MjonKakaoATVO mjonKakaoATResultVO = kakaoSentService.selectKakaoSentDetailDataAjax(mjonKakaoATVO); |
| 1045 |
- log.info(" 1 resultMsgDetail.bizKakaoResendOrgnlTxt : [{}]", mjonKakaoATResultVO.getBizKakaoResendOrgnlTxt());
|
|
| 1046 | 1045 |
// 대체문자 엔터키 치환 |
| 1047 | 1046 |
if(StringUtils.isNotEmpty(mjonKakaoATResultVO.getSmsTxt())) {
|
| 1048 | 1047 |
mjonKakaoATResultVO.setSmsTxt(StringUtil2.replaceBR(mjonKakaoATResultVO.getSmsTxt())); |
| 1049 | 1048 |
} |
| 1050 | 1049 |
model.addAttribute("resultMsgDetail", mjonKakaoATResultVO);
|
| 1051 |
- log.info(" 2 resultMsgDetail.bizKakaoResendOrgnlTxt : [{}]", mjonKakaoATResultVO.getBizKakaoResendOrgnlTxt());
|
|
| 1052 | 1050 |
|
| 1053 | 1051 |
String msgType = mjonKakaoATResultVO.getMsgType(); |
| 1054 | 1052 |
|
... | ... | @@ -1080,7 +1078,6 @@ |
| 1080 | 1078 |
} |
| 1081 | 1079 |
model.addAttribute("msgType", msgType);
|
| 1082 | 1080 |
|
| 1083 |
- log.info(" 3 resultMsgDetail.bizKakaoResendOrgnlTxt : [{}]", mjonKakaoATResultVO.getBizKakaoResendOrgnlTxt());
|
|
| 1084 | 1081 |
|
| 1085 | 1082 |
} catch (Exception e) {
|
| 1086 | 1083 |
e.printStackTrace(); |
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
... | ... | @@ -926,6 +926,7 @@ |
| 926 | 926 |
, MGD.BIZ_KAKAO_RESEND_ORGNL_TXT as bizKakaoResendOrgnlTxt /* 대체 문자( 치환X ) */ |
| 927 | 927 |
, MD.BIZ_KAKAO_JSON_FILE as bizKakaoJsonFile /* Json 파일 경로 */ |
| 928 | 928 |
, BA.CONTENTS as contents |
| 929 |
+ , MGD.AD_FLAG as adFlag |
|
| 929 | 930 |
FROM MJ_MSG_GROUP_DATA MGD |
| 930 | 931 |
INNER JOIN MJ_MSG_DATA MD |
| 931 | 932 |
ON MGD.MSG_GROUP_ID = MD.MSG_GROUP_ID |
--- src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 |
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> |
| 6 | 6 |
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%> |
| 7 | 7 |
<%@ page import="itn.com.cmm.LoginVO" %> |
| 8 |
-<script src="/js/kakao/templateComm.js"></script> |
|
| 8 |
+<script src="/js/kakao/ft/templateComm.js"></script> |
|
| 9 | 9 |
|
| 10 | 10 |
<script type="text/javascript" src="<c:out value='/js/MJUtill.js' />"></script> |
| 11 | 11 |
<script type="text/javascript" src="<c:out value='/js/kakao/ft/ftPriceClclt.js' />"></script> |
... | ... | @@ -66,6 +66,7 @@ |
| 66 | 66 |
|
| 67 | 67 |
fnAgentCodeChg(); |
| 68 | 68 |
} |
| 69 |
+ thisFnByteString($('#smsTxtArea').val());
|
|
| 69 | 70 |
}); |
| 70 | 71 |
$("#send_fail_check").change(function(){
|
| 71 | 72 |
if($("#send_fail_check").is(":checked")){
|
... | ... | @@ -126,7 +127,7 @@ |
| 126 | 127 |
}); |
| 127 | 128 |
|
| 128 | 129 |
|
| 129 |
- //대체문자 초기화 버튼 선택 처리 |
|
| 130 |
+/* //대체문자 초기화 버튼 선택 처리 |
|
| 130 | 131 |
$("#failCheckInit").click(function(){
|
| 131 | 132 |
|
| 132 | 133 |
$('#smsTxtArea').val("");
|
... | ... | @@ -140,7 +141,7 @@ |
| 140 | 141 |
fn_insertErrorYN('N');
|
| 141 | 142 |
|
| 142 | 143 |
}); |
| 143 |
- |
|
| 144 |
+ */ |
|
| 144 | 145 |
|
| 145 | 146 |
// 광고포함여부 체크 이벤트 |
| 146 | 147 |
$("#ad_Y").click(function () {
|
... | ... | @@ -942,7 +943,7 @@ |
| 942 | 943 |
|
| 943 | 944 |
if(resMin >= 50 && resMin <= 59){
|
| 944 | 945 |
|
| 945 |
- alert("친구톡은 20:50 ~ 익일 08:00까지 발송할 수 없습니다.");
|
|
| 946 |
+ alert("친구톡은 20시 50분부터 익일 08시까지 발송이 제한됩니다.");
|
|
| 946 | 947 |
$("#msgResMin").val("40").prop("selected", true);
|
| 947 | 948 |
|
| 948 | 949 |
} |
... | ... | @@ -1353,13 +1354,18 @@ |
| 1353 | 1354 |
|
| 1354 | 1355 |
$('#msgLeng').html("");
|
| 1355 | 1356 |
$('#limitLeng').html("");
|
| 1357 |
+ |
|
| 1358 |
+ if ($("#ad_Y").is(":checked")) {
|
|
| 1359 |
+ contents = "(광고)"+contents+"\n무료거부 0808800858" |
|
| 1360 |
+ } |
|
| 1361 |
+ console.log(contents); |
|
| 1356 | 1362 |
var conLeng = conByteLeng(contents); // 내용 문자 입력 바이트 수 계산하기 |
| 1357 | 1363 |
|
| 1358 | 1364 |
|
| 1359 | 1365 |
$('#msgLeng').text(conLeng);
|
| 1360 | 1366 |
|
| 1361 | 1367 |
//문자 길이 변수에 저장해주기 |
| 1362 |
- $('#smsLen').val(conLeng);
|
|
| 1368 |
+// $('#smsLen').val(conLeng);
|
|
| 1363 | 1369 |
|
| 1364 | 1370 |
|
| 1365 | 1371 |
if(conLeng > 90){
|
... | ... | @@ -2201,9 +2207,15 @@ |
| 2201 | 2207 |
<!-- 업로드한 이미지의 썸네일 영역 --> |
| 2202 | 2208 |
<ul class="thumb_wrap liOnImg ui-sortable"></ul> |
| 2203 | 2209 |
<!-- //업로드한 이미지의 썸네일 영역 --> |
| 2210 |
+ <div class="ad_txt" style=""> |
|
| 2211 |
+ <p>(광고)</p> |
|
| 2212 |
+ </div> |
|
| 2204 | 2213 |
<label for="smsTxtArea" class="label"></label> |
| 2205 | 2214 |
<textarea id="smsTxtArea" class="put_text"></textarea> |
| 2206 | 2215 |
<div class="text_length"> |
| 2216 |
+ <div class="sub_ad_text"> |
|
| 2217 |
+ <p>무료거부 0808800858</p> |
|
| 2218 |
+ </div> |
|
| 2207 | 2219 |
<div name="afterDeny"> |
| 2208 | 2220 |
<p> |
| 2209 | 2221 |
<span class="fwMd" id="msgLeng">0 /</span> |
--- src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailPopAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailPopAjax.jsp
... | ... | @@ -19,18 +19,21 @@ |
| 19 | 19 |
|
| 20 | 20 |
<!-- 카카오 알림톡 미리보기 --> |
| 21 | 21 |
<div class="tab_phone current" id="tab_phone_1"> |
| 22 |
- <div class="phone_kakako"> |
|
| 22 |
+ <div class="phone_kakako friendtalk"> |
|
| 23 | 23 |
<div class="phoneIn"> |
| 24 |
- <p class="prev_p"><img src="/publish/images/content/kakao_prev_icon.png" alt=""><c:out value="${resultMsgDetail.yellowId}"/></p>
|
|
| 24 |
+ <p class="prev_p"><img src="/publish/images/content/kakao_prev_icon.png" alt=""><c:out value="${searchVO.yellowId}"/></p>
|
|
| 25 | 25 |
<!-- 텍스트 미리보기 --> |
| 26 | 26 |
<div class="text_preview"> |
| 27 |
- <div class="allimtalk_title"> |
|
| 27 |
+ <%--< div class="allimtalk_title"> |
|
| 28 | 28 |
<img src="/publish/images/content/icon_allimtalk.png" alt=""> |
| 29 | 29 |
<c:choose> |
| 30 | 30 |
<c:when test="${msgType eq '8'}">알림톡 도착</c:when>
|
| 31 | 31 |
<c:when test="${msgType eq '9'}">친구톡 도착</c:when>
|
| 32 | 32 |
</c:choose> |
| 33 |
- </div> |
|
| 33 |
+ </div> --%> |
|
| 34 |
+ <c:if test="${resultMsgDetail.adFlag eq 'Y'}">
|
|
| 35 |
+ <p class="friend_talk_title"><span>(광고)</span></p> |
|
| 36 |
+ </c:if> |
|
| 34 | 37 |
<div class="allimtalk_content"> |
| 35 | 38 |
<c:choose> |
| 36 | 39 |
<c:when test="${kakaoTemplateInfo.templateEmphasizeType eq 'TEXT'}">
|
... | ... | @@ -68,6 +71,11 @@ |
| 68 | 71 |
</c:choose> |
| 69 | 72 |
</c:forEach> |
| 70 | 73 |
</div> |
| 74 |
+ |
|
| 75 |
+ <c:if test="${resultMsgDetail.adFlag eq 'Y'}">
|
|
| 76 |
+ <p class="kakao_block_text">수신거부 : 홈 > 채널차단</p> |
|
| 77 |
+ </c:if> |
|
| 78 |
+ |
|
| 71 | 79 |
</div> |
| 72 | 80 |
</div> |
| 73 | 81 |
<p class="addText">※ 단말기 설정에 따라 다르게 보일 수 있습니다</p> |
... | ... | @@ -105,15 +113,23 @@ |
| 105 | 113 |
</c:otherwise> |
| 106 | 114 |
</c:choose> --%> |
| 107 | 115 |
</c:if> |
| 108 |
- <div> |
|
| 116 |
+ <!-- <div> |
|
| 109 | 117 |
<span>글자크기</span> |
| 110 | 118 |
<button type="button" onclick="changeFontSize('plus');"><img src="/publish/images/content/font_plus.png"></button>
|
| 111 | 119 |
<button type="button" onclick="changeFontSize('minus');"><img src="/publish/images/content/font_minus.png"></button>
|
| 112 |
- </div> |
|
| 120 |
+ </div> --> |
|
| 113 | 121 |
</div> |
| 114 | 122 |
<div class="text_preview"> |
| 115 | 123 |
<div class="preview_auto"> |
| 124 |
+ |
|
| 125 |
+ <c:if test="${resultMsgDetail.adFlag eq 'Y'}">
|
|
| 126 |
+ <p class="ad_tit">(광고)</p> |
|
| 127 |
+ </c:if> |
|
| 116 | 128 |
<p class="realtime">${fn:replace(resultMsgDetail.bizKakaoResendOrgnlTxt, newLineChar, "<br/>")}</p>
|
| 129 |
+ |
|
| 130 |
+ <c:if test="${resultMsgDetail.adFlag eq 'Y'}">
|
|
| 131 |
+ <p class="deny_receipt">무료거부 0808800858</p> |
|
| 132 |
+ </c:if> |
|
| 117 | 133 |
</div> |
| 118 | 134 |
</div> |
| 119 | 135 |
</div> |
--- src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentDetailView.jsp
... | ... | @@ -753,41 +753,50 @@ |
| 753 | 753 |
<p>상세결과</p> |
| 754 | 754 |
<p></p> |
| 755 | 755 |
</div> |
| 756 |
- <div class="res_num"> |
|
| 757 |
- <div class="res_info_btm1"> |
|
| 758 |
- <dl> |
|
| 759 |
- <dt>전체건수</dt> |
|
| 760 |
- <dd><a href="#" data-tooltip="rev_popup04"><span class="c_222_g"><fmt:formatNumber value="${result.msgGroupCnt}" type="number" groupingUsed="true" /></span>건</a></dd>
|
|
| 761 |
- </dl> |
|
| 762 |
- </div> |
|
| 763 |
- <div class="res_info_btm1"> |
|
| 764 |
- <dl> |
|
| 765 |
- <dt>성공건수</dt> |
|
| 766 |
- <dd><span class="c_002c9a_g"><fmt:formatNumber value="${result.successCount + result.kakaoResendSuccCount}" type="number" groupingUsed="true" /></span>건(${result.successPct})</dd>
|
|
| 767 |
- </dl> |
|
| 768 |
- </div> |
|
| 769 |
- </div> |
|
| 770 |
- <div class="res_num"> |
|
| 771 |
- <div class="res_info_btm1"> |
|
| 772 |
- <dl> |
|
| 773 |
- <dt>대기건수</dt> |
|
| 774 |
- <dd><span class="c_666_g"><fmt:formatNumber value="${result.waitCount}" type="number" groupingUsed="true" /></span>건(${result.waitingPct})</dd>
|
|
| 775 |
- </dl> |
|
| 776 |
- </div> |
|
| 777 |
- <div class="res_info_btm1"> |
|
| 778 |
- <dl> |
|
| 779 |
- <dt>실패건수</dt> |
|
| 780 |
- <%-- 대체문자 기능 on |
|
| 781 |
- 카카오톡 실패 + 대체문자 실패 = 실패 |
|
| 782 |
- 대체문자 기능 off |
|
| 783 |
- 카카오톡 실패 = 실패 |
|
| 784 |
- *카카오톡 실패임에도 대체문자로 발송이 성공한 경우 실패로 체크하지 않음 --%> |
|
| 785 |
- <dd><span class="c_e40000_g"><fmt:formatNumber value="${result.failCount - result.kakaoResendSuccCount}" type="number" groupingUsed="true" /></span>건(${result.failedPct})</dd>
|
|
| 786 |
- </dl> |
|
| 787 |
- </div> |
|
| 788 |
- </div> |
|
| 789 |
- <p class="table_bottom_txt">* 전체건수를 클릭하면 받는 사람 상세정보를 확인하실 수 있습니다.</p> |
|
| 790 |
- <p class="table_bottom_txt">* 대체문자 발송 성공 시, 성공건수로 집계됩니다.</p> |
|
| 756 |
+ <div class="res_num"> |
|
| 757 |
+ <div class="res_info_btm1"> |
|
| 758 |
+ <dl> |
|
| 759 |
+ <dt>전체건수</dt> |
|
| 760 |
+ <dd><a href="#" data-tooltip="rev_popup04"><span class="c_222_g"><fmt:formatNumber value="${result.msgGroupCnt}" type="number" groupingUsed="true" /></span>건</a></dd>
|
|
| 761 |
+ </dl> |
|
| 762 |
+ </div> |
|
| 763 |
+ <div class="res_info_btm1"> |
|
| 764 |
+ <dl> |
|
| 765 |
+ <dt>성공건수</dt> |
|
| 766 |
+ <dd><span class="c_002c9a_g"><fmt:formatNumber value="${result.successCount + result.kakaoResendSuccCount}" type="number" groupingUsed="true" /></span>건(${result.successPct})</dd>
|
|
| 767 |
+ </dl> |
|
| 768 |
+ </div> |
|
| 769 |
+ </div> |
|
| 770 |
+ <div class="res_num"> |
|
| 771 |
+ <div class="res_info_btm1"> |
|
| 772 |
+ <dl> |
|
| 773 |
+ <dt>대기건수</dt> |
|
| 774 |
+ <dd><span class="c_666_g"><fmt:formatNumber value="${result.waitCount}" type="number" groupingUsed="true" /></span>건(${result.waitingPct})</dd>
|
|
| 775 |
+ </dl> |
|
| 776 |
+ </div> |
|
| 777 |
+ <div class="res_info_btm1"> |
|
| 778 |
+ <dl> |
|
| 779 |
+ <dt>실패건수</dt> |
|
| 780 |
+ <%-- 대체문자 기능 on |
|
| 781 |
+ 카카오톡 실패 + 대체문자 실패 = 실패 |
|
| 782 |
+ 대체문자 기능 off |
|
| 783 |
+ 카카오톡 실패 = 실패 |
|
| 784 |
+ *카카오톡 실패임에도 대체문자로 발송이 성공한 경우 실패로 체크하지 않음 --%> |
|
| 785 |
+ <dd><span class="c_e40000_g"><fmt:formatNumber value="${result.failCount - result.kakaoResendSuccCount}" type="number" groupingUsed="true" /></span>건(${result.failedPct})</dd>
|
|
| 786 |
+ </dl> |
|
| 787 |
+ </div> |
|
| 788 |
+ </div> |
|
| 789 |
+ <div class="table_btn clearfix"> |
|
| 790 |
+ <div class="table_btn_left"> |
|
| 791 |
+ <!-- <button type="button" data-tooltip="rev_popup02" class="btnType btnType14"><i class="add_img"></i>주소록 등록</button> |
|
| 792 |
+ <button type="button" class="excel_btn btnType"><i class="downroad"></i>엑셀 다운로드</button> --> |
|
| 793 |
+ <p class="table_bottom_txt">* 전체건수를 클릭하면 받는 사람 상세정보를 확인하실 수 있습니다.</p> |
|
| 794 |
+ <p class="table_bottom_txt" style="padding:5px 0 0 0;">* 대체문자 발송 성공 시, 성공건수로 집계됩니다.</p> |
|
| 795 |
+ </div> |
|
| 796 |
+ <div class="table_btn_right"> |
|
| 797 |
+ |
|
| 798 |
+ </div> |
|
| 799 |
+ </div> |
|
| 791 | 800 |
</div> |
| 792 | 801 |
</div> |
| 793 | 802 |
<!--// 상세결과--> |
... | ... | @@ -928,6 +937,7 @@ |
| 928 | 937 |
|
| 929 | 938 |
<form id="resPopForm" name="resPopForm" method="post"> |
| 930 | 939 |
<input type="hidden" id="msgGroupId" name="msgGroupId" value="${result.msgGroupId}"/>
|
| 940 |
+ <input type="hidden" name="yellowId" value="${result.yellowId}"/>
|
|
| 931 | 941 |
<!-- <input type="hidden" id="msgId" name="msgId" value=""/> --> |
| 932 | 942 |
</form> |
| 933 | 943 |
|
+++ src/main/webapp/js/kakao/ft/templateComm.js
... | ... | @@ -0,0 +1,127 @@ |
| 1 | +/** | |
| 2 | + * 알림톡 템플릿 내용 글자수 체크 및 표시, 미리보기 내용 표시 | |
| 3 | + * | |
| 4 | + * | |
| 5 | + */ | |
| 6 | + | |
| 7 | +function setContentsLeng(contents){ | |
| 8 | + | |
| 9 | + | |
| 10 | + if ($("#ad_Y").is(":checked")) { | |
| 11 | + contents = "(광고)"+contents+"\n무료거부 0808800858" | |
| 12 | + } | |
| 13 | + | |
| 14 | + var conLeng = strMaxCharacterCnt(contents); | |
| 15 | + | |
| 16 | + if ($("#ad_Y").is(":checked")) { | |
| 17 | + // 광고문구 제거 | |
| 18 | + contents = contents | |
| 19 | + .replace(/^\(광고\)/, '') // 맨 앞의 (광고) 제거 | |
| 20 | + .replace(/\n무료거부\s*0808800858\s*$/, ''); // 맨 뒤의 '무료거부 0808800858' 제거 | |
| 21 | + | |
| 22 | + } | |
| 23 | + | |
| 24 | + | |
| 25 | + if(conLeng > 1000){ | |
| 26 | + | |
| 27 | + alert("알림톡 내용은 1000자를 넘을 수 없습니다."); | |
| 28 | + var splicecon = strMaxLengthSubstring(contents, 999); | |
| 29 | + $('#inputTemplateContent').val(splicecon); | |
| 30 | + return false; | |
| 31 | + | |
| 32 | + }else{//현재 입력한 글자수 우측 하단에 표시해 주기 | |
| 33 | + | |
| 34 | + var repContent = ""; | |
| 35 | + repContent = contents.replace(/(?:\r\n|\r|\n)/g, '<br/>'); | |
| 36 | + | |
| 37 | + $('.nowChar').text(conLeng + " /"); | |
| 38 | + $('.template_text').show(); | |
| 39 | + if(repContent != ''){ | |
| 40 | + $('.template_text').html(repContent); | |
| 41 | + }else{ | |
| 42 | + $('.template_text').html("내용 미리보기"); | |
| 43 | + } | |
| 44 | + | |
| 45 | + } | |
| 46 | + | |
| 47 | +} | |
| 48 | + | |
| 49 | +/** | |
| 50 | + * 친구톡 템플릿 내용 글자수 체크 및 표시, 미리보기 내용 표시 | |
| 51 | + * | |
| 52 | + * | |
| 53 | + */ | |
| 54 | + | |
| 55 | +function setContentsLengForFriends(contents){ | |
| 56 | + | |
| 57 | + | |
| 58 | + if ($("#ad_Y").is(":checked")) { | |
| 59 | + contents = "(광고)"+contents+"\n무료거부 0808800858" | |
| 60 | + } | |
| 61 | + | |
| 62 | + var conLeng = strMaxCharacterCnt(contents); | |
| 63 | + | |
| 64 | + if ($("#ad_Y").is(":checked")) { | |
| 65 | + // 광고문구 제거 | |
| 66 | + contents = contents | |
| 67 | + .replace(/^\(광고\)/, '') // 맨 앞의 (광고) 제거 | |
| 68 | + .replace(/\n무료거부\s*0808800858\s*$/, ''); // 맨 뒤의 '무료거부 0808800858' 제거 | |
| 69 | + | |
| 70 | + } | |
| 71 | + | |
| 72 | + | |
| 73 | + var imageType = $("input[name=img_file_add]:checked").val(); | |
| 74 | + var limitLeng = 1000; | |
| 75 | + | |
| 76 | + if(imageType == 'I'){ | |
| 77 | + | |
| 78 | + limitLeng = 400; | |
| 79 | + | |
| 80 | + if(conLeng > limitLeng){ | |
| 81 | + | |
| 82 | + alert("일반 이미지 첨부시 친구톡 내용은 400자를 넘을 수 없습니다."); | |
| 83 | + | |
| 84 | + } | |
| 85 | + | |
| 86 | + }else if(imageType == 'W'){ | |
| 87 | + | |
| 88 | + limitLeng = 76; | |
| 89 | + | |
| 90 | + if(conLeng > limitLeng){ | |
| 91 | + | |
| 92 | + alert("와이드 이미지 첨부시 친구톡 내용은 76자를 넘을 수 없습니다."); | |
| 93 | + | |
| 94 | + } | |
| 95 | + | |
| 96 | + }else if(conLeng > 1000){ | |
| 97 | + | |
| 98 | + alert("친구톡 내용은 1000자를 넘을 수 없습니다."); | |
| 99 | + | |
| 100 | + } | |
| 101 | + | |
| 102 | + //제한글자수를 넘겼을 경우 최대 글자수까지 잘라주고 미리보기 및 글자수 표시처리 | |
| 103 | + if(conLeng > limitLeng){ | |
| 104 | + | |
| 105 | + var splicecon = strMaxLengthSubstring(contents, limitLeng-1); | |
| 106 | + $('#inputTemplateContent').val(splicecon); | |
| 107 | + contents = splicecon; | |
| 108 | + conLeng = strMaxCharacterCnt(contents); | |
| 109 | + | |
| 110 | + } | |
| 111 | + | |
| 112 | + var repContent = ""; | |
| 113 | + repContent = contents.replace(/(?:\r\n|\r|\n)/g, '<br/>'); | |
| 114 | + | |
| 115 | + $('.nowChar').text(conLeng + " /"); | |
| 116 | + $('.totChar').text(" "+limitLeng); | |
| 117 | + $('.template_text').show(); | |
| 118 | + if(repContent != ''){ | |
| 119 | + $('.template_text').html(repContent); | |
| 120 | + $('#smsTxtArea').val( | |
| 121 | + $('.template_text').html().trim().replace(/(<br>|<br\/>|<br \/>)/g, '\r\n') | |
| 122 | + ); | |
| 123 | + }else{ | |
| 124 | + $('.template_text').html("내용 미리보기"); | |
| 125 | + } | |
| 126 | + | |
| 127 | +}(No newline at end of file) |
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?