diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/service/KakaoFriendsTalkTemplateService.java b/src/main/java/itn/let/kakao/user/kakaoFt/service/KakaoFriendsTalkTemplateService.java index 080cc18b..c915e1c5 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/service/KakaoFriendsTalkTemplateService.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/service/KakaoFriendsTalkTemplateService.java @@ -17,4 +17,7 @@ public interface KakaoFriendsTalkTemplateService { //친구톡 템플릿 상세정보 조회 KakaoVO selectKakaoFriendsTemplateDetail(KakaoVO kakaoVO) throws Exception; + + //친구톡 템플릿 수정처리하기 + int updateKakaoFriendsTemplateData(KakaoVO kakaoVO) throws Exception; } diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateDAO.java b/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateDAO.java index 9a53b3b8..7d8e1f2c 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateDAO.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateDAO.java @@ -126,4 +126,21 @@ public class KakaoFriendsTalkTemplateDAO extends EgovAbstractDAO{ } + //친구톡 템플릿 수정처리하기 + public int updateKakaoFriendsTemplateData(KakaoVO kakaoVO) throws Exception{ + + int result = 0; + + try { + + result = update("kakaoFriendsTalkTemplateDAO.updateKakaoFriendsTemplateData", kakaoVO); + + } catch (Exception e) { + System.out.println("updateKakaoFriendsTemplateData DAO Error !!! " + e); + } + + return result; + + } + } diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateServiceImpl.java b/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateServiceImpl.java index e5fd4185..5091834b 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateServiceImpl.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateServiceImpl.java @@ -159,4 +159,57 @@ public class KakaoFriendsTalkTemplateServiceImpl extends EgovAbstractServiceImp } + //친구톡 템플릿 수정처리하기 + @Override + public int updateKakaoFriendsTemplateData(KakaoVO kakaoVO) throws Exception{ + + int result = 0; + int resultBtn = 0; + + try { + + //템플릿 정보 수정 + result = kakaoFriendsTalkTemplateDAO.updateKakaoFriendsTemplateData(kakaoVO); + + String friendId = kakaoVO.getFriendId(); + if(result > 0) { + + int buttonSize = kakaoVO.getButtonVOList().size(); + + if(buttonSize > 0) { + + //기존 버튼 정보 삭제 + int resultBtnCnt = kakaoFriendsTalkTemplateDAO.deleteKakaoFriendstalkButtons(kakaoVO); + + //신규 버튼 정보 입력 + for(KakaoButtonVO button: kakaoVO.getButtonVOList()) { + + MjonKakaoTemplateButtonVO tmpButtonVO = new MjonKakaoTemplateButtonVO(); + + tmpButtonVO.setTemplateId(friendId); + tmpButtonVO.setTemplateUseType("F"); + tmpButtonVO.setButtonName(button.getName()); + tmpButtonVO.setButtonLinktype(button.getLinkType()); + tmpButtonVO.setButtonLinkpc(button.getLinkPc()); + tmpButtonVO.setButtonLinkmo(button.getLinkMo()); + tmpButtonVO.setButtonLinkios(button.getLinkIos()); + tmpButtonVO.setButtonLinkand(button.getLinkAnd()); + tmpButtonVO.setUserId(kakaoVO.getUserId()); + + int resultCnt = kakaoFriendsTalkTemplateDAO.insertKakaoFriendsTemplateButtonData(tmpButtonVO); + resultBtn = resultBtn + resultCnt; + + } + + } + + } + + } catch (Exception e) { + System.out.println("updateKakaoFriendsTemplateData ServiceImple Error !!! " + e); + } + + return result; + } + } diff --git a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java index 936134cc..ab3964cb 100644 --- a/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java +++ b/src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java @@ -525,4 +525,68 @@ public class KakaoFriendsTalkTemplateController { return "/web/kakao/template/ft/KakaoFriendstalkTemplateDetail"; } + // 카카오 친구톡 템플릿 수정요청 + /** + * @methodName : updateKakaoFriendsTemplateDataAjax + * @author : 우영두 + * @date : 2024.01.05 + * @description : updateKakaoFriendsTemplateDataAjax 카카오 친구톡 템플릿 수정요청 + * @param kakaoVO + * @param model + * @param response + * @return + * @throws Exception + */ + @RequestMapping(value= {"/web/mjon/kakao/template/updateKakaoFriendsTemplateDataAjax.do"}) + public ModelAndView updateKakaoFriendsTemplateDataAjax( + @ModelAttribute("kakaoVO") KakaoVO kakaoVO + , final MultipartHttpServletRequest multiRequest + ) throws Exception { + ModelAndView modelAndView = new ModelAndView(); + modelAndView.setViewName("jsonView"); + + try { + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + if(userId == "") { + modelAndView.addObject("result", "loginFail"); + return modelAndView; + }else { + + kakaoVO.setUserId(userId); + kakaoVO.setUserCallbackYn(userId); + kakaoVO.setFrstRegisterId(userId); + kakaoVO.setLastUpdusrId(userId); + kakaoVO.setSendType("FT"); + + String imgUrl = kakaoVO.getTemplateImageUrl(); + int buttonSize = kakaoVO.getButtonVOList().size(); + + if(!imgUrl.equals("") || buttonSize > 0) { + + //json 파일 생성 처리 + String resultJsonPath = kakaoFTJsonSave.kakaoApiJsonSave(kakaoVO); + kakaoVO.setBizJsonName(resultJsonPath); + + } + + int result = kakaoFtTemplateService.updateKakaoFriendsTemplateData(kakaoVO); + + if(result > 0) { + modelAndView.addObject("result", "success"); + }else { + modelAndView.addObject("result", "fail"); + } + } + }catch(Exception ex){ + ex.printStackTrace(); + modelAndView.addObject("message", egovMessageSource.getMessage("fail.common.update")); + modelAndView.addObject("result", "fail"); + return modelAndView; + } + + return modelAndView; + } + } diff --git a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_FT_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_FT_SQL_Mysql.xml index 36d6c7c0..5c566a6b 100644 --- a/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_FT_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_FT_SQL_Mysql.xml @@ -247,5 +247,27 @@ + + + UPDATE MJ_KAKAO_FRIENDS_TEMPLATE + SET ATCH_FILE_ID = #bizJsonName#, + TEMPLATE_NAME = #templateName#, + IMAGE_FILE_NAME = #imageFileName#, + IMAGE_URL = #templateImageUrl#, + IMAGE_TYPE = #imageType#, + IMAGE_TITLE = #imgTitle#, + IMAGE_LINK = #imgLink#, + SENDER_KEY = #senderKey#, + TEMPLATE_CONTENTS = #templateContent#, + AD_FLAG = #adFlag#, + LAST_UPDT_PNTTM = NOW(), + LAST_UPDUSR_ID = #lastUpdusrId# + WHERE + FRIEND_ID = #friendId# + AND USER_ID = #userId# + AND SENDER_KEY = #senderKey# + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateDetail.jsp b/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateDetail.jsp index bfd87243..5785e555 100644 --- a/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateDetail.jsp @@ -256,6 +256,7 @@ function getTemplateImagUrl(){ $('.kakao_image').css("display", "block"); $("#kakaoImg").attr("src", imgUrl); + $("#imageFileName").val(fileName); }else if(code == "2002"){//일반 이미지 가로 세로 크기 오류 발생 @@ -313,7 +314,7 @@ function getTemplateImagUrl(){ //발신 템플릿 등록 -function addTemplate(){ +function updateTemplate(){ var selectAgentCode = $("select[name='selectAgentCode']").val(); // 선택 채널ID var yellowId = $("select[name='selectAgentCode'] option:selected").text().replaceAll('@',''); // 선택 채널명 @@ -386,11 +387,11 @@ function addTemplate(){ var data = new FormData(bizForm); - if(confirm("템플릿을 저장하시겠습니까?")){ + if(confirm("템플릿을 수정하시겠습니까?")){ $.ajax({ type: "POST" - , url: "/web/mjon/kakao/template/insertKakaoFriendsTemplateDataAjax.do" + , url: "/web/mjon/kakao/template/updateKakaoFriendsTemplateDataAjax.do" , data: data , dataType: 'json' , async: false @@ -401,22 +402,23 @@ function addTemplate(){ var result = returnData.result; - if(result == "notLogin") {//차단 발신번호인 경우 등록 불가 + if(result == "loginFail") {//차단 발신번호인 경우 등록 불가 alert("로그인후 진행이 가능합니다."); }else if(returnData.result == "success") { - alert("템플릿 저장이 완료되었습니다."); - location.href="/web/mjon/kakao/template/selectKakaoFriendsTemplateList.do"; - return false; + alert("템플릿 수정이 완료되었습니다."); + //location.href="/web/mjon/kakao/template/selectKakaoFriendsTemplateList.do"; + //return false; + location.reload(); }else{ - alert("템플릿 저장에 오류가 발생하였습니다."); + alert("템플릿 수정에 오류가 발생하였습니다."); return false; } } ,error: function (e) { console.log("ERROR : ", e); - alert("템플릿 저장에 오류가 발생하였습니다."); + alert("템플릿 수정에 오류가 발생하였습니다."); } }); @@ -458,7 +460,7 @@ function fnImageDel(){ var code = returnData.code; var msg = returnData.msg; - if(result == "notLogin") {//차단 발신번호인 경우 등록 불가 + if(result == "loginFail") {//차단 발신번호인 경우 등록 불가 alert("로그인후 진행이 가능합니다."); }else if(returnData.result == "success") { @@ -619,6 +621,7 @@ $(document).on('click', '.symbolButton, .changeWord', function (){ + 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 b0052596..e3b8e147 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 @@ -357,7 +357,7 @@ function addTemplate(){ var result = returnData.result; - if(result == "notLogin") {//차단 발신번호인 경우 등록 불가 + if(result == "loginFail") {//차단 발신번호인 경우 등록 불가 alert("로그인후 진행이 가능합니다."); }else if(returnData.result == "success") { alert("템플릿 저장이 완료되었습니다."); @@ -414,7 +414,7 @@ function fnImageDel(){ var code = returnData.code; var msg = returnData.msg; - if(result == "notLogin") {//차단 발신번호인 경우 등록 불가 + if(result == "loginFail") {//차단 발신번호인 경우 등록 불가 alert("로그인후 진행이 가능합니다."); }else if(returnData.result == "success") {