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") {