diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java
index e479e055..c45ab844 100644
--- a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java
+++ b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkSendController.java
@@ -661,4 +661,56 @@ public class KakaoFriendsTalkSendController {
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";
+ }
+
+
}
diff --git a/src/main/webapp/WEB-INF/decorators.xml b/src/main/webapp/WEB-INF/decorators.xml
index 78fdba3c..38c86778 100644
--- a/src/main/webapp/WEB-INF/decorators.xml
+++ b/src/main/webapp/WEB-INF/decorators.xml
@@ -183,6 +183,7 @@
*/web/pop/*
/web/mjon/kakao/template/selectKakaoAlimtalkTemplateListPopupAjax.do
/web/mjon/kakao/alimtalk/selectKakaoAlimtalkTemplateDataTestPopup.do
+ /web/mjon/kakao/friendstalk/selectKakaoFriendsTalkTestSendPopup.do
/web/mjon/fax/faxSendDetailPopup.do
diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp
index bca84c71..1978ab87 100644
--- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp
+++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/at/KakaoAlimtalkMsgDataTestPop.jsp
@@ -134,7 +134,7 @@
-

친구톡 수정
+

알림톡 도착
@@ -195,10 +195,10 @@
-
+
※ 단말기 설정에 따라 다르게 보일 수 있습니다
diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataTestPop.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataTestPop.jsp
new file mode 100644
index 00000000..06ba0dd7
--- /dev/null
+++ b/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"); %>
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
index 1a848ef5..670e84fa 100644
--- a/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
+++ b/src/main/webapp/WEB-INF/jsp/web/kakao/msgdata/ft/KakaoFriendsTalkMsgDataView.jsp
@@ -785,37 +785,8 @@ function fn_sendMsgData(){
//이미지 첨부 체크
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 @@ function msgSuccessClose(obj){
$('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="
";
+ 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();
+}
+
+
@@ -1509,6 +1749,8 @@ function msgSuccessClose(obj){
+
+
@@ -2109,7 +2351,7 @@ function msgSuccessClose(obj){
-
+