From 56469d64d8acdbee48b43afaaa3ff641703337d5 Mon Sep 17 00:00:00 2001 From: rosewiper Date: Tue, 9 Jan 2024 13:28:20 +0900 Subject: [PATCH] =?UTF-8?q?=EC=B9=B4=EC=B9=B4=EC=98=A4=20=EC=B9=9C?= =?UTF-8?q?=EA=B5=AC=ED=86=A1=20=EB=B0=9C=EC=86=A1=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EA=B0=9C=EB=B0=9C=20=EC=A7=84=ED=96=89=20=EC=A4=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web/KakaoFriendsTalkSendController.java | 19 + .../kakao/include/KaKaoAlimtalkTopMenuTap.jsp | 1 + .../ft/KakaoFriendsTalkMsgDataView.jsp | 550 ++++++++++++++++-- .../KakaoFriendstalkTemplateListPopupAjax.jsp | 22 +- .../ft/KakaoFriendstalkTemplateRegist.jsp | 2 +- .../webapp/js/kakao/at/friendstalkExcel.js | 180 ++++++ 6 files changed, 733 insertions(+), 41 deletions(-) create mode 100644 src/main/webapp/js/kakao/at/friendstalkExcel.js 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 18bcdead..15bf7ad6 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 @@ -25,6 +25,7 @@ import itn.com.utl.fcc.service.EgovStringUtil; import itn.let.kakao.kakaoComm.KakaoSendUtil; import itn.let.kakao.kakaoComm.KakaoVO; import itn.let.kakao.kakaoComm.kakaoApi.service.KakaoApiService; +import itn.let.kakao.user.kakaoFt.service.KakaoFriendsTalkTemplateService; import itn.let.mjo.msgdata.service.MjonMsgDataService; import itn.let.mjo.msgdata.service.MjonMsgDataVO; import itn.let.mjo.symbol.service.MjonSymbolService; @@ -47,6 +48,9 @@ public class KakaoFriendsTalkSendController { @Resource(name = "MjonMsgDataService") private MjonMsgDataService mjonMsgDataService; + @Resource(name = "kakaoFriendsTalkTemplateService") + private KakaoFriendsTalkTemplateService kakaoFtTemplateService; + @Autowired KakaoSendUtil kakaoSendUtil; @@ -134,6 +138,21 @@ public class KakaoFriendsTalkSendController { // 사용자 정의 단가 정보 불러오기(시스템 단가 혹은 협의 단가) model.addAttribute("sendPrice", kakaoSendUtil.selectSendPriceOfKakaoAtAndSmsAndMms(userId)); + + + //사용자 템플릿 정보 조회 + String friendId = kakaoVO.getFriendId(); + KakaoVO resultTemplateVO = new KakaoVO(); + + if(!friendId.equals("") || friendId != null) { + + System.out.println("+++++++++++++++++++++++ friendId ::: "+friendId); + + resultTemplateVO = kakaoFtTemplateService.selectKakaoFriendsTemplateDetail(kakaoVO); + + } + + model.addAttribute("resultTemplateVO", resultTemplateVO); } diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/include/KaKaoAlimtalkTopMenuTap.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/include/KaKaoAlimtalkTopMenuTap.jsp index ba4e3c51..d5247db8 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/include/KaKaoAlimtalkTopMenuTap.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/include/KaKaoAlimtalkTopMenuTap.jsp @@ -60,6 +60,7 @@ function fnLinkPageTopTab(tabInfo){ }else if(tabInfo == 'tabFriend'){ /* alert("친구톡 메뉴는 현재 개발이 진행 중입니다."); */ + $("input[name=friendId]").val(""); url = ""; }else if(tabInfo == 'tabAlimtalkIntrd'){ 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 f296ceb6..1d986aad 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 @@ -6,6 +6,10 @@ + + + + @@ -379,10 +617,14 @@ function fnContentsReset(){
- - - - + + + + + + + +
@@ -399,18 +641,25 @@ function fnContentsReset(){ + 템플릿명 + + +

최대 50자, 템플릿 관리용

+ + + 이미지 첨부
- - - + checked > + checked > + checked >

* 이미지 첨부 안내

    @@ -434,11 +683,11 @@ function fnContentsReset(){
    • 이미지 제목

      - +
    • 이미지 클릭시 이동할 URL

      - +
    • 첨부파일 이미지

      @@ -455,21 +704,20 @@ function fnContentsReset(){ 광고포함 여부 - - + checked > + checked > 내용
      -

      (광고) 채널ID

      - +

      수신거부 : 홈 > 채널차단

      @@ -598,7 +846,7 @@ function fnContentsReset(){
      - +
      @@ -619,7 +867,132 @@ function fnContentsReset(){ * 버튼 타입중 봇키워드, 메시지전달카카오톡 채널 관리자센터(https://center-pf.kakao.com)에서 설정을 직접 한 후 이용하셔야 동작합니다. (최대 5개까지 등록가능)

      -
      + + + + +
      +
      배송조회
      +
      + + +

      *이용가능 택배사 : KG로지스, 우체국택배,일양로지스, GTX로지스, FedEx, 경동택배, 합동택배, 롯데택배

      +
      +
      + +
      +
      +
      + + + +
      +
      웹링크
      +
      +
        +
      • + + +
      • +
      • + +
      • +
      • + +
      • +
      +
      +
      + +
      +
      +
      + + + +
      +
      앱링크
      +
      +
        +
      • + + +
      • +
      • + +
      • +
      • + +
      • +
      +
      +
      + +
      +
      +
      + + + +
      +
      봇키워드
      +
      + + +
      +
      +
      +
      + + + +
      +
      메시지전달
      +
      + + +
      +
      + +
      +
      +
      + + + +
      +
      상담톡전환
      +
      + + +
      +
      + +
      +
      +
      + + + +
      +
      챗봇전환
      +
      + + +
      +
      + +
      +
      +
      +
      +
      @@ -655,7 +1028,7 @@ function fnContentsReset(){
      - +
      @@ -802,7 +1175,9 @@ function fnContentsReset(){

      내용 미리보기

      - + + +

      수신거부 : 홈 > 채널차단

      @@ -891,4 +1266,111 @@ function fnContentsReset(){
-
\ No newline at end of file +
+ + +
+ +
+ + + +
+
+ +
+
+ +
+ +
\ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateListPopupAjax.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateListPopupAjax.jsp index 415fa9b3..2a508ce7 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateListPopupAjax.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateListPopupAjax.jsp @@ -112,6 +112,13 @@ form.submit(); } + + function fnTemplateDetail(ftId){ + + opener.parent.myTemplateSelect(ftId); + self.close(); + + } @@ -144,10 +151,10 @@
-
+ <%--
-
-

'); return false;" style="cursor:pointer;"> +

--%> +

(광고)

@@ -158,7 +165,7 @@
-
'); return false;" style="cursor:pointer;"> +

@@ -170,7 +177,10 @@

수신거부 | 홈 > 채널차단

-
+
+ +
+ <%--
템플릿명
@@ -181,7 +191,7 @@
등록일
-
+
--%> diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateRegist.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateRegist.jsp index a9636c48..1addf48b 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateRegist.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateRegist.jsp @@ -611,7 +611,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){ 템플릿명 -

최대 100자, 템플릿 관리용

+

최대 50자, 템플릿 관리용

diff --git a/src/main/webapp/js/kakao/at/friendstalkExcel.js b/src/main/webapp/js/kakao/at/friendstalkExcel.js new file mode 100644 index 00000000..db222e58 --- /dev/null +++ b/src/main/webapp/js/kakao/at/friendstalkExcel.js @@ -0,0 +1,180 @@ +/** + * + * @author : 우영두 + * @fileName : friendstalkExcel.js + * @date : 2024.01.08 + * @description : 친구톡 excel 관련된 fuction .js + * =========================================================== + * DATE AUTHOR NOTE + * ----------------------------------------------------------- * + * 2024.01.08 우영두 최초 생성 + * + * + * + */ + + +$(document).ready(function(){ + + //치환문자 없는 엑섹불러오기 버튼 클릭시 파일 첨부 실행 + $('.c1').click(function(){ // 엑셀파일 불러오기 선택 시 + + $("#excelFile").click(); + + }); + +}); + + +//엑셀 파일 불러오기 +function excelExport(event){ + + var fileValue = $("#excelFile").val().split("\\"); + var fileName = fileValue[fileValue.length-1]; + + var fileExt = fileName.split('.').pop().toLowerCase(); + + if(fileExt.length > 0){ + if($.inArray(fileExt, ['txt','xls','xlsx']) == -1) { + + alert('txt, xls, xlsx 파일만 업로드 할수 있습니다.'); + return false; + + } + + //$("#excelFile").val(""); + //선택 파일명 화면에 표시해주기 + $("#excelNm").val(fileName); + + } + +} + + +//엑셀파일 자료 데이터베이스에 입력해주기 +function fnInsertAttchFileData(){ + + var data = new FormData(document.excelForm); + data.append("file0", $('#excelFile').prop('files')[0]); + + var fileValue = $("#excelFile").val().split("\\"); + var fileName = fileValue[fileValue.length-1]; + + var fileExt = fileName.split('.').pop().toLowerCase(); + + var url = ""; + + if(fileExt == "xls" || fileExt == "xlsx"){ + + //url = "/web/mjon/msgcampain/insertExelFileTWCallToAjax.do"; + + }else if(fileExt = "txt"){ + + //url = "/web/mjon/msgcampain/insertTxtFileTWCallToAjax.do"; + + }else{ + + alert('txt, xls, xlsx 파일만 업로드 할수 있습니다.'); + return; + + } + + //엑셀 데이터 변수에 자료가 있으면 지워준다. + if(excelAddr.length > 0){ + + excelAddr = []; + + } + + $.ajax({ + type: "POST", + enctype: 'multipart/form-data', + url: url, + data: data, + dataType:'json', + async: true, + processData: false, + contentType: false, + cache: false, + //timeout: 600000, + success: function (returnData, status) { + if(status == 'success'){ // status 확인 필요한가. 석세스 안뜨면 에러 가지 않나 + + if(returnData.success){ + + var data = returnData.data; + var message = returnData.message; + + if(message != '' ){ + alert(returnData.message); + } + + + if(data != null){ + + $.each(data, function(i, item){ + + //form 데이터 callSeq에 순번 입력해주기 + $("#callSeq").val(item.callSeq); + + }); + + } + + //입력된 데이터베이스에서 받는사람 20건 불러와서 화면에 표시해주기 + var callSeq = $("#callSeq").val(); + if(callSeq > 0){ + + //첨부파일로 불러온 데이터를 받는사람 목록에 추가해 준다. + addTWCallToInfo(); + + //첨부파일 초기화 시켜주기 + $("#excelFile").val(""); + $("#excelNm").val(""); + + }else{ + + alert("추가 엑셀 데이터가 없습니다."); + return false; + + } + + }else{ + alert(returnData.message); + excelAddr = []; //엑셀 데이터 저장 변수 초기화 + $("#excelFile").val(""); //첨부파일 input 초기화 + $("#excelNm").val(""); // 첨부파일 명 초기화 + fileName = ""; + return; + + } + } else if(status== 'fail'){ + alert("첨부파일 불러오는 중 오류가 발생하였습니다."); + console.log("status : fail ~"); + } + }, + error: function (e) { + alert("첨부파일 불러오는 중 오류가 발생하였습니다."); + console.log("ERROR : ", e); + }, + beforeSend : function(xmlHttpRequest) { + //로딩창 show + $('.loading_layer').addClass('active'); + }, + complete : function(xhr, textStatus) { + //로딩창 hide + $('.loading_layer').removeClass('active'); + } + }); + +} + +//엑셀 불러오기 팝업의 추가 버튼 처리 +$("#excelAdd").click(function(){ + + var callSeq = $("#callSeq").val(); + + //엑셀파일 자료 데이터베이스에 입력해주기 + fnInsertAttchFileData(); + +}); \ No newline at end of file