rosewiper 2024-01-19
카카오 친구톡 테스트 발송 팝업 및 발송 처리 개발
@feb9d37202add0e1cbf5f1fe446b9e0343ce8a1b
src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java
--- src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java
+++ src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java
@@ -661,4 +661,56 @@
 		return modelAndView;
 	}
 	
+	/**
+	* @Method Name : kakaoFriendsTalkMsgSendRefundTestAjax
+	* @작성일 : 2024. 1. 18.
+	* @작성자 :  우영두
+	* @Method 설명 : 카카오 친구톡 전송 환불 스케줄러 서비스 테스트
+	*/
+	@RequestMapping(value= {"/web/mjon/kakao/friendstalk/selectKakaoFriendsTalkTestSendPopup.do"})
+	public String selectKakaoFriendsTalkTestSendPopup(ModelMap model
+			, @ModelAttribute("kakaoVO")  KakaoVO kakaoVO) throws Exception {
+		
+		
+		LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
+		String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
+ 		if(userId == "") {
+			return "redirect:/web/user/login/login.do";
+		}else {
+			//1.시스템 기본 단가 정보 불러오기
+			JoinSettingVO sysJoinSetVO = mjonMsgDataService.selectJoinSettingInfo();
+			
+			//2.사용자 개인 단가 정보 불러오기
+			MberManageVO mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
+			Float kakaoFtPrice = mberManageVO.getKakaoFtPrice();
+			
+			if(kakaoFtPrice < 1) {
+				kakaoFtPrice = sysJoinSetVO.getKakaoFtPrice();
+			}
+			
+			BigDecimal userMoney = new BigDecimal(mberManageVO.getUserMoney()).setScale(2, RoundingMode.HALF_EVEN);
+			model.addAttribute("userMoney", userMoney);
+			model.addAttribute("kakaoFtPrice", kakaoFtPrice);
+		}
+		
+		String tmpContents = kakaoVO.getTemplateContent();
+		String txtReplYn = kakaoVO.getTxtReplYn();
+		
+		if(txtReplYn.equals("Y")) {
+			
+			String[] varValStr = kakaoVO.getVarValList().get(0);
+			tmpContents = kakaoSendUtil.getKakaoFTCntReplace(varValStr[0], tmpContents);
+			
+			kakaoVO.setTemplateContent(tmpContents);
+			
+		}
+		
+		System.out.println("++++++++++++++ tmpContents ::: "+tmpContents);
+		
+		model.addAttribute("kakaoVO", kakaoVO);
+		
+		return "web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataTestPop";
+	}
+	
+	
 }
