카카오 친구톡 템플릿 수정 기능 개발
@69232f87f5a2bcea2b07a2862fafaf064f8482cd
--- src/main/java/itn/let/kakao/user/kakaoFt/service/KakaoFriendsTalkTemplateService.java
+++ src/main/java/itn/let/kakao/user/kakaoFt/service/KakaoFriendsTalkTemplateService.java
... | ... | @@ -17,4 +17,7 @@ |
| 17 | 17 |
|
| 18 | 18 |
//친구톡 템플릿 상세정보 조회 |
| 19 | 19 |
KakaoVO selectKakaoFriendsTemplateDetail(KakaoVO kakaoVO) throws Exception; |
| 20 |
+ |
|
| 21 |
+ //친구톡 템플릿 수정처리하기 |
|
| 22 |
+ int updateKakaoFriendsTemplateData(KakaoVO kakaoVO) throws Exception; |
|
| 20 | 23 |
} |
--- src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateDAO.java
+++ src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateDAO.java
... | ... | @@ -126,4 +126,21 @@ |
| 126 | 126 |
|
| 127 | 127 |
} |
| 128 | 128 |
|
| 129 |
+ //친구톡 템플릿 수정처리하기 |
|
| 130 |
+ public int updateKakaoFriendsTemplateData(KakaoVO kakaoVO) throws Exception{
|
|
| 131 |
+ |
|
| 132 |
+ int result = 0; |
|
| 133 |
+ |
|
| 134 |
+ try {
|
|
| 135 |
+ |
|
| 136 |
+ result = update("kakaoFriendsTalkTemplateDAO.updateKakaoFriendsTemplateData", kakaoVO);
|
|
| 137 |
+ |
|
| 138 |
+ } catch (Exception e) {
|
|
| 139 |
+ System.out.println("updateKakaoFriendsTemplateData DAO Error !!! " + e);
|
|
| 140 |
+ } |
|
| 141 |
+ |
|
| 142 |
+ return result; |
|
| 143 |
+ |
|
| 144 |
+ } |
|
| 145 |
+ |
|
| 129 | 146 |
} |
--- src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateServiceImpl.java
+++ src/main/java/itn/let/kakao/user/kakaoFt/service/impl/KakaoFriendsTalkTemplateServiceImpl.java
... | ... | @@ -159,4 +159,57 @@ |
| 159 | 159 |
|
| 160 | 160 |
} |
| 161 | 161 |
|
| 162 |
+ //친구톡 템플릿 수정처리하기 |
|
| 163 |
+ @Override |
|
| 164 |
+ public int updateKakaoFriendsTemplateData(KakaoVO kakaoVO) throws Exception{
|
|
| 165 |
+ |
|
| 166 |
+ int result = 0; |
|
| 167 |
+ int resultBtn = 0; |
|
| 168 |
+ |
|
| 169 |
+ try {
|
|
| 170 |
+ |
|
| 171 |
+ //템플릿 정보 수정 |
|
| 172 |
+ result = kakaoFriendsTalkTemplateDAO.updateKakaoFriendsTemplateData(kakaoVO); |
|
| 173 |
+ |
|
| 174 |
+ String friendId = kakaoVO.getFriendId(); |
|
| 175 |
+ if(result > 0) {
|
|
| 176 |
+ |
|
| 177 |
+ int buttonSize = kakaoVO.getButtonVOList().size(); |
|
| 178 |
+ |
|
| 179 |
+ if(buttonSize > 0) {
|
|
| 180 |
+ |
|
| 181 |
+ //기존 버튼 정보 삭제 |
|
| 182 |
+ int resultBtnCnt = kakaoFriendsTalkTemplateDAO.deleteKakaoFriendstalkButtons(kakaoVO); |
|
| 183 |
+ |
|
| 184 |
+ //신규 버튼 정보 입력 |
|
| 185 |
+ for(KakaoButtonVO button: kakaoVO.getButtonVOList()) {
|
|
| 186 |
+ |
|
| 187 |
+ MjonKakaoTemplateButtonVO tmpButtonVO = new MjonKakaoTemplateButtonVO(); |
|
| 188 |
+ |
|
| 189 |
+ tmpButtonVO.setTemplateId(friendId); |
|
| 190 |
+ tmpButtonVO.setTemplateUseType("F");
|
|
| 191 |
+ tmpButtonVO.setButtonName(button.getName()); |
|
| 192 |
+ tmpButtonVO.setButtonLinktype(button.getLinkType()); |
|
| 193 |
+ tmpButtonVO.setButtonLinkpc(button.getLinkPc()); |
|
| 194 |
+ tmpButtonVO.setButtonLinkmo(button.getLinkMo()); |
|
| 195 |
+ tmpButtonVO.setButtonLinkios(button.getLinkIos()); |
|
| 196 |
+ tmpButtonVO.setButtonLinkand(button.getLinkAnd()); |
|
| 197 |
+ tmpButtonVO.setUserId(kakaoVO.getUserId()); |
|
| 198 |
+ |
|
| 199 |
+ int resultCnt = kakaoFriendsTalkTemplateDAO.insertKakaoFriendsTemplateButtonData(tmpButtonVO); |
|
| 200 |
+ resultBtn = resultBtn + resultCnt; |
|
| 201 |
+ |
|
| 202 |
+ } |
|
| 203 |
+ |
|
| 204 |
+ } |
|
| 205 |
+ |
|
| 206 |
+ } |
|
| 207 |
+ |
|
| 208 |
+ } catch (Exception e) {
|
|
| 209 |
+ System.out.println("updateKakaoFriendsTemplateData ServiceImple Error !!! " + e);
|
|
| 210 |
+ } |
|
| 211 |
+ |
|
| 212 |
+ return result; |
|
| 213 |
+ } |
|
| 214 |
+ |
|
| 162 | 215 |
} |
--- src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java
+++ src/main/java/itn/let/kakao/user/kakaoFt/web/KakaoFriendsTalkTemplateController.java
... | ... | @@ -525,4 +525,68 @@ |
| 525 | 525 |
return "/web/kakao/template/ft/KakaoFriendstalkTemplateDetail"; |
| 526 | 526 |
} |
| 527 | 527 |
|
| 528 |
+ // 카카오 친구톡 템플릿 수정요청 |
|
| 529 |
+ /** |
|
| 530 |
+ * @methodName : updateKakaoFriendsTemplateDataAjax |
|
| 531 |
+ * @author : 우영두 |
|
| 532 |
+ * @date : 2024.01.05 |
|
| 533 |
+ * @description : updateKakaoFriendsTemplateDataAjax 카카오 친구톡 템플릿 수정요청 |
|
| 534 |
+ * @param kakaoVO |
|
| 535 |
+ * @param model |
|
| 536 |
+ * @param response |
|
| 537 |
+ * @return |
|
| 538 |
+ * @throws Exception |
|
| 539 |
+ */ |
|
| 540 |
+ @RequestMapping(value= {"/web/mjon/kakao/template/updateKakaoFriendsTemplateDataAjax.do"})
|
|
| 541 |
+ public ModelAndView updateKakaoFriendsTemplateDataAjax( |
|
| 542 |
+ @ModelAttribute("kakaoVO") KakaoVO kakaoVO
|
|
| 543 |
+ , final MultipartHttpServletRequest multiRequest |
|
| 544 |
+ ) throws Exception {
|
|
| 545 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 546 |
+ modelAndView.setViewName("jsonView");
|
|
| 547 |
+ |
|
| 548 |
+ try {
|
|
| 549 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 550 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 551 |
+ |
|
| 552 |
+ if(userId == "") {
|
|
| 553 |
+ modelAndView.addObject("result", "loginFail");
|
|
| 554 |
+ return modelAndView; |
|
| 555 |
+ }else {
|
|
| 556 |
+ |
|
| 557 |
+ kakaoVO.setUserId(userId); |
|
| 558 |
+ kakaoVO.setUserCallbackYn(userId); |
|
| 559 |
+ kakaoVO.setFrstRegisterId(userId); |
|
| 560 |
+ kakaoVO.setLastUpdusrId(userId); |
|
| 561 |
+ kakaoVO.setSendType("FT");
|
|
| 562 |
+ |
|
| 563 |
+ String imgUrl = kakaoVO.getTemplateImageUrl(); |
|
| 564 |
+ int buttonSize = kakaoVO.getButtonVOList().size(); |
|
| 565 |
+ |
|
| 566 |
+ if(!imgUrl.equals("") || buttonSize > 0) {
|
|
| 567 |
+ |
|
| 568 |
+ //json 파일 생성 처리 |
|
| 569 |
+ String resultJsonPath = kakaoFTJsonSave.kakaoApiJsonSave(kakaoVO); |
|
| 570 |
+ kakaoVO.setBizJsonName(resultJsonPath); |
|
| 571 |
+ |
|
| 572 |
+ } |
|
| 573 |
+ |
|
| 574 |
+ int result = kakaoFtTemplateService.updateKakaoFriendsTemplateData(kakaoVO); |
|
| 575 |
+ |
|
| 576 |
+ if(result > 0) {
|
|
| 577 |
+ modelAndView.addObject("result", "success");
|
|
| 578 |
+ }else {
|
|
| 579 |
+ modelAndView.addObject("result", "fail");
|
|
| 580 |
+ } |
|
| 581 |
+ } |
|
| 582 |
+ }catch(Exception ex){
|
|
| 583 |
+ ex.printStackTrace(); |
|
| 584 |
+ modelAndView.addObject("message", egovMessageSource.getMessage("fail.common.update"));
|
|
| 585 |
+ modelAndView.addObject("result", "fail");
|
|
| 586 |
+ return modelAndView; |
|
| 587 |
+ } |
|
| 588 |
+ |
|
| 589 |
+ return modelAndView; |
|
| 590 |
+ } |
|
| 591 |
+ |
|
| 528 | 592 |
} |
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_FT_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/Kakao_FT_SQL_Mysql.xml
... | ... | @@ -247,5 +247,27 @@ |
| 247 | 247 |
|
| 248 | 248 |
</select> |
| 249 | 249 |
|
| 250 |
+ <update id="kakaoFriendsTalkTemplateDAO.updateKakaoFriendsTemplateData" parameterClass="kakaoVO" > |
|
| 251 |
+ |
|
| 252 |
+ UPDATE MJ_KAKAO_FRIENDS_TEMPLATE |
|
| 253 |
+ SET ATCH_FILE_ID = #bizJsonName#, |
|
| 254 |
+ TEMPLATE_NAME = #templateName#, |
|
| 255 |
+ IMAGE_FILE_NAME = #imageFileName#, |
|
| 256 |
+ IMAGE_URL = #templateImageUrl#, |
|
| 257 |
+ IMAGE_TYPE = #imageType#, |
|
| 258 |
+ IMAGE_TITLE = #imgTitle#, |
|
| 259 |
+ IMAGE_LINK = #imgLink#, |
|
| 260 |
+ SENDER_KEY = #senderKey#, |
|
| 261 |
+ TEMPLATE_CONTENTS = #templateContent#, |
|
| 262 |
+ AD_FLAG = #adFlag#, |
|
| 263 |
+ LAST_UPDT_PNTTM = NOW(), |
|
| 264 |
+ LAST_UPDUSR_ID = #lastUpdusrId# |
|
| 265 |
+ WHERE |
|
| 266 |
+ FRIEND_ID = #friendId# |
|
| 267 |
+ AND USER_ID = #userId# |
|
| 268 |
+ AND SENDER_KEY = #senderKey# |
|
| 269 |
+ |
|
| 270 |
+ </update> |
|
| 271 |
+ |
|
| 250 | 272 |
|
| 251 | 273 |
</sqlMap>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateDetail.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateDetail.jsp
... | ... | @@ -256,6 +256,7 @@ |
| 256 | 256 |
|
| 257 | 257 |
$('.kakao_image').css("display", "block");
|
| 258 | 258 |
$("#kakaoImg").attr("src", imgUrl);
|
| 259 |
+ $("#imageFileName").val(fileName);
|
|
| 259 | 260 |
|
| 260 | 261 |
}else if(code == "2002"){//일반 이미지 가로 세로 크기 오류 발생
|
| 261 | 262 |
|
... | ... | @@ -313,7 +314,7 @@ |
| 313 | 314 |
|
| 314 | 315 |
|
| 315 | 316 |
//발신 템플릿 등록 |
| 316 |
-function addTemplate(){
|
|
| 317 |
+function updateTemplate(){
|
|
| 317 | 318 |
|
| 318 | 319 |
var selectAgentCode = $("select[name='selectAgentCode']").val(); // 선택 채널ID
|
| 319 | 320 |
var yellowId = $("select[name='selectAgentCode'] option:selected").text().replaceAll('@',''); // 선택 채널명
|
... | ... | @@ -386,11 +387,11 @@ |
| 386 | 387 |
|
| 387 | 388 |
var data = new FormData(bizForm); |
| 388 | 389 |
|
| 389 |
- if(confirm("템플릿을 저장하시겠습니까?")){
|
|
| 390 |
+ if(confirm("템플릿을 수정하시겠습니까?")){
|
|
| 390 | 391 |
|
| 391 | 392 |
$.ajax({
|
| 392 | 393 |
type: "POST" |
| 393 |
- , url: "/web/mjon/kakao/template/insertKakaoFriendsTemplateDataAjax.do" |
|
| 394 |
+ , url: "/web/mjon/kakao/template/updateKakaoFriendsTemplateDataAjax.do" |
|
| 394 | 395 |
, data: data |
| 395 | 396 |
, dataType: 'json' |
| 396 | 397 |
, async: false |
... | ... | @@ -401,22 +402,23 @@ |
| 401 | 402 |
|
| 402 | 403 |
var result = returnData.result; |
| 403 | 404 |
|
| 404 |
- if(result == "notLogin") {//차단 발신번호인 경우 등록 불가
|
|
| 405 |
+ if(result == "loginFail") {//차단 발신번호인 경우 등록 불가
|
|
| 405 | 406 |
alert("로그인후 진행이 가능합니다.");
|
| 406 | 407 |
}else if(returnData.result == "success") {
|
| 407 |
- alert("템플릿 저장이 완료되었습니다.");
|
|
| 408 |
- location.href="/web/mjon/kakao/template/selectKakaoFriendsTemplateList.do"; |
|
| 409 |
- return false; |
|
| 408 |
+ alert("템플릿 수정이 완료되었습니다.");
|
|
| 409 |
+ //location.href="/web/mjon/kakao/template/selectKakaoFriendsTemplateList.do"; |
|
| 410 |
+ //return false; |
|
| 411 |
+ location.reload(); |
|
| 410 | 412 |
}else{
|
| 411 | 413 |
|
| 412 |
- alert("템플릿 저장에 오류가 발생하였습니다.");
|
|
| 414 |
+ alert("템플릿 수정에 오류가 발생하였습니다.");
|
|
| 413 | 415 |
return false; |
| 414 | 416 |
|
| 415 | 417 |
} |
| 416 | 418 |
} |
| 417 | 419 |
,error: function (e) {
|
| 418 | 420 |
console.log("ERROR : ", e);
|
| 419 |
- alert("템플릿 저장에 오류가 발생하였습니다.");
|
|
| 421 |
+ alert("템플릿 수정에 오류가 발생하였습니다.");
|
|
| 420 | 422 |
} |
| 421 | 423 |
}); |
| 422 | 424 |
|
... | ... | @@ -458,7 +460,7 @@ |
| 458 | 460 |
var code = returnData.code; |
| 459 | 461 |
var msg = returnData.msg; |
| 460 | 462 |
|
| 461 |
- if(result == "notLogin") {//차단 발신번호인 경우 등록 불가
|
|
| 463 |
+ if(result == "loginFail") {//차단 발신번호인 경우 등록 불가
|
|
| 462 | 464 |
alert("로그인후 진행이 가능합니다.");
|
| 463 | 465 |
}else if(returnData.result == "success") {
|
| 464 | 466 |
|
... | ... | @@ -619,6 +621,7 @@ |
| 619 | 621 |
<input type="hidden" id="menuTopTab" name="menuTopTab" value="tabConf"> |
| 620 | 622 |
<input type="hidden" id="menuSubTab" name="menuSubTab" value="tabSubFt"> |
| 621 | 623 |
<input type="hidden" id="inputSenderKey" name="senderKey" value=""/> |
| 624 |
+ <input type="hidden" id="friendId" name="friendId" value="<c:out value='${resultTemplateVO.friendId}'/>"/>
|
|
| 622 | 625 |
<input type="hidden" id="yellowId" name="yellowId" value=""/> |
| 623 | 626 |
<input type="hidden" id="templateName" name="templateName" value=""/> |
| 624 | 627 |
<input type="hidden" id="imageFileName" name="imageFileName" value="<c:out value='${resultTemplateVO.imageFileName}'/>"/>
|
--- src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateRegist.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/template/ft/KakaoFriendstalkTemplateRegist.jsp
... | ... | @@ -357,7 +357,7 @@ |
| 357 | 357 |
|
| 358 | 358 |
var result = returnData.result; |
| 359 | 359 |
|
| 360 |
- if(result == "notLogin") {//차단 발신번호인 경우 등록 불가
|
|
| 360 |
+ if(result == "loginFail") {//차단 발신번호인 경우 등록 불가
|
|
| 361 | 361 |
alert("로그인후 진행이 가능합니다.");
|
| 362 | 362 |
}else if(returnData.result == "success") {
|
| 363 | 363 |
alert("템플릿 저장이 완료되었습니다.");
|
... | ... | @@ -414,7 +414,7 @@ |
| 414 | 414 |
var code = returnData.code; |
| 415 | 415 |
var msg = returnData.msg; |
| 416 | 416 |
|
| 417 |
- if(result == "notLogin") {//차단 발신번호인 경우 등록 불가
|
|
| 417 |
+ if(result == "loginFail") {//차단 발신번호인 경우 등록 불가
|
|
| 418 | 418 |
alert("로그인후 진행이 가능합니다.");
|
| 419 | 419 |
}else if(returnData.result == "success") {
|
| 420 | 420 |
|
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?