src/main/webapp/WEB-INF/decorators.xml
--- src/main/webapp/WEB-INF/decorators.xml
+++ src/main/webapp/WEB-INF/decorators.xml
@@ -183,6 +183,7 @@
 		<pattern>*/web/pop/*</pattern>
 		<pattern>/web/mjon/kakao/template/selectKakaoAlimtalkTemplateListPopupAjax.do</pattern> 
 		<pattern>/web/mjon/kakao/alimtalk/selectKakaoAlimtalkTemplateDataTestPopup.do</pattern>
+		<pattern>/web/mjon/kakao/friendstalk/selectKakaoFriendsTalkTestSendPopup.do</pattern>
 		<pattern>/web/mjon/fax/faxSendDetailPopup.do</pattern>
 	</decorator>
 	
src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp
@@ -134,7 +134,7 @@
 				<!-- 텍스트 미리보기 -->
 				<div class="text_preview">
 					<div class="allimtalk_title">
-						<img src="/publish/images/content/icon_allimtalk.png" alt="">친구톡 수정
+						<img src="/publish/images/content/icon_allimtalk.png" alt="">알림톡 도착
 					</div>
 					<div class="allimtalk_content" id="alimtalkTemplate">
 <!-- 						<p class="emphasis_side_text">템플릿을 선택해 주세요</p> -->
@@ -195,10 +195,10 @@
 				<!-- 텍스트 미리보기 -->
 				
 				<!-- //텍스트 미리보기 -->
-				<div class="template_info_wrap">
+				<!-- <div class="template_info_wrap">
 					<div class="template_byte">
 					</div>
-				</div>
+				</div> -->
 			</div>
 			<p class="addText">※ 단말기 설정에 따라 다르게 보일 수 있습니다<p>
 		</div>
 
src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataTestPop.jsp (added)
+++ src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataTestPop.jsp
@@ -0,0 +1,221 @@
+<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
+<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
+<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
+<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
+<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
+<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
+<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
+<% pageContext.setAttribute("newLineChar", "\r\n"); %>
+<% pageContext.setAttribute("newLineChar2", "\n"); %>
+
+<script>
+
+	function fn_testSendMsgData(){
+		
+		var callNum = $("#callTo").val();				// 받는 전화번호
+		var userMoney = $('#oriUserMoney').val();		// 사용자 금액
+		var kakaoFtPrice = $('#kakaoFtPrice').val();	// 카카오전송 금액
+		var resutlPrice = parseFloat(userMoney)-parseFloat(kakaoFtPrice); // 금액 확인
+		
+		// 음수면 -1 값
+		if(Math.sign(resutlPrice) < 0){
+			alert("발송에 필요한 회원님의 보유 잔액이 부족 합니다.");
+			return false;
+		}
+		
+		$('#bizForm #callToList').val(callNum);
+		
+		var data = new FormData(document.bizForm);
+		$.ajax({
+			type: "POST"
+			, url: "/web/mjon/kakao/friendstalk/kakaoFriendsTalkMsgSendAjax.do"
+			, data: data
+			, dataType: 'json'
+			, async: true
+			, processData: false
+			, contentType: false
+			, cache: false
+			, success: function (returnData, status) {
+				if(status == 'success'){
+					if("loginFail" == returnData.result){
+						
+						alert(returnData.message);
+						return false;
+						
+					}else  if('fail' == returnData.result){
+						
+						alert(returnData.message);
+						return false;
+						
+					} else if(status == 'success'){
+						alert("테스트 친구톡 전송이 완료 되었습니다.")
+						window.close();
+					}
+				}
+			}
+			,beforeSend : function(xmlHttpRequest) {
+				//로딩창 show
+				$('.loading_layer').addClass('active');
+			}
+			,complete : function(xhr, textStatus) {
+				//로딩창 hide
+				$('.loading_layer').removeClass('active');
+			}
+			,error: function (e) {
+				console.log("ERROR : ", e);
+				alert("카카오 친구톡 전송에 실패하였습니다.");
+			}
+		});
+	}
+</script>
+
+
+<form id="bizForm" name="bizForm" method="post">
+	<input type="hidden" id="senderKey" name="senderKey" value="<c:out value='${kakaoVO.senderKey}'/>">									<!-- 카카오 보내는 사람 Key -->
+	<input type="hidden" id="templateContent" name="templateContent" value="<c:out value='${kakaoVO.templateContent }'/>">		<!-- 카카오 전송 templat내용 -->
+	<input type="hidden" id="callToList" name="callToList" value="">									<!-- 카카오 전송 전화번호 -->
+	<input type="hidden" id="txtReplYn" name="txtReplYn" value="N">					<!-- 치환문자 여부 - -->
+	
+	
+	<input type="hidden" id="subMsgSendYn" name="subMsgSendYn" value="N">								<!-- 대체문자 전송여부 -->
+	<input type="hidden" id="reserveYn" name="reserveYn" value="N">										<!-- 예약문자 여부 -->
+	<input type="hidden" id="divideChk" name="divideChk" value="N">										<!--분할발성 체크 여부-->
+	<input type="hidden" id="reqDate" name="reqDate" value="">											<!--전송일자-->
+	
+	<input type="hidden" id="bizJsonYn" name="bizJsonYn" value="<c:out value='${kakaoVO.bizJsonYn}' />">					<!-- JSON 생성 여부 -->
+	
+	<input type="hidden" id="imageType" name="imageType" value="<c:out value='${kakaoVO.imageType}'/>"/>				<!-- 이미지 종류 -->
+	<input type="hidden" id="imageFileName" name="imageFileName" value="<c:out value='${kakaoVO.imageFileName}'/>">		<!-- 이미지 파일 이름 -->
+	<input type="hidden" id="templateImageUrl" name="templateImageUrl" value="<c:out value='${kakaoVO.templateImageUrl}'/>"> <!-- 이미지 경로 -->
+	<input type="hidden" id="imgTitle" name="imgTitle" value="<c:out value='${kakaoVO.imgTitle}'/>">					<!-- 이미지 타이틀 -->
+	<input type="hidden" id="imgLink" name="imgLink" value="<c:out value='${kakaoVO.imgLink}'/>">						<!-- 이미지 링크정보 -->
+	<input type="hidden" id="adFlag" name="adFlag" value="<c:out value='${kakaoVO.adFlag}'/>"/>							<!-- 광고여부  -->
+	
+	<input type="hidden" id="spamStatus" name="spamStatus" value="N"/>
+	<input type="hidden" id="atSmishingYn" name="atSmishingYn" value="N"/>
+	
+	<input type="hidden" id="kakaoFtPrice" value="<c:out value='${kakaoFtPrice}' />">
+	<input type="hidden" id="eachPrice" name="eachPrice" value="<c:out value='${kakaoFtPrice}' />"/>
+	<input type="hidden" id="totPrice" name="totalPrice" value="<c:out value='${kakaoFtPrice}' />"/>
+	<input type="hidden" id="varValList" name="varValList" value="<c:out value='${kakaoVO.varValList}' />"/>
+	<!-- 버튼 정보 처리 -->
+	<c:forEach var="buttonList" items="${kakaoVO.buttonVOList}" varStatus="status">
+	                                    	
+   		<c:if test="${buttonList.linkType eq 'DS'}">
+   			<!-- 배송조회 버튼  -->
+      		<input type="hidden" id="buttonLikeTypeDeliv" name="buttonVOList[${status.index}].linkType" value="DS"/>
+      		<input type="hidden" id="btnNmDeliv" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+   		</c:if>
+    	
+    	<c:if test="${buttonList.linkType eq 'WL'}">
+	     	<!-- 웹링크 버튼 -->
+			<input type="hidden" id="buttonLikeTypeWeb" name="buttonVOList[${status.index}].linkType" value="WL"/>
+			<input type="hidden" id="btnNmWeb" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+			<input type="hidden" id="buttonLinkMo" name="buttonVOList[${status.index}].linkMo" value="<c:out value='${buttonList.linkMo}'/>">
+			<input type="hidden" id="buttonLinkPc" name="buttonVOList[${status.index}].linkPc" value="<c:out value='${buttonList.linkPc}'/>">
+    	</c:if>
+    	
+    	<c:if test="${buttonList.linkType eq 'AL'}">
+	     	<!-- 앱링크 버튼 -->
+	     	<input type="hidden" id="buttonLikeTypeApp" name="buttonVOList[${status.index}].linkType" value="AL"/>
+			<input type="hidden" id="btnNmApp" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+			<input type="hidden" id="buttonLinkAnd" name="buttonVOList[${status.index}].linkAnd" value="<c:out value='${buttonList.linkAnd}'/>">
+			<input type="hidden" id="buttonLinkIos" name="buttonVOList[${status.index}].linkIos" value="<c:out value='${buttonList.linkIos}'/>">
+    	</c:if>
+    	
+    	<c:if test="${buttonList.linkType eq 'BK'}">
+	     	<!-- 봇키워드 -->
+	     	<input type="hidden" id="buttonLikeTypeBot" name="buttonVOList[${status.index}].linkType" value="BK"/>
+			<input type="hidden" id="btnNmBot" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+    	</c:if>
+    	
+    	<c:if test="${buttonList.linkType eq 'MD'}">
+	     	<!-- 메시지 전달 -->
+	     	<input type="hidden" id="buttonLikeTypeMsg" name="buttonVOList[${status.index}].linkType" value="MD" />
+			<input type="hidden" id="btnNmMsg" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+		</c:if>	                                    	
+    	
+    	<c:if test="${buttonList.linkType eq 'BC'}">
+	     	<!-- 상담톡 전환 -->
+	     	<input type="hidden" id="buttonLikeTypeCons" name="buttonVOList[${status.index}].linkType" value="BC" />
+			<input type="hidden" id="btnNmCons" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+		</c:if>
+
+		<c:if test="${buttonList.linkType eq 'BT'}">
+			<!-- 챗봇전환 -->
+			<input type="hidden" id="buttonLikeTypeBotChg" name="buttonVOList[${status.index}].linkType" value="BT" />
+			<input type="hidden" id="btnNmBotChg" name="buttonVOList[${status.index}].name" value="<c:out value='${buttonList.name}'/>">
+		</c:if>
+	</c:forEach>
+	
+</form>
+
+<!-- 유저 보유잔액 -->
+<input type="hidden" id="oriUserMoney" value="<c:out value='${userMoney}' />">
+
+<div class="test_sendpop kakao_rev_popup" style="width: 770px;">
+	<div class="info_popup">
+		<div class="popup_heading">
+			<p>테스트 발송</p>
+		</div>
+		<div class="layer_in">
+			<ul class="info_list">
+				<li>테스트 발송은 친구톡을 본인에게 발송하여 친구톡 내용을 미리 확인하는 서비스 입니다.</li>
+			</ul>
+		</div>
+	</div>
+	<div class="test_wrap kakao_wrap">
+		<div class="number">
+			<dl>
+				<dt>수신번호</dt>
+				<dd>
+					<input type="text" id="callTo" name="callTo" maxlength="11" oninput="this.value = this.value.replace(/[^0-9]/g, '').replace(/(\..*)\./g, '$1');"  placeholder="번호를 입력하세요" onfocus="this.placeholder=''" onblur="this.placeholder='번호를 입력하세요'">
+				</dd>
+			</dl>
+			<dl class="price">
+				<dt>발송금액</dt>
+				<dd><span>${kakaoFtPrice}</span>원</dd>
+			</dl>
+			<p class="text">발송하시겠습니까?<span>※ 친구톡 발송과 동일하게 요금이 차감됩니다.</span></p>
+			<button type="button" class="btnType btnType10" onclick="fn_testSendMsgData(); return false;">테스트발송</button>
+		</div>
+		<div class="phone">
+			<div class="phoneIn">
+				<p class="prev_p" id="prev_p_top">
+					${kakaoVO.yellowId}
+				</p>
+				<!-- 텍스트 미리보기 -->
+				<div class="text_preview">
+					<div class="allimtalk_title">
+						<img src="/publish/images/content/icon_allimtalk.png" alt="">친구톡
+					</div>
+					<div class="allimtalk_content" id="alimtalkTemplate">
+<!-- 						<p class="emphasis_side_text">템플릿을 선택해 주세요</p> -->
+							<c:if test="${kakaoVO.imageType eq 'I' || kakaoVO.imageType eq 'W'}">
+								<div class="kakao_image">
+									<img src="<c:url value='${kakaoVO.templateImageUrl}'/>" alt="">
+								</div>
+							</c:if>
+						<!-- 알림톡 내용 표시 -->
+						<p class="template_text">
+							<c:out value="${fn:replace(fn:replace(kakaoVO.templateContent, newLineChar, '<br/>'), newLineChar2, '<br/>')}" escapeXml="false"/>							
+						</p>
+						
+						<!-- 채널 추가형을 선택한 경우 자동으로 버튼이 하나 추가됨, 버튼을 추가한 경우 버튼 정보 표시 -->
+						<c:forEach var="templatInfoButtonList" items="${kakaoVO.buttonVOList}" varStatus="status">
+							<button type="button" class="btn_kakao_type"><c:out value="${templatInfoButtonList.name}"/></button>	
+						</c:forEach>
+					</div>
+				</div>
+				<!-- 텍스트 미리보기 -->
+				
+				<!-- //텍스트 미리보기 -->
+				<!-- <div class="template_info_wrap">
+					<div class="template_byte">
+					</div>
+				</div> -->
+			</div>
+			<p class="addText">※ 단말기 설정에 따라 다르게 보일 수 있습니다<p>
+		</div>
+	</div>
+</div>(No newline at end of file)
src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
--- src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
@@ -785,37 +785,8 @@
 	
 	//이미지 첨부 체크	
 	var imgChk = $("input[name=img_file_add]:checked").val();
-	if(imgChk == 'I' || imgChk == 'W'){
-		
-		var imgTitle = $("#imgTitle").val();
-		var imgLink = $("#imgLink").val();
-		var imgFileName = $("#imageFileName").val();
-		
-		if(imgTitle == ''){
-			
-			alert("친구톡 이미지 제목정보를 입력해 주세요.");
-			return false;
-			
-		}
-		
-		if(imgLink == ''){
-			
-			alert("친구톡 이미지 선택시 이동할 링크 주소를 입력해 주세요.");
-			return false;
-			
-		}
-		
-		if(imgFileName == ''){
-			
-			alert("친구톡 이미지를 등록해 주세요.");
-			return false;
-			
-		}
-		
-		$("#imageType").val(imgChk);
-		
-		//json 파일 필요 유무 셋팅
-		$("#bizJsonYn").val("Y");
+	if(!getFtImageType(imgChk)){
+		return false;
 	}
 	
 	//템플릿 버튼 갯수 체크 
@@ -1434,6 +1405,275 @@
 	$('html').scrollTop(0);
 }
 
+function getFtImageType(imgChk){
+	
+	if(imgChk == 'I' || imgChk == 'W'){
+		
+		var imgTitle = $("#imgTitle").val();
+		var imgLink = $("#imgLink").val();
+		var imgFileName = $("#imageFileName").val();
+		
+		if(imgTitle == ''){
+			
+			alert("친구톡 이미지 제목정보를 입력해 주세요.");
+			return false;
+			
+		}
+		
+		if(imgLink == ''){
+			
+			alert("친구톡 이미지 선택시 이동할 링크 주소를 입력해 주세요.");
+			return false;
+			
+		}
+		
+		if(imgFileName == ''){
+			
+			alert("친구톡 이미지를 등록해 주세요.");
+			return false;
+			
+		}
+		
+		$("#imageType").val(imgChk);
+		
+		//json 파일 필요 유무 셋팅
+		$("#bizJsonYn").val("Y");
+	}
+	
+	return true;
+	
+}
+
+
+function goToKakaoTestPopUp(){
+	
+	if(loginVO == "" || loginVO == null){
+		alert("테스트 발송 서비스는 로그인 후 이용 가능합니다.");
+		location.href="<c:url value='/web/user/login/login.do'/>";
+		return false;
+	}
+	
+	//기업회원 체크
+	if(!usrDeptChk()){
+		return false;
+	}
+	
+	var form = document.bizForm;
+	var senderKey = $("#selectAgentCode option:checked").val();
+	var yellowId = $("#selectAgentCode option:checked").text();
+	
+	if(senderKey == ''){
+		alert("채널ID를 선택해 주세요.");
+		return false;
+	}else{
+		$("#inputSenderKey").val(senderKey);
+		$("#yellowId").val(yellowId);
+	}
+	
+	var imgChk = $("input[name=img_file_add]:checked").val();
+	if(!getFtImageType(imgChk)){
+		return false;
+	}
+	
+	//템플릿 버튼 갯수 체크 
+	var buttonCnt = $(".btn_kakao_type").length;
+
+	if(buttonCnt > 0){
+		//json 파일 필요 유무 셋팅
+		$("#bizJsonYn").val("Y");
+	}
+	
+	//친구톡 내용 체크
+	var tmpContents = $('#inputTemplateContent').val();
+
+	if(tmpContents == ""){
+		
+		alert("친구톡 내용을 입력해 주세요.");
+		return false;
+		
+	}else{
+		
+		//템플릿 내용 입력
+		$("#templateContent").val(tmpContents);
+		
+	}
+	
+	var rtnStr = strChinJpnCheck(tmpContents);
+	
+	//문자내용에 이모지가 있는지 체크
+	if(!emojiCheck(tmpContents)) return false;
+	
+	if(rtnStr.length > 0){
+		
+		alert("입력하신 문구 중 \" " + rtnStr + " \" 는 일부 휴대폰에서 표기되지 않을 수 있습니다.");
+		
+	}
+	
+	
+	var selectedData = tableL.getRows();
+	
+	if(selectedData == "" || selectedData == null){
+		
+		alert("받는사람 주소를 한 건 이상 입력해주세요.");
+		return false;
+	
+	}else{
+		
+		//치환문구 변환 
+		var txtReplYn = $("#txtReplYn").val();
+		
+		if(txtReplYn == 'Y'){
+			
+			var name = tableL.getRows()[0].getData().name;
+			var phone = removeDash(tableL.getRows()[0].getData().phone);
+			var rep1 = tableL.getRows()[0].getData().rep1;
+			var rep2 = tableL.getRows()[0].getData().rep2;
+			var rep3 = tableL.getRows()[0].getData().rep3;
+			var rep4 = tableL.getRows()[0].getData().rep4;
+			
+			var varValList = [];		//치환문자 연결시킬 변수 셋팅
+			
+			
+			var nmStatus = false;
+			var rep1Status = false;
+			var rep2Status = false;
+			var rep3Status = false;
+			var rep4Status = false;
+			
+			var varValStr = "";
+			var varValStatus = true;
+
+			
+			if(tmpContents.indexOf("\#{이름}")  > -1){
+				nmStatus = true;
+			}
+			
+			if(tmpContents.indexOf("\#{1}")  > -1){
+				rep1Status = true;
+			}
+			
+			if(tmpContents.indexOf("\#{2}")  > -1){
+				rep2Status = true;
+			}
+			
+			if(tmpContents.indexOf("\#{3}")  > -1){
+				rep3Status = true;
+			}
+			
+			if(tmpContents.indexOf("\#{4}")  > -1){
+				rep4Status = true;
+			}
+			
+	
+			if(nmStatus && (typeof(name) != 'undefined' && name != null && name !="")){
+				
+				if(varValStr == ''){
+					varValStr = name.replaceAll(",","§");
+				}else{
+					varValStr = varValStr + "¶" +  name.replaceAll(",","§");
+				}
+				
+			}else{
+				
+				if(nmStatus){
+					varValStatus = false;
+				}
+				
+			}
+			
+			if(varValStr == ''){
+				varValStr = phone;
+			}else{
+				varValStr = varValStr + "¶" +  phone;
+			}
+
+			if(rep1Status && (typeof(rep1) != 'undefined' && rep1 != null && rep1 !="")){
+				
+				if(varValStr == ''){
+					varValStr = rep1.replaceAll(",","§");
+				}else{
+					varValStr = varValStr + "¶" +  rep1.replaceAll(",","§");
+				}
+				
+			}else{
+				
+				if(rep1Status){
+					varValStatus = false;
+				}
+				
+			}
+			
+			
+			if(rep2Status && (typeof(rep2) != 'undefined' && rep2 != null && rep2 !="")){
+			
+				if(varValStr == ''){
+					varValStr = rep2.replaceAll(",","§");
+				}else{
+					varValStr = varValStr + "¶" +  rep2.replaceAll(",","§");
+				}
+				
+			}else{
+				
+				if(rep2Status){
+					varValStatus = false;
+				}
+				
+			}
+			
+			if(rep3Status && (typeof(rep3) != 'undefined' && rep3 != null && rep3 !="")){
+				
+				if(varValStr == ''){
+					varValStr = rep3.replaceAll(",","§");
+				}else{
+					varValStr = varValStr + "¶" +  rep3.replaceAll(",","§");
+				}
+				
+			}else{
+				
+				if(rep3Status){
+					varValStatus = false;
+				}
+				
+			}
+			
+			if(rep4Status && (typeof(rep4) != 'undefined' && rep4 != null && rep4 !="")){
+				
+				if(varValStr == ''){
+					varValStr = rep4.replaceAll(",","§");
+				}else{
+					varValStr = varValStr + "¶" +  rep4.replaceAll(",","§");
+				}
+			
+			}else{
+				
+				if(rep4Status){
+					varValStatus = false;
+				}
+				
+			}
+			
+			if(!varValStatus){
+				
+				alert("특정문구 일괄변환에 대한 일부 데이터가 누락된 부분이 있습니다. 데이터를 확인해 주세요.");
+				return false;
+				
+			}
+			
+			varValList[0] = varValStr;
+			
+			$("#varValList").val(varValList);
+		}
+		
+	}
+
+	form.method = "post"; 
+	window.open("about:blank", 'testSendPop', 'width=770, height=850, top=100, left=100, fullscreen=no, menubar=no, status=no, toolbar=no, titlebar=yes, location=no, scrollbars=1');
+	form.target = "testSendPop";
+	form.action = "/web/mjon/kakao/friendstalk/selectKakaoFriendsTalkTestSendPopup.do";
+	form.submit();
+}
+
+
 </script>
 
 <!-- 로딩바 -->
@@ -1508,6 +1748,8 @@
 				
 				<!-- 친구톡 발송 json 파일 필요 유무 -->
 				<input type="hidden" id="bizJsonYn" name="bizJsonYn" value="N"/>
+				
+				<input type="hidden" id="yellowId" name="yellowId" value=""/>
 				
 				
 				<div class="send_general friend_talk_wrap kakao_wrap">
@@ -2109,7 +2351,7 @@
 												<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>
+										<button type="button" class="btnType btnType10"  onclick="javascript:goToKakaoTestPopUp(); return false;">테스트발송</button>
 									</div>
 								</div>
 								<div class="rev_selected" >
Add a comment
List