Merge branch 'master' of http://vcs.iten.co.kr:9999/hylee/mjon_git
@9bc7407fae13c25f64427257fe8067c19d36269d
--- src/main/java/itn/let/cop/bbs/service/EgovBBSManageService.java
+++ src/main/java/itn/let/cop/bbs/service/EgovBBSManageService.java
... | ... | @@ -217,6 +217,8 @@ |
| 217 | 217 |
|
| 218 | 218 |
public List<BoardVO> selectAdminMainBoardByDash(BoardVO boardVO) throws Exception; |
| 219 | 219 |
|
| 220 |
+ public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception; |
|
| 221 |
+ |
|
| 220 | 222 |
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception; |
| 221 | 223 |
|
| 222 | 224 |
public int selectAdminMainYdaBoardCnt(BoardVO boardVO) throws Exception; |
--- src/main/java/itn/let/cop/bbs/service/impl/BBSManageDAO.java
+++ src/main/java/itn/let/cop/bbs/service/impl/BBSManageDAO.java
... | ... | @@ -350,6 +350,11 @@ |
| 350 | 350 |
return (List<BoardVO>) list("BBSManageDAO.selectAdminMainBoardByDash", boardVO);
|
| 351 | 351 |
} |
| 352 | 352 |
|
| 353 |
+ @SuppressWarnings("unchecked")
|
|
| 354 |
+ public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
|
|
| 355 |
+ return (List<BoardVO>) list("BBSManageDAO.selectUserBbsWriteList", boardVO);
|
|
| 356 |
+ } |
|
| 357 |
+ |
|
| 353 | 358 |
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception{
|
| 354 | 359 |
return (Integer)select("BBSManageDAO.selectAdminMainNewBoardCnt", boardVO);
|
| 355 | 360 |
} |
--- src/main/java/itn/let/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
+++ src/main/java/itn/let/cop/bbs/service/impl/EgovBBSManageServiceImpl.java
... | ... | @@ -331,6 +331,11 @@ |
| 331 | 331 |
public List<BoardVO> selectAdminMainBoardByDash(BoardVO boardVO) throws Exception {
|
| 332 | 332 |
return bbsMngDAO.selectAdminMainBoardByDash(boardVO); |
| 333 | 333 |
} |
| 334 |
+ |
|
| 335 |
+ @Override |
|
| 336 |
+ public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
|
|
| 337 |
+ return bbsMngDAO.selectUserBbsWriteList(boardVO); |
|
| 338 |
+ } |
|
| 334 | 339 |
|
| 335 | 340 |
@Override |
| 336 | 341 |
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception {
|
--- src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
+++ src/main/java/itn/let/cop/bbs/web/EgovBBSManageController.java
... | ... | @@ -2242,6 +2242,20 @@ |
| 2242 | 2242 |
ModelAndView modelAndView = new ModelAndView(); |
| 2243 | 2243 |
modelAndView.setViewName("jsonView");
|
| 2244 | 2244 |
|
| 2245 |
+ // Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리 |
|
| 2246 |
+ //boardVO.setBbsId("BBSMSTR_000000000651"); // 공지사항
|
|
| 2247 |
+ List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO); |
|
| 2248 |
+ System.out.println("boardVO.getBbsId : " + boardVO.getBbsId());
|
|
| 2249 |
+ System.out.println("userBbsWriteList.size() : " + userBbsWriteList.size());
|
|
| 2250 |
+ |
|
| 2251 |
+ if (userBbsWriteList.size() == 0) {
|
|
| 2252 |
+ // 1:1문의, 불편사항 등 고객이 등록할수있는 게시판 목록이 아닐경우 |
|
| 2253 |
+ modelAndView.addObject("message", "잘못된 접근입니다.\n관리자에게 문의하세요.");
|
|
| 2254 |
+ modelAndView.addObject("result", "fail");
|
|
| 2255 |
+ return modelAndView; |
|
| 2256 |
+ } |
|
| 2257 |
+ // End |
|
| 2258 |
+ |
|
| 2245 | 2259 |
if (bmVO == null || ("N").equals(bmVO.getUseAt())) {
|
| 2246 | 2260 |
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
|
| 2247 | 2261 |
//return "redirect:/web/main/mainPage.do"; |
... | ... | @@ -2622,6 +2636,20 @@ |
| 2622 | 2636 |
ModelAndView modelAndView = new ModelAndView(); |
| 2623 | 2637 |
modelAndView.setViewName("jsonView");
|
| 2624 | 2638 |
|
| 2639 |
+ // Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리 |
|
| 2640 |
+ //boardVO.setBbsId("BBSMSTR_000000000651"); // 공지사항
|
|
| 2641 |
+ List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO); |
|
| 2642 |
+ System.out.println("boardVO.getBbsId : " + boardVO.getBbsId());
|
|
| 2643 |
+ System.out.println("userBbsWriteList.size() : " + userBbsWriteList.size());
|
|
| 2644 |
+ |
|
| 2645 |
+ if (userBbsWriteList.size() == 0) {
|
|
| 2646 |
+ // 1:1문의, 불편사항 등 고객이 등록할수있는 게시판 목록이 아닐경우 |
|
| 2647 |
+ modelAndView.addObject("message", "잘못된 접근입니다.\n관리자에게 문의하세요.");
|
|
| 2648 |
+ modelAndView.addObject("result", "fail");
|
|
| 2649 |
+ return modelAndView; |
|
| 2650 |
+ } |
|
| 2651 |
+ // End |
|
| 2652 |
+ |
|
| 2625 | 2653 |
BoardMasterVO bmVO = new BoardMasterVO(); |
| 2626 | 2654 |
bmVO.setBbsId(boardVO.getBbsId()); |
| 2627 | 2655 |
bmVO = bbsAttrbService.selectBBSMasterInf(bmVO); |
--- src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATService.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/service/MjonKakaoATService.java
... | ... | @@ -9,6 +9,9 @@ |
| 9 | 9 |
//알림톡 전체 발송 리스트 |
| 10 | 10 |
List<KakaoVO> selectMjonKakaoATGroupCompleteList(KakaoVO searchVO) throws Exception; |
| 11 | 11 |
|
| 12 |
+ //알림톡 전체 발송 리스트(대시보드용) |
|
| 13 |
+ List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO searchVO) throws Exception; |
|
| 14 |
+ |
|
| 12 | 15 |
//알림톡 발송 상세 리스트 |
| 13 | 16 |
List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO searchVO) throws Exception; |
| 14 | 17 |
|
--- src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATDAO.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATDAO.java
... | ... | @@ -18,6 +18,11 @@ |
| 18 | 18 |
} |
| 19 | 19 |
|
| 20 | 20 |
@SuppressWarnings("unchecked")
|
| 21 |
+ public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
|
| 22 |
+ return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList", p_mjonKakaoATVO);
|
|
| 23 |
+ } |
|
| 24 |
+ |
|
| 25 |
+ @SuppressWarnings("unchecked")
|
|
| 21 | 26 |
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
| 22 | 27 |
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupDtList", p_mjonKakaoATVO);
|
| 23 | 28 |
} |
--- src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATServiceImpl.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/service/impl/MjonKakaoATServiceImpl.java
... | ... | @@ -75,6 +75,23 @@ |
| 75 | 75 |
} |
| 76 | 76 |
|
| 77 | 77 |
@Override |
| 78 |
+ public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception {
|
|
| 79 |
+ |
|
| 80 |
+ List<KakaoVO> result = new ArrayList<KakaoVO>(); |
|
| 81 |
+ |
|
| 82 |
+ try {
|
|
| 83 |
+ |
|
| 84 |
+ result = mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList(p_mjonKakaoATVO); |
|
| 85 |
+ |
|
| 86 |
+ } catch (Exception e) {
|
|
| 87 |
+ System.out.println("selectMjonKakaoATGroupCompleteByUserList ServiceImpl Error ::: " + e);
|
|
| 88 |
+ } |
|
| 89 |
+ |
|
| 90 |
+ |
|
| 91 |
+ return result; |
|
| 92 |
+ } |
|
| 93 |
+ |
|
| 94 |
+ @Override |
|
| 78 | 95 |
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception {
|
| 79 | 96 |
|
| 80 | 97 |
List<KakaoVO> resultList = new ArrayList<KakaoVO>(); |
--- src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
+++ src/main/java/itn/let/kakao/admin/kakaoAt/web/MjonKakaoATController.java
... | ... | @@ -20,6 +20,7 @@ |
| 20 | 20 |
import itn.com.cmm.LoginVO; |
| 21 | 21 |
import itn.com.cmm.service.EgovCmmUseService; |
| 22 | 22 |
import itn.com.cmm.service.FileVO; |
| 23 |
+import itn.com.cmm.util.MJUtil; |
|
| 23 | 24 |
import itn.com.cmm.util.StringUtil; |
| 24 | 25 |
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO; |
| 25 | 26 |
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService; |
... | ... | @@ -231,7 +232,15 @@ |
| 231 | 232 |
kakaoVO.setReserveCYn("N");//예약취소건은 제외하기
|
| 232 | 233 |
// 문자발송 완료건은 모두 보이도록 처리 |
| 233 | 234 |
//kakaoVO.setMsgType("8");
|
| 234 |
- resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(kakaoVO); |
|
| 235 |
+ |
|
| 236 |
+ // 기간검색 설정 |
|
| 237 |
+ String toDay = MJUtil.getTodayDate(); //오늘 |
|
| 238 |
+ String beforeMonthDay = MJUtil.getBefore1MonthDate(); //한달 전 |
|
| 239 |
+ if (null == kakaoVO.getNtceBgnde() || kakaoVO.getNtceBgnde().equals("")) {
|
|
| 240 |
+ kakaoVO.setNtceBgnde(beforeMonthDay); |
|
| 241 |
+ } |
|
| 242 |
+ |
|
| 243 |
+ resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(kakaoVO); |
|
| 235 | 244 |
|
| 236 | 245 |
model.addAttribute("resultList", resultList);
|
| 237 | 246 |
|
--- src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkTemplateController.java
+++ src/main/java/itn/let/kakao/user/kakaoAt/web/KakaoAlimTalkTemplateController.java
... | ... | @@ -813,8 +813,8 @@ |
| 813 | 813 |
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
| 814 | 814 |
|
| 815 | 815 |
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
| 816 |
- searchVO.setSearchSortCnd("sampleTemplateId");
|
|
| 817 |
- searchVO.setSearchSortOrd("desc");
|
|
| 816 |
+ searchVO.setSearchSortCnd("sampleTemplatePriority");
|
|
| 817 |
+ searchVO.setSearchSortOrd("asc");
|
|
| 818 | 818 |
} |
| 819 | 819 |
|
| 820 | 820 |
List<MjonKakaoSampleTemplateVO> resultList = new ArrayList<MjonKakaoSampleTemplateVO>(); |
--- src/main/java/itn/let/mjo/conf/web/MjonConfController.java
+++ src/main/java/itn/let/mjo/conf/web/MjonConfController.java
... | ... | @@ -14,6 +14,8 @@ |
| 14 | 14 |
import itn.com.utl.fcc.service.EgovStringUtil; |
| 15 | 15 |
import itn.let.mjo.conf.service.MjonConfService; |
| 16 | 16 |
import itn.let.mjo.conf.service.MjonConfVO; |
| 17 |
+import itn.let.mjo.msgagent.service.MjonMsgAgentStsService; |
|
| 18 |
+import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO; |
|
| 17 | 19 |
|
| 18 | 20 |
@Controller |
| 19 | 21 |
public class MjonConfController {
|
... | ... | @@ -21,7 +23,8 @@ |
| 21 | 23 |
@Resource(name = "mjonConfService") |
| 22 | 24 |
private MjonConfService mjonConfService; |
| 23 | 25 |
|
| 24 |
- |
|
| 26 |
+ @Resource(name = "mjonMsgAgentStsService") |
|
| 27 |
+ private MjonMsgAgentStsService mjonMsgAgentStsService; |
|
| 25 | 28 |
|
| 26 | 29 |
|
| 27 | 30 |
/** |
... | ... | @@ -96,5 +99,38 @@ |
| 96 | 99 |
return modelAndView; |
| 97 | 100 |
} |
| 98 | 101 |
|
| 99 |
- |
|
| 102 |
+ @RequestMapping(value = "/web/mjon/conf/selectBlineSendCheckAjax.do") |
|
| 103 |
+ public ModelAndView selectBlineSendCheckAjax( |
|
| 104 |
+ @ModelAttribute MjonMsgAgentStsVO mjonMsgAgentStsVO |
|
| 105 |
+ , Model model) throws Exception {
|
|
| 106 |
+ |
|
| 107 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 108 |
+ modelAndView.setViewName("jsonView");
|
|
| 109 |
+ |
|
| 110 |
+ try {
|
|
| 111 |
+ |
|
| 112 |
+ System.out.println(mjonMsgAgentStsVO.getAgentCode()); |
|
| 113 |
+ if(mjonMsgAgentStsVO.getAgentCode().equals("b1")||mjonMsgAgentStsVO.getAgentCode().equals("B1")) {
|
|
| 114 |
+ mjonMsgAgentStsVO.setAgentCode("08");
|
|
| 115 |
+ }else if(mjonMsgAgentStsVO.getAgentCode().equals("b2")||mjonMsgAgentStsVO.getAgentCode().equals("B2")) {
|
|
| 116 |
+ mjonMsgAgentStsVO.setAgentCode("09");
|
|
| 117 |
+ } |
|
| 118 |
+ |
|
| 119 |
+ MjonMsgAgentStsVO vo = mjonMsgAgentStsService.selectMsgAgentBlineYnInfo(mjonMsgAgentStsVO); |
|
| 120 |
+ |
|
| 121 |
+ if(vo == null || "".equals(vo.getUseYn()) || !"Y".equals(vo.getUseYn())) {
|
|
| 122 |
+ modelAndView.addObject("message", "문자 발송 불가");
|
|
| 123 |
+ modelAndView.addObject("result", "fail");
|
|
| 124 |
+ } else {
|
|
| 125 |
+ modelAndView.addObject("message", "문자 발송 가능");
|
|
| 126 |
+ modelAndView.addObject("result", "success");
|
|
| 127 |
+ } |
|
| 128 |
+ |
|
| 129 |
+ }catch (Exception e) {
|
|
| 130 |
+ modelAndView.addObject("message", "오류가 발생하였습니다.");
|
|
| 131 |
+ modelAndView.addObject("result", "fail");
|
|
| 132 |
+ } |
|
| 133 |
+ |
|
| 134 |
+ return modelAndView; |
|
| 135 |
+ } |
|
| 100 | 136 |
} |
--- src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
+++ src/main/java/itn/let/mjo/msg/service/impl/MjonMsgServiceImpl.java
... | ... | @@ -679,6 +679,8 @@ |
| 679 | 679 |
int FHMmsResult = 0; |
| 680 | 680 |
int JJResult = 0; |
| 681 | 681 |
int IVTResult = 0; |
| 682 |
+ int jjBline01Result = 0; |
|
| 683 |
+ int jjBline02Result = 0; |
|
| 682 | 684 |
|
| 683 | 685 |
//아이하트 딜레이문자 삭제 |
| 684 | 686 |
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); |
... | ... | @@ -701,9 +703,14 @@ |
| 701 | 703 |
//인비토 딜레이문자 삭제 |
| 702 | 704 |
IVTResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO); |
| 703 | 705 |
|
| 706 |
+ //제이제이 딜레이문자 삭제 |
|
| 707 |
+ jjBline01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); |
|
| 708 |
+ |
|
| 709 |
+ //제이제이 딜레이문자 삭제 |
|
| 710 |
+ jjBline02Result = mjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); |
|
| 704 | 711 |
|
| 705 | 712 |
//삭제 결과 합산 |
| 706 |
- resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult; |
|
| 713 |
+ resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult + jjBline01Result + jjBline02Result; |
|
| 707 | 714 |
|
| 708 | 715 |
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
| 709 | 716 |
|
... | ... | @@ -775,6 +782,9 @@ |
| 775 | 782 |
int FHMmsResult = 0; |
| 776 | 783 |
int JJResult = 0; |
| 777 | 784 |
int IVTResult = 0; |
| 785 |
+ int JJB01Result = 0; |
|
| 786 |
+ int JJB02Result = 0; |
|
| 787 |
+ |
|
| 778 | 788 |
|
| 779 | 789 |
//아이하트 딜레이문자 즉시발송 처리 |
| 780 | 790 |
//ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); |
... | ... | @@ -798,8 +808,14 @@ |
| 798 | 808 |
//제이제이 딜레이문자 즉시발송 처리 |
| 799 | 809 |
IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO); |
| 800 | 810 |
|
| 811 |
+ //제이제이 B01 딜레이문자 즉시발송 처리 |
|
| 812 |
+ JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); |
|
| 813 |
+ |
|
| 814 |
+ //제이제이 B02 딜레이문자 즉시발송 처리 |
|
| 815 |
+ JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); |
|
| 816 |
+ |
|
| 801 | 817 |
//삭제 결과 합산 |
| 802 |
- resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult; |
|
| 818 |
+ resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult + JJB01Result + JJB02Result; |
|
| 803 | 819 |
|
| 804 | 820 |
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
| 805 | 821 |
|
--- src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
+++ src/main/java/itn/let/mjo/msg/web/MjonMsgController.java
... | ... | @@ -275,6 +275,29 @@ |
| 275 | 275 |
return redirectUrlMaker.getRedirectUrl(); |
| 276 | 276 |
} |
| 277 | 277 |
|
| 278 |
+ /** |
|
| 279 |
+ * 알림톡 리스트 스미싱 on off 처리 |
|
| 280 |
+ * @param searchVO |
|
| 281 |
+ * @param model |
|
| 282 |
+ * @return "/uss/ion/msg/SendMsgTestList.do" |
|
| 283 |
+ * @throws Exception |
|
| 284 |
+ */ |
|
| 285 |
+ @RequestMapping("/uss/ion/msg/MsgUsersAtSmishingUpdate.do")
|
|
| 286 |
+ public String msgUsersAtSmishingUpdate(@RequestParam("checkedIdForDel") String checkedIdForUpt, @ModelAttribute("userManageVO") UserManageVO userManageVO, RedirectAttributes redirectAttributes, Model model) throws Exception {
|
|
| 287 |
+ |
|
| 288 |
+ // 미인증 사용자에 대한 보안처리 |
|
| 289 |
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); |
|
| 290 |
+ if(!isAuthenticated) {
|
|
| 291 |
+ model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
|
|
| 292 |
+ return "uat/uia/EgovLoginUsr"; |
|
| 293 |
+ } |
|
| 294 |
+ |
|
| 295 |
+ userManageService.updateUserAtSmishingYn(userManageVO, checkedIdForUpt); |
|
| 296 |
+ |
|
| 297 |
+ //redirectAttributes.addFlashAttribute("message", "알림톡 스미싱의심 여부가 정상적으로 수정되었습니다.");
|
|
| 298 |
+ RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/kakaoat/SendKakaoATList.do?pageIndex="+userManageVO.getPageIndex());
|
|
| 299 |
+ return redirectUrlMaker.getRedirectUrl(); |
|
| 300 |
+ } |
|
| 278 | 301 |
|
| 279 | 302 |
/** |
| 280 | 303 |
* 문자전송 테스트 리스트 |
--- src/main/java/itn/let/mjo/msgagent/service/impl/MjonMsgAgentStsServiceImpl.java
+++ src/main/java/itn/let/mjo/msgagent/service/impl/MjonMsgAgentStsServiceImpl.java
... | ... | @@ -8,6 +8,7 @@ |
| 8 | 8 |
import org.springframework.stereotype.Service; |
| 9 | 9 |
|
| 10 | 10 |
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; |
| 11 |
+import egovframework.rte.fdl.idgnr.EgovIdGnrService; |
|
| 11 | 12 |
import itn.let.mjo.msgagent.service.MjonMsgAgentStsService; |
| 12 | 13 |
import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO; |
| 13 | 14 |
import itn.let.uat.uia.service.impl.MberManageDAO; |
... | ... | @@ -26,6 +27,10 @@ |
| 26 | 27 |
@Resource(name = "mjonMsgAgentStsService") |
| 27 | 28 |
private MjonMsgAgentStsService mjonMsgAgentStsService; |
| 28 | 29 |
|
| 30 |
+ /** 메모 idgen */ |
|
| 31 |
+ @Resource(name="egovGnrlUserSelectMemoIdGnrService") |
|
| 32 |
+ private EgovIdGnrService memoidgenService; |
|
| 33 |
+ |
|
| 29 | 34 |
@Override |
| 30 | 35 |
public List<MjonMsgAgentStsVO> selectMjonMsgAgentStsList() throws Exception{
|
| 31 | 36 |
return mjonMsgAgentStsDAO.selectMjonMsgAgentStsList(); |
... | ... | @@ -174,6 +179,14 @@ |
| 174 | 179 |
// B선라인 일경우 회원테이블 업데이트 |
| 175 | 180 |
int uCnt = mberManageDAO.updateUserBlineCodeByAdm(mberManageVO); |
| 176 | 181 |
|
| 182 |
+ //보내는 아이디 회원 메모 insert |
|
| 183 |
+ String memo = ""; |
|
| 184 |
+ memo = "전용전송사 변경 : " + mberManageVO.getHotlineAgentName() + "(" + mberManageVO.getHotlineAgentCode() + ")";
|
|
| 185 |
+ mberManageVO.setMemoId(memoidgenService.getNextStringId()); |
|
| 186 |
+ mberManageVO.setMberId(mberManageVO.getMberId()); |
|
| 187 |
+ mberManageVO.setMemoCn(memo); |
|
| 188 |
+ mberManageVO.setFrstRegisterId(mberManageVO.getAdmUserId()); |
|
| 189 |
+ mberManageDAO.insertMberMemo(mberManageVO); |
|
| 177 | 190 |
} catch (Exception e) {
|
| 178 | 191 |
System.out.println("+++++++++++ updateMberHotlineAgentCodeInfo Service Imple Error!!! " + e);
|
| 179 | 192 |
} |
--- src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
+++ src/main/java/itn/let/mjo/msgdata/service/impl/MjonMsgDataServiceImpl.java
... | ... | @@ -185,11 +185,13 @@ |
| 185 | 185 |
mberRepAgent = tmp.getRepAgent(); |
| 186 | 186 |
String useYn = tmp.getUseYn(); |
| 187 | 187 |
|
| 188 |
- //회원 전용 전송사의 전송 비율이 0 이면 대표전송사로 전송되도록 셋팅함. |
|
| 189 |
- if(mberSendRate.equals("0") || useYn.equals("N")) {
|
|
| 190 |
- |
|
| 191 |
- hotlineAgentCode = mberRepAgent; |
|
| 192 |
- |
|
| 188 |
+ if(userInfo.getBlineCode().equals("N")) {
|
|
| 189 |
+ //회원 전용 전송사의 전송 비율이 0 이면 대표전송사로 전송되도록 셋팅함. |
|
| 190 |
+ if(mberSendRate.equals("0") || useYn.equals("N")) {
|
|
| 191 |
+ |
|
| 192 |
+ hotlineAgentCode = mberRepAgent; |
|
| 193 |
+ |
|
| 194 |
+ } |
|
| 193 | 195 |
} |
| 194 | 196 |
|
| 195 | 197 |
} |
--- src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
+++ src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java
... | ... | @@ -504,6 +504,10 @@ |
| 504 | 504 |
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); |
| 505 | 505 |
searchVO.setUserId(userId); |
| 506 | 506 |
|
| 507 |
+ |
|
| 508 |
+ model.addAttribute("blineCode", mberManageVO.getBlineCode());
|
|
| 509 |
+ |
|
| 510 |
+ |
|
| 507 | 511 |
} |
| 508 | 512 |
|
| 509 | 513 |
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
... | ... | @@ -904,6 +908,7 @@ |
| 904 | 908 |
|
| 905 | 909 |
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId); |
| 906 | 910 |
|
| 911 |
+ model.addAttribute("blineCode", mberManageVO.getBlineCode());
|
|
| 907 | 912 |
} |
| 908 | 913 |
|
| 909 | 914 |
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
--- src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java
+++ src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgDAO.java
... | ... | @@ -138,6 +138,27 @@ |
| 138 | 138 |
return update("MjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq", mjonResvMsgVO);
|
| 139 | 139 |
} |
| 140 | 140 |
|
| 141 |
+ /** |
|
| 142 |
+ * @Method Name : deleteJJB01MsgSeqListByMsgSeq |
|
| 143 |
+ * @작성일 : 2023. 06. 19. |
|
| 144 |
+ * @작성자 : WYH |
|
| 145 |
+ * @Method 설명 : 제이제이 B01라인 예약취소 삭제 |
|
| 146 |
+ */ |
|
| 147 |
+ public int deleteJJB01MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
|
| 148 |
+ |
|
| 149 |
+ return update("MjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq", mjonResvMsgVO);
|
|
| 150 |
+ } |
|
| 151 |
+ |
|
| 152 |
+ /** |
|
| 153 |
+ * @Method Name : deleteJJB02MsgSeqListByMsgSeq |
|
| 154 |
+ * @작성일 : 2023. 06. 19. |
|
| 155 |
+ * @작성자 : WYH |
|
| 156 |
+ * @Method 설명 : 제이제이 B02라인 예약취소 삭제 |
|
| 157 |
+ */ |
|
| 158 |
+ public int deleteJJB02MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
|
| 159 |
+ |
|
| 160 |
+ return update("MjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq", mjonResvMsgVO);
|
|
| 161 |
+ } |
|
| 141 | 162 |
|
| 142 | 163 |
public void updateResvMsgCancelDataFlag(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
| 143 | 164 |
|
... | ... | @@ -235,4 +256,25 @@ |
| 235 | 256 |
return update("MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO);
|
| 236 | 257 |
} |
| 237 | 258 |
|
| 259 |
+ /** |
|
| 260 |
+ * @Method Name : updateRealTimeJJB01MsgSeqListByMsgSeq |
|
| 261 |
+ * @작성일 : 2023. 06. 20. |
|
| 262 |
+ * @작성자 : WYD |
|
| 263 |
+ * @Method 설명 : 제이제이 B01라인 지연처리 문자 즉시 발송 |
|
| 264 |
+ */ |
|
| 265 |
+ public int updateRealTimeJJB01MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) {
|
|
| 266 |
+ |
|
| 267 |
+ return update("MjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq", mjonResvMsgVO);
|
|
| 268 |
+ } |
|
| 269 |
+ |
|
| 270 |
+ /** |
|
| 271 |
+ * @Method Name : updateRealTimeJJB02MsgSeqListByMsgSeq |
|
| 272 |
+ * @작성일 : 2023. 06. 20. |
|
| 273 |
+ * @작성자 : WYD |
|
| 274 |
+ * @Method 설명 : 제이제이 B02라인 지연처리 문자 즉시 발송 |
|
| 275 |
+ */ |
|
| 276 |
+ public int updateRealTimeJJB02MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) {
|
|
| 277 |
+ |
|
| 278 |
+ return update("MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO);
|
|
| 279 |
+ } |
|
| 238 | 280 |
} |
--- src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgServiceImpl.java
+++ src/main/java/itn/let/mjo/reservmsg/service/impl/MjonReservMsgServiceImpl.java
... | ... | @@ -109,6 +109,8 @@ |
| 109 | 109 |
int ivtResult = 0; |
| 110 | 110 |
int FHSmsResult = 0; |
| 111 | 111 |
int FHMmsResult = 0; |
| 112 |
+ int jjB01Result = 0; |
|
| 113 |
+ int jjB02Result = 0; |
|
| 112 | 114 |
|
| 113 | 115 |
//아이하트 예약취소 삭제 |
| 114 | 116 |
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO); |
... | ... | @@ -131,8 +133,14 @@ |
| 131 | 133 |
//인비토 예약취소 삭제 |
| 132 | 134 |
ivtResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO); |
| 133 | 135 |
|
| 136 |
+ //제이제이 B01 예약취소 삭제 |
|
| 137 |
+ jjB01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO); |
|
| 138 |
+ |
|
| 139 |
+ //제이제이 B02 예약취소 삭제 |
|
| 140 |
+ jjB02Result = mjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq(mjonResvMsgVO); |
|
| 141 |
+ |
|
| 134 | 142 |
//삭제 결과 합산 |
| 135 |
- result = ihResult + FHSmsResult + FHMmsResult + imoResult + bizResult +jjResult + ivtResult; |
|
| 143 |
+ result = ihResult + FHSmsResult + FHMmsResult + imoResult + bizResult +jjResult + ivtResult + jjB01Result + jjB02Result; |
|
| 136 | 144 |
|
| 137 | 145 |
//각 전송사별 문자 발송 테이블에서 데이터 삭제 처리 |
| 138 | 146 |
/*if(agentCode.equals("01")) { //아이하트 메세지 삭제
|
--- src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
+++ src/main/java/itn/let/uat/uia/service/impl/EgovMberManageServiceImpl.java
... | ... | @@ -123,6 +123,11 @@ |
| 123 | 123 |
} |
| 124 | 124 |
|
| 125 | 125 |
@Override |
| 126 |
+ public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO) throws Exception {
|
|
| 127 |
+ return mberManageDAO.selectMberDelTypeGrpList(userSearchVO); |
|
| 128 |
+ } |
|
| 129 |
+ |
|
| 130 |
+ @Override |
|
| 126 | 131 |
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception {
|
| 127 | 132 |
return mberManageDAO.selectMberLoginAddList(userSearchVO); |
| 128 | 133 |
} |
--- src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
+++ src/main/java/itn/let/uat/uia/service/impl/MberManageDAO.java
... | ... | @@ -76,6 +76,11 @@ |
| 76 | 76 |
} |
| 77 | 77 |
|
| 78 | 78 |
@SuppressWarnings("unchecked")
|
| 79 |
+ public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO){
|
|
| 80 |
+ return (List<MberManageVO>) list("mberManageDAO.selectMberDelTypeGrpList", userSearchVO);
|
|
| 81 |
+ } |
|
| 82 |
+ |
|
| 83 |
+ @SuppressWarnings("unchecked")
|
|
| 79 | 84 |
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO){
|
| 80 | 85 |
return (List<MberManageVO>) list("mberManageDAO.selectMberLoginAddList", userSearchVO);
|
| 81 | 86 |
} |
--- src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovMberManageService.java
... | ... | @@ -52,6 +52,8 @@ |
| 52 | 52 |
*/ |
| 53 | 53 |
public List<MberManageVO> selectMberList(UserDefaultVO userSearchVO) throws Exception; |
| 54 | 54 |
|
| 55 |
+ public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO) throws Exception; |
|
| 56 |
+ |
|
| 55 | 57 |
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception; |
| 56 | 58 |
|
| 57 | 59 |
public List<MberManageVO> selectMberListNewUser(UserDefaultVO userSearchVO) throws Exception; |
--- src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
+++ src/main/java/itn/let/uss/umt/service/EgovUserManageService.java
... | ... | @@ -177,12 +177,20 @@ |
| 177 | 177 |
|
| 178 | 178 |
public UserManageVO selectSmishingYnUserInfo(UserManageVO userManageVO) throws Exception; |
| 179 | 179 |
|
| 180 |
+ public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) throws Exception; |
|
| 181 |
+ |
|
| 180 | 182 |
// 스미싱의심 온/오프 |
| 181 | 183 |
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception; |
| 182 | 184 |
|
| 183 | 185 |
// 스미싱의심 온/오프 - 상세에서 단일로 |
| 184 | 186 |
public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception; |
| 185 | 187 |
|
| 188 |
+ // 알림톡 스미싱의심 온/오프 |
|
| 189 |
+ public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception; |
|
| 190 |
+ |
|
| 191 |
+ // 알림톡 스미싱의심 온/오프 - 상세에서 단일로 |
|
| 192 |
+ public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception; |
|
| 193 |
+ |
|
| 186 | 194 |
// 후불제 여부 저장 |
| 187 | 195 |
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception; |
| 188 | 196 |
|
--- src/main/java/itn/let/uss/umt/service/MberManageVO.java
+++ src/main/java/itn/let/uss/umt/service/MberManageVO.java
... | ... | @@ -488,9 +488,37 @@ |
| 488 | 488 |
private String spamKeyword; //스팸 필터링 문자단어들 |
| 489 | 489 |
private String spamRegistPnttm; //스팸 문자 발송 내용 등록일자 |
| 490 | 490 |
private String exceptSpamYn; //스팸 필터링 예외 처리 여부 |
| 491 |
- |
|
| 492 | 491 |
private String hotlineAgentCode; //회원 전용 전송사 코드 정보 |
| 492 |
+ private String hotlineAgentName; //회원 전용 전송사 명 |
|
| 493 |
+ private String admUserId; //관리자아이디 |
|
| 494 |
+ private String deleteTypeName; // 탈퇴 사유 명 |
|
| 495 |
+ private String deleteTypeCnt; // 탈퇴 사유 인원수 |
|
| 493 | 496 |
|
| 497 |
+ public String getDeleteTypeName() {
|
|
| 498 |
+ return deleteTypeName; |
|
| 499 |
+ } |
|
| 500 |
+ public void setDeleteTypeName(String deleteTypeName) {
|
|
| 501 |
+ this.deleteTypeName = deleteTypeName; |
|
| 502 |
+ } |
|
| 503 |
+ public String getDeleteTypeCnt() {
|
|
| 504 |
+ return deleteTypeCnt; |
|
| 505 |
+ } |
|
| 506 |
+ public void setDeleteTypeCnt(String deleteTypeCnt) {
|
|
| 507 |
+ this.deleteTypeCnt = deleteTypeCnt; |
|
| 508 |
+ } |
|
| 509 |
+ |
|
| 510 |
+ public String getAdmUserId() {
|
|
| 511 |
+ return admUserId; |
|
| 512 |
+ } |
|
| 513 |
+ public void setAdmUserId(String admUserId) {
|
|
| 514 |
+ this.admUserId = admUserId; |
|
| 515 |
+ } |
|
| 516 |
+ public String getHotlineAgentName() {
|
|
| 517 |
+ return hotlineAgentName; |
|
| 518 |
+ } |
|
| 519 |
+ public void setHotlineAgentName(String hotlineAgentName) {
|
|
| 520 |
+ this.hotlineAgentName = hotlineAgentName; |
|
| 521 |
+ } |
|
| 494 | 522 |
private String blineCode; // B라인코드 |
| 495 | 523 |
private String recommendId; // 추천아이디 |
| 496 | 524 |
|
... | ... | @@ -518,7 +546,14 @@ |
| 518 | 546 |
|
| 519 | 547 |
private String smishingYn; // 스미싱 의심여부 |
| 520 | 548 |
private String vipYn; // VIP 여부 |
| 549 |
+ private String atSmishingYn; // 알림톡 스미싱 의심여부 |
|
| 521 | 550 |
|
| 551 |
+ public String getAtSmishingYn() {
|
|
| 552 |
+ return atSmishingYn; |
|
| 553 |
+ } |
|
| 554 |
+ public void setAtSmishingYn(String atSmishingYn) {
|
|
| 555 |
+ this.atSmishingYn = atSmishingYn; |
|
| 556 |
+ } |
|
| 522 | 557 |
public String getPrePaymentYn() {
|
| 523 | 558 |
return prePaymentYn; |
| 524 | 559 |
} |
--- src/main/java/itn/let/uss/umt/service/UserManageVO.java
+++ src/main/java/itn/let/uss/umt/service/UserManageVO.java
... | ... | @@ -204,7 +204,14 @@ |
| 204 | 204 |
private float cash; |
| 205 | 205 |
private String blineCode; // B라인코드 |
| 206 | 206 |
private String recommendId; // 추천아이디 |
| 207 |
- |
|
| 207 |
+ private String atSmishingYn; // 알림톡 스미싱 의심여부 |
|
| 208 |
+ |
|
| 209 |
+ public String getAtSmishingYn() {
|
|
| 210 |
+ return atSmishingYn; |
|
| 211 |
+ } |
|
| 212 |
+ public void setAtSmishingYn(String atSmishingYn) {
|
|
| 213 |
+ this.atSmishingYn = atSmishingYn; |
|
| 214 |
+ } |
|
| 208 | 215 |
public String getBlineCode() {
|
| 209 | 216 |
return blineCode; |
| 210 | 217 |
} |
--- src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
+++ src/main/java/itn/let/uss/umt/service/impl/EgovUserManageServiceImpl.java
... | ... | @@ -497,6 +497,11 @@ |
| 497 | 497 |
return userManageDAO.selectSmishingYnUserInfo(userManageVO); |
| 498 | 498 |
} |
| 499 | 499 |
|
| 500 |
+ @Override |
|
| 501 |
+ public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
|
|
| 502 |
+ return userManageDAO.selectAtSmishingYnUserInfo(userManageVO); |
|
| 503 |
+ } |
|
| 504 |
+ |
|
| 500 | 505 |
// 스미싱의심 온/오프 |
| 501 | 506 |
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
| 502 | 507 |
if(!"".equals(checkedIdForUpt)) {
|
... | ... | @@ -560,6 +565,69 @@ |
| 560 | 565 |
|
| 561 | 566 |
} |
| 562 | 567 |
|
| 568 |
+ // 알림톡 스미싱의심 온/오프 |
|
| 569 |
+ public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
|
| 570 |
+ if(!"".equals(checkedIdForUpt)) {
|
|
| 571 |
+ String [] uptIdAll = checkedIdForUpt.split(",");
|
|
| 572 |
+ String[] uptId = Arrays.stream(uptIdAll).distinct().toArray(String[]::new); |
|
| 573 |
+ for (int i=0; i<uptId.length ; i++){
|
|
| 574 |
+ // 업데이트 |
|
| 575 |
+ userManageVO.setMberId(uptId[i]); |
|
| 576 |
+ userManageDAO.updateUserAtSmishingYn(userManageVO); |
|
| 577 |
+ |
|
| 578 |
+ // 법인폰 알림문자 발송 |
|
| 579 |
+ UserManageVO rtnVO = new UserManageVO(); |
|
| 580 |
+ rtnVO = selectAtSmishingYnUserInfo(userManageVO); |
|
| 581 |
+ if (rtnVO.getAtSmishingYn().equals("Y")) {
|
|
| 582 |
+ // 법인폰 알람여부 체크 |
|
| 583 |
+ JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 584 |
+ joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 585 |
+ // SMS 체크 |
|
| 586 |
+ if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 587 |
+ // 스미싱의심 SMS 알림전송 |
|
| 588 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("알림톡 스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
|
|
| 589 |
+ } |
|
| 590 |
+ |
|
| 591 |
+ // SLACK 체크 |
|
| 592 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 593 |
+ // Slack 메시지 발송(단순본문) |
|
| 594 |
+ String msg = "[문자온] 알림톡 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
|
|
| 595 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 596 |
+ } |
|
| 597 |
+ } |
|
| 598 |
+ } |
|
| 599 |
+ } |
|
| 600 |
+ |
|
| 601 |
+ } |
|
| 602 |
+ |
|
| 603 |
+ // 알림톡 스미싱의심 온/오프 단일 |
|
| 604 |
+ public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception {
|
|
| 605 |
+ // 업데이트 |
|
| 606 |
+ userManageDAO.updateUserAtSmishingYn(userManageVO); |
|
| 607 |
+ |
|
| 608 |
+ // 법인폰 알림문자 발송 |
|
| 609 |
+ UserManageVO rtnVO = new UserManageVO(); |
|
| 610 |
+ rtnVO = selectAtSmishingYnUserInfo(userManageVO); |
|
| 611 |
+ if (rtnVO.getAtSmishingYn().equals("Y")) {
|
|
| 612 |
+ // 법인폰 알람여부 체크 |
|
| 613 |
+ JoinSettingVO joinSettingVO = new JoinSettingVO(); |
|
| 614 |
+ joinSettingVO = egovSiteManagerService.selectAdminNotiDetail(); |
|
| 615 |
+ // SMS 체크 |
|
| 616 |
+ if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
|
| 617 |
+ // 스미싱의심 SMS 알림전송 |
|
| 618 |
+ mjonNoticeSendUtil.smishingSmsNoticeSend("알림톡 스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
|
|
| 619 |
+ } |
|
| 620 |
+ |
|
| 621 |
+ // SLACK 체크 |
|
| 622 |
+ if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
|
| 623 |
+ // Slack 메시지 발송(단순본문) |
|
| 624 |
+ String msg = "[문자온] 알림톡 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
|
|
| 625 |
+ mjonCommon.sendSimpleSlackMsg(msg); |
|
| 626 |
+ } |
|
| 627 |
+ } |
|
| 628 |
+ |
|
| 629 |
+ } |
|
| 630 |
+ |
|
| 563 | 631 |
// 후불제 여부 저장 |
| 564 | 632 |
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception {
|
| 565 | 633 |
userManageDAO.updateUserPrePaymentYn(userManageVO); |
--- src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
+++ src/main/java/itn/let/uss/umt/service/impl/UserManageDAO.java
... | ... | @@ -271,11 +271,20 @@ |
| 271 | 271 |
return (UserManageVO) select("userManageDAO.selectSmishingYnUserInfo",userManageVO);
|
| 272 | 272 |
} |
| 273 | 273 |
|
| 274 |
+ public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
|
|
| 275 |
+ return (UserManageVO) select("userManageDAO.selectAtSmishingYnUserInfo",userManageVO);
|
|
| 276 |
+ } |
|
| 277 |
+ |
|
| 274 | 278 |
// 스미싱의심 온/오프 |
| 275 | 279 |
public void updateUserSmishingYn(UserManageVO userManageVO){
|
| 276 | 280 |
update("userManageDAO.updateUserSmishingYn",userManageVO);
|
| 277 | 281 |
} |
| 278 | 282 |
|
| 283 |
+ // 알림톡 스미싱의심 온/오프 |
|
| 284 |
+ public void updateUserAtSmishingYn(UserManageVO userManageVO){
|
|
| 285 |
+ update("userManageDAO.updateUserAtSmishingYn",userManageVO);
|
|
| 286 |
+ } |
|
| 287 |
+ |
|
| 279 | 288 |
// 후불제 여부 저장 |
| 280 | 289 |
public void updateUserPrePaymentYn(UserManageVO userManageVO){
|
| 281 | 290 |
update("userManageDAO.updateUserPrePaymentYn",userManageVO);
|
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
... | ... | @@ -78,7 +78,6 @@ |
| 78 | 78 |
import itn.let.fax.user.service.FaxGroupDataVO; |
| 79 | 79 |
import itn.let.fax.user.service.FaxService; |
| 80 | 80 |
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO; |
| 81 |
-import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATSentVO; |
|
| 82 | 81 |
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService; |
| 83 | 82 |
import itn.let.kakao.kakaoComm.KakaoReturnVO; |
| 84 | 83 |
import itn.let.kakao.kakaoComm.KakaoVO; |
... | ... | @@ -564,6 +563,9 @@ |
| 564 | 563 |
paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0);
|
| 565 | 564 |
model.addAttribute("paginationInfo", paginationInfo);
|
| 566 | 565 |
|
| 566 |
+ // 탈퇴사유별 인원수 |
|
| 567 |
+ List<?> resultMberDelTypeGrpList = mberManageService.selectMberDelTypeGrpList(userSearchVO); |
|
| 568 |
+ model.addAttribute("resultMberDelTypeGrpList", resultMberDelTypeGrpList);
|
|
| 567 | 569 |
|
| 568 | 570 |
return "cmm/uss/umt/EgovDelUserManage"; |
| 569 | 571 |
} |
... | ... | @@ -1168,8 +1170,8 @@ |
| 1168 | 1170 |
* 최근 알리톡/친구톡 전송 내역 |
| 1169 | 1171 |
* */ |
| 1170 | 1172 |
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만 |
| 1171 |
- List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId); |
|
| 1172 |
- model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
|
|
| 1173 |
+ //List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId); |
|
| 1174 |
+ //model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
|
|
| 1173 | 1175 |
} |
| 1174 | 1176 |
|
| 1175 | 1177 |
{
|
... | ... | @@ -1376,7 +1378,7 @@ |
| 1376 | 1378 |
sendKakaoVO.setSearchSortOrd("desc");
|
| 1377 | 1379 |
sendKakaoVO.setFirstIndex(0); |
| 1378 | 1380 |
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>(); |
| 1379 |
- kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(sendKakaoVO); |
|
| 1381 |
+ kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO); |
|
| 1380 | 1382 |
|
| 1381 | 1383 |
model.addAttribute("kakaoResultList", kakaoResultList);
|
| 1382 | 1384 |
|
... | ... | @@ -1905,7 +1907,7 @@ |
| 1905 | 1907 |
//searchVO.setReserveYn("N");
|
| 1906 | 1908 |
// 문자발송 완료건은 모두 보이도록 처리 |
| 1907 | 1909 |
|
| 1908 |
- kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(searchVO); |
|
| 1910 |
+ kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(searchVO); |
|
| 1909 | 1911 |
model.addAttribute("kakaoResultList", kakaoResultList);
|
| 1910 | 1912 |
|
| 1911 | 1913 |
//카카오톡 발송 통계 정보 불러오기 |
... | ... | @@ -2419,6 +2421,38 @@ |
| 2419 | 2421 |
|
| 2420 | 2422 |
return modelAndView; |
| 2421 | 2423 |
} |
| 2424 |
+ |
|
| 2425 |
+ // 알림톡 스미싱의심 여부 변경 |
|
| 2426 |
+ @RequestMapping("/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do")
|
|
| 2427 |
+ public ModelAndView EgovGnrlUpdateUserAtSmishingAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
|
|
| 2428 |
+ |
|
| 2429 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 2430 |
+ modelAndView.setViewName("jsonView");
|
|
| 2431 |
+ |
|
| 2432 |
+ Boolean isSuccess = true; |
|
| 2433 |
+ String msg = ""; |
|
| 2434 |
+ |
|
| 2435 |
+ try {
|
|
| 2436 |
+ // 미인증 사용자에 대한 보안처리 |
|
| 2437 |
+ Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated(); |
|
| 2438 |
+ if(!isAuthenticated) {
|
|
| 2439 |
+ isSuccess = false; |
|
| 2440 |
+ msg = "로그인이 필요합니다."; |
|
| 2441 |
+ } |
|
| 2442 |
+ else {
|
|
| 2443 |
+ userManageService.updateOneUserAtSmishingYn(userManageVO); |
|
| 2444 |
+ } |
|
| 2445 |
+ } catch (Exception e) {
|
|
| 2446 |
+ isSuccess = false; |
|
| 2447 |
+ msg = e.getMessage(); |
|
| 2448 |
+ } |
|
| 2449 |
+ |
|
| 2450 |
+ modelAndView.addObject("isSuccess", isSuccess);
|
|
| 2451 |
+ modelAndView.addObject("msg", msg);
|
|
| 2452 |
+ |
|
| 2453 |
+ return modelAndView; |
|
| 2454 |
+ } |
|
| 2455 |
+ |
|
| 2422 | 2456 |
// VIP 여부 변경 |
| 2423 | 2457 |
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do")
|
| 2424 | 2458 |
public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
|
... | ... | @@ -2468,6 +2502,9 @@ |
| 2468 | 2502 |
msg = "로그인이 필요합니다."; |
| 2469 | 2503 |
} |
| 2470 | 2504 |
else {
|
| 2505 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 2506 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 2507 |
+ mberManageVO.setAdmUserId(userId); |
|
| 2471 | 2508 |
int result = mjonMsgAgentStsService.updateMberHotlineAgentCodeInfo(mberManageVO); |
| 2472 | 2509 |
|
| 2473 | 2510 |
if(result > 0) {
|
--- src/main/resources/egovframework/sqlmap/let/agent/MjonAgent_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/agent/MjonAgent_SQL_mysql.xml
... | ... | @@ -73,7 +73,8 @@ |
| 73 | 73 |
</select> |
| 74 | 74 |
|
| 75 | 75 |
<select id="mjonMsgAgentStsDAO.selectMsgAgentBlineYnInfo" parameterClass="mjonMsgAgentStsVO" resultClass="mjonMsgAgentStsVO"> |
| 76 |
- SELECT BLINE_YN blineYn FROM MJ_AGENT_SEND_RATE |
|
| 76 |
+ SELECT USE_YN useYn |
|
| 77 |
+ FROM MJ_AGENT_SEND_RATE |
|
| 77 | 78 |
WHERE AGENT_CODE = #agentCode# |
| 78 | 79 |
AND MSG_TYPE = 'S' |
| 79 | 80 |
ORDER BY BLINE_YN DESC |
--- src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/cop/bbs/EgovBoard_SQL_Mysql.xml
... | ... | @@ -1767,6 +1767,17 @@ |
| 1767 | 1767 |
LIMIT #recordCountPerPage# OFFSET #firstIndex# |
| 1768 | 1768 |
</select> |
| 1769 | 1769 |
|
| 1770 |
+ <select id="BBSManageDAO.selectUserBbsWriteList" parameterClass="BoardVO" resultClass="BoardVO" > |
|
| 1771 |
+ SELECT |
|
| 1772 |
+ BBS_ID AS bbsId |
|
| 1773 |
+ , BBS_NM AS bbsNm |
|
| 1774 |
+ FROM lettnbbsmaster |
|
| 1775 |
+ WHERE |
|
| 1776 |
+ USE_AT = 'Y' |
|
| 1777 |
+ AND DASHBD_CNT_YN = 'Y' |
|
| 1778 |
+ AND BBS_ID = #bbsId# |
|
| 1779 |
+ </select> |
|
| 1780 |
+ |
|
| 1770 | 1781 |
<select id="BBSManageDAO.selectAdminMainNewBoardCnt" parameterClass="BoardVO" resultClass="java.lang.Integer" > |
| 1771 | 1782 |
<![CDATA[ |
| 1772 | 1783 |
SELECT COUNT(*) FROM LETTNBBS A |
--- src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/kakao/MjonKakaoATData_SQL_mysql.xml
... | ... | @@ -166,6 +166,14 @@ |
| 166 | 166 |
WHERE C.DEL_FLAG = 'N' |
| 167 | 167 |
AND C.RESERVE_C_YN = 'N' |
| 168 | 168 |
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
| 169 |
+ AND C.RSLT_CODE != '7000' |
|
| 170 |
+ AND C.MSG_TYPE = '8' |
|
| 171 |
+ ) AS atFailCount , |
|
| 172 |
+ <!-- ( SELECT COUNT(0) |
|
| 173 |
+ FROM MJ_MSG_DATA C |
|
| 174 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 175 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 176 |
+ AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 169 | 177 |
AND C.RSLT_CODE = '7000' |
| 170 | 178 |
AND C.MSG_TYPE = '9' |
| 171 | 179 |
) AS ftSuccessCount , |
... | ... | @@ -175,16 +183,10 @@ |
| 175 | 183 |
AND C.RESERVE_C_YN = 'N' |
| 176 | 184 |
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
| 177 | 185 |
AND C.RSLT_CODE != '7000' |
| 178 |
- AND C.MSG_TYPE = '8' |
|
| 179 |
- ) AS atFailCount , |
|
| 180 |
- ( SELECT COUNT(0) |
|
| 181 |
- FROM MJ_MSG_DATA C |
|
| 182 |
- WHERE C.DEL_FLAG = 'N' |
|
| 183 |
- AND C.RESERVE_C_YN = 'N' |
|
| 184 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 185 |
- AND C.RSLT_CODE != '7000' |
|
| 186 | 186 |
AND C.MSG_TYPE = '9' |
| 187 |
- ) AS ftFailCount , |
|
| 187 |
+ ) AS ftFailCount , --> |
|
| 188 |
+ '0' AS ftSuccessCount, |
|
| 189 |
+ '0' AS ftFailCount, |
|
| 188 | 190 |
MSG_NOTICETALK_SENDER_KEY , |
| 189 | 191 |
MSG_NOTICETALK_TMP_KEY, |
| 190 | 192 |
MD.BIZ_UMID, |
... | ... | @@ -196,16 +198,16 @@ |
| 196 | 198 |
AND MD.DEL_FLAG = 'N' |
| 197 | 199 |
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 --> |
| 198 | 200 |
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]> |
| 199 |
- <isNotEmpty property="userId"> |
|
| 201 |
+ <isNotEmpty property="userId"> |
|
| 200 | 202 |
AND MG.USER_ID = #userId# |
| 201 |
- </isNotEmpty> |
|
| 203 |
+ </isNotEmpty> |
|
| 202 | 204 |
AND MG.DEL_FLAG ='N' |
| 203 | 205 |
AND MG.RESERVE_C_YN = 'N' |
| 206 |
+ AND MG.MSG_TYPE = '8' |
|
| 204 | 207 |
)M |
| 205 | 208 |
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
| 206 | 209 |
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
| 207 | 210 |
AND MKPI.USER_ID = M.USER_ID |
| 208 |
- AND MKPI.DELETE_YN = 'N' |
|
| 209 | 211 |
LEFT JOIN LETTNGNRLMBER LTM |
| 210 | 212 |
ON M.USER_ID = LTM.MBER_ID |
| 211 | 213 |
LEFT JOIN BIZ_LOG BL |
... | ... | @@ -312,6 +314,319 @@ |
| 312 | 314 |
|
| 313 | 315 |
</select> |
| 314 | 316 |
|
| 317 |
+ <select id="mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList" parameterClass="kakaoVO" resultClass="kakaoVO"> |
|
| 318 |
+ SELECT |
|
| 319 |
+ M2.totCnt , |
|
| 320 |
+ M2.userId , |
|
| 321 |
+ M2.msgGroupId , |
|
| 322 |
+ M2.msgGroupCnt , |
|
| 323 |
+ M2.smsTxt , |
|
| 324 |
+ M2.subject , |
|
| 325 |
+ M2.regDate , |
|
| 326 |
+ M2.reqDate , |
|
| 327 |
+ M2.rsltDate , |
|
| 328 |
+ M2.callFrom , |
|
| 329 |
+ M2.callTo , |
|
| 330 |
+ M2.totPrice , |
|
| 331 |
+ M2.eachPrice , |
|
| 332 |
+ M2.curState , |
|
| 333 |
+ M2.rsltCode , |
|
| 334 |
+ M2.rsltCode2 , |
|
| 335 |
+ M2.orderByrsltCode , |
|
| 336 |
+ M2.delFlag , |
|
| 337 |
+ M2.msgType , |
|
| 338 |
+ M2.fileCnt , |
|
| 339 |
+ M2.agentCode , |
|
| 340 |
+ M2.reserveYn , |
|
| 341 |
+ M2.reserveCYn , |
|
| 342 |
+ M2.cancelDate , |
|
| 343 |
+ M2.msgTypeName , |
|
| 344 |
+ M2.orderByCode , |
|
| 345 |
+ M2.msgResult , |
|
| 346 |
+ M2.msgNoticetalkSenderKey , |
|
| 347 |
+ M2.msgNoticetalkTmpKey , |
|
| 348 |
+ M2.yellowId , |
|
| 349 |
+ M2.userNm , |
|
| 350 |
+ M2.atSmishingYn , |
|
| 351 |
+ ( SELECT COUNT(0) |
|
| 352 |
+ FROM MJ_MSG_DATA C |
|
| 353 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 354 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 355 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 356 |
+ AND C.RSLT_CODE = '7000' |
|
| 357 |
+ ) AS successCount , |
|
| 358 |
+ ( SELECT COUNT(0) |
|
| 359 |
+ FROM MJ_MSG_DATA C |
|
| 360 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 361 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 362 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 363 |
+ AND C.RSLT_CODE = '7000' |
|
| 364 |
+ AND C.MSG_TYPE = '8' |
|
| 365 |
+ ) AS atSuccessCount , |
|
| 366 |
+ ( SELECT COUNT(0) |
|
| 367 |
+ FROM MJ_MSG_DATA C |
|
| 368 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 369 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 370 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 371 |
+ AND C.RSLT_CODE != '7000' |
|
| 372 |
+ AND C.MSG_TYPE = '8' |
|
| 373 |
+ ) AS atFailCount , |
|
| 374 |
+ <!-- ( SELECT COUNT(0) |
|
| 375 |
+ FROM MJ_MSG_DATA C |
|
| 376 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 377 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 378 |
+ AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 379 |
+ AND C.RSLT_CODE = '7000' |
|
| 380 |
+ AND C.MSG_TYPE = '9' |
|
| 381 |
+ ) AS ftSuccessCount , |
|
| 382 |
+ ( SELECT COUNT(0) |
|
| 383 |
+ FROM MJ_MSG_DATA C |
|
| 384 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 385 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 386 |
+ AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 387 |
+ AND C.RSLT_CODE != '7000' |
|
| 388 |
+ AND C.MSG_TYPE = '9' |
|
| 389 |
+ ) AS ftFailCount , --> |
|
| 390 |
+ '0' AS ftSuccessCount, |
|
| 391 |
+ '0' AS ftFailCount, |
|
| 392 |
+ M2.bizUmid, |
|
| 393 |
+ M2.callStatus, |
|
| 394 |
+ M2.bizKakaoResendYn, |
|
| 395 |
+ ( SELECT COUNT(0) |
|
| 396 |
+ FROM BIZ_LOG BL1, |
|
| 397 |
+ MJ_MSG_DATA MMD1 |
|
| 398 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 399 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 400 |
+ AND MMD1.BIZ_UMID = BL1.CMID |
|
| 401 |
+ AND ( |
|
| 402 |
+ CASE |
|
| 403 |
+ WHEN BL1.CALL_STATUS in ('6600','4100')
|
|
| 404 |
+ THEN 'S' |
|
| 405 |
+ ELSE 'F' |
|
| 406 |
+ END ) = 'S' |
|
| 407 |
+ ) kakaoResendSuccCount, |
|
| 408 |
+ ( SELECT COUNT(0) |
|
| 409 |
+ FROM BIZ_LOG BL1, |
|
| 410 |
+ MJ_MSG_DATA MMD1 |
|
| 411 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 412 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 413 |
+ AND MMD1.BIZ_UMID = BL1.CMID |
|
| 414 |
+ AND ( |
|
| 415 |
+ CASE |
|
| 416 |
+ WHEN BL1.CALL_STATUS in ('6600','4100')
|
|
| 417 |
+ THEN 'S' |
|
| 418 |
+ ELSE 'F' |
|
| 419 |
+ END ) = 'F' |
|
| 420 |
+ ) kakaoResendFailCount |
|
| 421 |
+ FROM ( |
|
| 422 |
+ SELECT |
|
| 423 |
+ COUNT(M.USER_ID) OVER() AS totCnt , |
|
| 424 |
+ M.USER_ID AS userId , |
|
| 425 |
+ MSG_GROUP_ID AS msgGroupId , |
|
| 426 |
+ MSG_GROUP_CNT AS msgGroupCnt , |
|
| 427 |
+ SMS_TXT AS smsTxt , |
|
| 428 |
+ M.SUBJECT AS subject , |
|
| 429 |
+ DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 430 |
+ DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 431 |
+ DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 432 |
+ CALL_FROM AS callFrom , |
|
| 433 |
+ CALL_TO AS callTo , |
|
| 434 |
+ TOT_PRICE AS totPrice , |
|
| 435 |
+ EACH_PRICE AS eachPrice , |
|
| 436 |
+ CUR_STATE AS curState , |
|
| 437 |
+ RSLT_CODE AS rsltCode , |
|
| 438 |
+ RSLT_CODE2 AS rsltCode2 , |
|
| 439 |
+ IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 440 |
+ DEL_FLAG AS delFlag , |
|
| 441 |
+ M.MSG_TYPE AS msgType , |
|
| 442 |
+ FILE_CNT AS fileCnt , |
|
| 443 |
+ AGENT_CODE AS agentCode , |
|
| 444 |
+ RESERVE_YN AS reserveYn , |
|
| 445 |
+ RESERVE_C_YN AS reserveCYn , |
|
| 446 |
+ CANCELDATE AS cancelDate , |
|
| 447 |
+ msgTypeName AS msgTypeName , |
|
| 448 |
+ orderByCode AS orderByCode , |
|
| 449 |
+ RESULT AS msgResult , |
|
| 450 |
+ MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey , |
|
| 451 |
+ MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey , |
|
| 452 |
+ MKPI.YELLOW_ID AS yellowId , |
|
| 453 |
+ LTM.MBER_NM AS userNm , |
|
| 454 |
+ LTM.AT_SMISHING_YN AS atSmishingYn, |
|
| 455 |
+ BIZ_UMID AS bizUmid, |
|
| 456 |
+ BL.CALL_STATUS AS callStatus, |
|
| 457 |
+ M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn |
|
| 458 |
+ FROM ( |
|
| 459 |
+ SELECT MG.USER_ID , |
|
| 460 |
+ MG.MSG_GROUP_ID , |
|
| 461 |
+ MG.MSG_GROUP_CNT , |
|
| 462 |
+ MG.SMS_TXT , |
|
| 463 |
+ MG.SUBJECT , |
|
| 464 |
+ MG.REGDATE , |
|
| 465 |
+ MG.REQ_DATE , |
|
| 466 |
+ MD.RSLT_DATE , |
|
| 467 |
+ MG.CALL_FROM , |
|
| 468 |
+ MG.TOT_PRICE , |
|
| 469 |
+ MG.EACH_PRICE , |
|
| 470 |
+ MG.DEL_FLAG , |
|
| 471 |
+ MG.MSG_TYPE , |
|
| 472 |
+ MG.FILE_CNT , |
|
| 473 |
+ MG.AGENT_CODE , |
|
| 474 |
+ MG.RESERVE_YN , |
|
| 475 |
+ MG.RESERVE_C_YN , |
|
| 476 |
+ MG.CANCELDATE , |
|
| 477 |
+ MD.MSG_SEQ , |
|
| 478 |
+ MD.CALL_TO , |
|
| 479 |
+ MD.CUR_STATE , |
|
| 480 |
+ MD.RSLT_CODE , |
|
| 481 |
+ MD.RSLT_CODE2 , |
|
| 482 |
+ CASE |
|
| 483 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 484 |
+ THEN '알림톡' |
|
| 485 |
+ WHEN MG.MSG_TYPE = '9' |
|
| 486 |
+ THEN '친구톡' |
|
| 487 |
+ END msgTypeName , |
|
| 488 |
+ CASE |
|
| 489 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 490 |
+ THEN '1' |
|
| 491 |
+ ELSE '2' |
|
| 492 |
+ END orderByCode , |
|
| 493 |
+ ( |
|
| 494 |
+ CASE |
|
| 495 |
+ WHEN MD.RSLT_CODE = '7000' |
|
| 496 |
+ THEN 'S' |
|
| 497 |
+ WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 498 |
+ THEN 'W' |
|
| 499 |
+ ELSE 'F' |
|
| 500 |
+ END |
|
| 501 |
+ ) AS result , |
|
| 502 |
+ MSG_NOTICETALK_SENDER_KEY , |
|
| 503 |
+ MSG_NOTICETALK_TMP_KEY, |
|
| 504 |
+ MD.BIZ_UMID, |
|
| 505 |
+ MD.BIZ_KAKAO_RESEND_YN |
|
| 506 |
+ FROM MJ_MSG_DATA MD , |
|
| 507 |
+ MJ_MSG_GROUP_DATA MG |
|
| 508 |
+ WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 509 |
+ AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 510 |
+ AND MD.DEL_FLAG = 'N' |
|
| 511 |
+ <!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 --> |
|
| 512 |
+ <![CDATA[ AND MG.REQ_DATE <= NOW() ]]> |
|
| 513 |
+ <isNotEmpty property="userId"> |
|
| 514 |
+ AND MG.USER_ID = #userId# |
|
| 515 |
+ </isNotEmpty> |
|
| 516 |
+ AND MG.DEL_FLAG ='N' |
|
| 517 |
+ AND MG.RESERVE_C_YN = 'N' |
|
| 518 |
+ AND MG.MSG_TYPE = '8' |
|
| 519 |
+ )M |
|
| 520 |
+ LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 521 |
+ ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 522 |
+ AND MKPI.USER_ID = M.USER_ID |
|
| 523 |
+ LEFT JOIN LETTNGNRLMBER LTM |
|
| 524 |
+ ON M.USER_ID = LTM.MBER_ID |
|
| 525 |
+ LEFT JOIN BIZ_LOG BL |
|
| 526 |
+ ON M.BIZ_UMID = BL.CMID |
|
| 527 |
+ WHERE 1=1 |
|
| 528 |
+ <isNotEmpty property="searchKeyword"> |
|
| 529 |
+ <isEqual property="searchCondition" compareValue="" > |
|
| 530 |
+ AND ( |
|
| 531 |
+ M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 532 |
+ OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 533 |
+ OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 534 |
+ ) |
|
| 535 |
+ </isEqual> |
|
| 536 |
+ <isEqual property="searchCondition" compareValue="1"> |
|
| 537 |
+ AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 538 |
+ </isEqual> |
|
| 539 |
+ <isEqual property="searchCondition" compareValue="2"> |
|
| 540 |
+ AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 541 |
+ </isEqual> |
|
| 542 |
+ <isEqual property="searchCondition" compareValue="3"> |
|
| 543 |
+ AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 544 |
+ </isEqual> |
|
| 545 |
+ |
|
| 546 |
+ <isEqual property="searchCondition2" compareValue="" > |
|
| 547 |
+ AND M.RESERVE_YN IN ('Y','N')
|
|
| 548 |
+ </isEqual> |
|
| 549 |
+ <isEqual property="searchCondition2" compareValue="N"> |
|
| 550 |
+ AND M.RESERVE_YN = 'N' |
|
| 551 |
+ </isEqual> |
|
| 552 |
+ <isEqual property="searchCondition2" compareValue="Y"> |
|
| 553 |
+ AND M.RESERVE_YN = 'Y' |
|
| 554 |
+ </isEqual> |
|
| 555 |
+ </isNotEmpty> |
|
| 556 |
+ |
|
| 557 |
+ <isEmpty property="searchKeyword"> |
|
| 558 |
+ <isNotEmpty property="searchCondition"> |
|
| 559 |
+ <isEqual property="searchCondition" compareValue="" > |
|
| 560 |
+ AND ( |
|
| 561 |
+ M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 562 |
+ OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 563 |
+ OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 564 |
+ ) |
|
| 565 |
+ </isEqual> |
|
| 566 |
+ <isEqual property="searchCondition" compareValue="1"> |
|
| 567 |
+ AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 568 |
+ </isEqual> |
|
| 569 |
+ <isEqual property="searchCondition" compareValue="2"> |
|
| 570 |
+ AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 571 |
+ </isEqual> |
|
| 572 |
+ <isEqual property="searchCondition" compareValue="3"> |
|
| 573 |
+ AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 574 |
+ </isEqual> |
|
| 575 |
+ </isNotEmpty> |
|
| 576 |
+ <isNotEmpty property="searchCondition2"> |
|
| 577 |
+ <isEqual property="searchCondition2" compareValue="" > |
|
| 578 |
+ AND M.RESERVE_YN IN ('Y','N')
|
|
| 579 |
+ </isEqual> |
|
| 580 |
+ <isEqual property="searchCondition2" compareValue="N"> |
|
| 581 |
+ AND M.RESERVE_YN = 'N' |
|
| 582 |
+ </isEqual> |
|
| 583 |
+ <isEqual property="searchCondition2" compareValue="Y"> |
|
| 584 |
+ AND M.RESERVE_YN = 'Y' |
|
| 585 |
+ </isEqual> |
|
| 586 |
+ </isNotEmpty> |
|
| 587 |
+ </isEmpty> |
|
| 588 |
+ |
|
| 589 |
+ |
|
| 590 |
+ <isNotEmpty property="msgType"> |
|
| 591 |
+ <isEqual property="msgType" compareValue="8"> |
|
| 592 |
+ AND M.MSG_TYPE = '8' |
|
| 593 |
+ </isEqual> |
|
| 594 |
+ <isEqual property="msgType" compareValue="9"> |
|
| 595 |
+ AND M.MSG_TYPE = '9' |
|
| 596 |
+ </isEqual> |
|
| 597 |
+ </isNotEmpty> |
|
| 598 |
+ <isEmpty property="msgType"> |
|
| 599 |
+ AND M.MSG_TYPE IN ('8','9')
|
|
| 600 |
+ </isEmpty> |
|
| 601 |
+ <isNotEmpty property="ntceBgnde"> |
|
| 602 |
+ <![CDATA[ |
|
| 603 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d') |
|
| 604 |
+ ]]> |
|
| 605 |
+ </isNotEmpty> |
|
| 606 |
+ <isNotEmpty property="ntceEndde"> |
|
| 607 |
+ <![CDATA[ |
|
| 608 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d') |
|
| 609 |
+ ]]> |
|
| 610 |
+ </isNotEmpty> |
|
| 611 |
+ GROUP BY MSG_GROUP_ID |
|
| 612 |
+ ORDER BY 1=1 |
|
| 613 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 614 |
+ <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 615 |
+ , curState $searchSortOrd$ |
|
| 616 |
+ , orderByrsltCode |
|
| 617 |
+ </isEqual> |
|
| 618 |
+ <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 619 |
+ ,$searchSortCnd$ |
|
| 620 |
+ </isNotEqual> |
|
| 621 |
+ </isNotEmpty> |
|
| 622 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 623 |
+ $searchSortOrd$ |
|
| 624 |
+ </isNotEmpty> |
|
| 625 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 626 |
+ ) M2 |
|
| 627 |
+ |
|
| 628 |
+ </select> |
|
| 629 |
+ |
|
| 315 | 630 |
<!-- 알림톡 상세 리스트 조회 --> |
| 316 | 631 |
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupDtList" parameterClass="kakaoVO" resultClass="kakaoVO"> |
| 317 | 632 |
/* mjonKakaoATDAO.selectMjonKakaoATGroupDtList - 알림톡 전송 개별 리스트 */ |
... | ... | @@ -349,7 +664,6 @@ |
| 349 | 664 |
, MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey |
| 350 | 665 |
, MKPI.YELLOW_ID AS yellowId |
| 351 | 666 |
, LTM.MBER_NM AS userNm |
| 352 |
- , successCount |
|
| 353 | 667 |
, BIZ_KAKAO_RESEND_YN AS subMsgSendYn |
| 354 | 668 |
, BIZ_KAKAO_RESEND_TYPE AS subMsgType |
| 355 | 669 |
, BIZ_KAKAO_RESEND_DATA AS subMsgTxt |
... | ... | @@ -403,7 +717,6 @@ |
| 403 | 717 |
ELSE '2' |
| 404 | 718 |
END orderByCode |
| 405 | 719 |
, (<include refid="KakaoSentDAO.selectAgentResultQuery_A"/>) AS RESULT |
| 406 |
- , (<include refid="mjonKakaoATDAO.selectSuccessResultQuery_C"/>) AS successCount |
|
| 407 | 720 |
, A.MSG_NOTICETALK_SENDER_KEY |
| 408 | 721 |
, A.MSG_NOTICETALK_TMP_KEY |
| 409 | 722 |
, CASE |
... | ... | @@ -442,7 +755,7 @@ |
| 442 | 755 |
]]> |
| 443 | 756 |
)M |
| 444 | 757 |
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
| 445 |
- ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY AND MKPI.USER_ID = M.USER_ID AND MKPI.DELETE_YN = 'N' |
|
| 758 |
+ ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY AND MKPI.USER_ID = M.USER_ID |
|
| 446 | 759 |
LEFT JOIN LETTNGNRLMBER LTM |
| 447 | 760 |
ON M.USER_ID = LTM.MBER_ID |
| 448 | 761 |
WHERE 1=1 |
... | ... | @@ -714,50 +1027,86 @@ |
| 714 | 1027 |
<select id="mjonKakaoATDAO.selectReserveMjonKakaoATGroupList" parameterClass="kakaoVO" resultClass="kakaoVO"> |
| 715 | 1028 |
/* mjonKakaoATDAO.selectMjonKakaoATGroupList - 알림톡 예약조회 */ |
| 716 | 1029 |
SELECT |
| 717 |
- COUNT(M.USER_ID) OVER() AS totCnt , |
|
| 718 |
- M.USER_ID AS userId , |
|
| 719 |
- MSG_GROUP_ID AS msgGroupId , |
|
| 720 |
- MSG_GROUP_CNT AS msgGroupCnt , |
|
| 721 |
- SMS_TXT AS smsTxt , |
|
| 722 |
- M.SUBJECT AS subject , |
|
| 723 |
- DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 724 |
- DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 725 |
- DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 726 |
- CALL_FROM AS callFrom , |
|
| 727 |
- CALL_TO AS callTo , |
|
| 728 |
- TOT_PRICE AS totPrice , |
|
| 729 |
- EACH_PRICE AS eachPrice , |
|
| 730 |
- CUR_STATE AS curState , |
|
| 731 |
- RSLT_CODE AS rsltCode , |
|
| 732 |
- RSLT_CODE2 AS rsltCode2 , |
|
| 733 |
- IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 734 |
- DEL_FLAG AS delFlag , |
|
| 735 |
- M.MSG_TYPE AS msgType , |
|
| 736 |
- FILE_CNT AS fileCnt , |
|
| 737 |
- AGENT_CODE AS agentCode , |
|
| 738 |
- RESERVE_YN AS reserveYn , |
|
| 739 |
- RESERVE_C_YN AS reserveCYn , |
|
| 740 |
- CANCELDATE AS cancelDate , |
|
| 741 |
- msgTypeName AS msgTypeName , |
|
| 742 |
- orderByCode AS orderByCode , |
|
| 743 |
- RESULT AS msgResult , |
|
| 744 |
- MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey , |
|
| 745 |
- MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey , |
|
| 746 |
- MKPI.YELLOW_ID AS yellowId , |
|
| 747 |
- LTM.MBER_NM AS userNm , |
|
| 748 |
- successCount, |
|
| 749 |
- atSuccessCount, |
|
| 750 |
- ftSuccessCount, |
|
| 751 |
- atFailCount, |
|
| 752 |
- ftFailCount, |
|
| 753 |
- BIZ_UMID AS bizUmid, |
|
| 754 |
- BL.CALL_STATUS AS callStatus, |
|
| 755 |
- M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn, |
|
| 1030 |
+ M2.totCnt , |
|
| 1031 |
+ M2.userId , |
|
| 1032 |
+ M2.msgGroupId , |
|
| 1033 |
+ M2.msgGroupCnt , |
|
| 1034 |
+ M2.smsTxt , |
|
| 1035 |
+ M2.subject , |
|
| 1036 |
+ M2.regDate , |
|
| 1037 |
+ M2.reqDate , |
|
| 1038 |
+ M2.rsltDate , |
|
| 1039 |
+ M2.callFrom , |
|
| 1040 |
+ M2.callTo , |
|
| 1041 |
+ M2.totPrice , |
|
| 1042 |
+ M2.eachPrice , |
|
| 1043 |
+ M2.curState , |
|
| 1044 |
+ M2.rsltCode , |
|
| 1045 |
+ M2.rsltCode2 , |
|
| 1046 |
+ M2.orderByrsltCode , |
|
| 1047 |
+ M2.delFlag , |
|
| 1048 |
+ M2.msgType , |
|
| 1049 |
+ M2.fileCnt , |
|
| 1050 |
+ M2.agentCode , |
|
| 1051 |
+ M2.reserveYn , |
|
| 1052 |
+ M2.reserveCYn , |
|
| 1053 |
+ M2.cancelDate , |
|
| 1054 |
+ M2.msgTypeName , |
|
| 1055 |
+ M2.orderByCode , |
|
| 1056 |
+ M2.msgResult , |
|
| 1057 |
+ M2.msgNoticetalkSenderKey , |
|
| 1058 |
+ M2.msgNoticetalkTmpKey , |
|
| 1059 |
+ M2.yellowId , |
|
| 1060 |
+ M2.userNm , |
|
| 1061 |
+ ( SELECT COUNT(0) |
|
| 1062 |
+ FROM MJ_MSG_DATA C |
|
| 1063 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1064 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1065 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1066 |
+ AND C.RSLT_CODE = '7000' |
|
| 1067 |
+ ) AS successCount , |
|
| 1068 |
+ ( SELECT COUNT(0) |
|
| 1069 |
+ FROM MJ_MSG_DATA C |
|
| 1070 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1071 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1072 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1073 |
+ AND C.RSLT_CODE = '7000' |
|
| 1074 |
+ AND C.MSG_TYPE = '8' |
|
| 1075 |
+ ) AS atSuccessCount , |
|
| 1076 |
+ ( SELECT COUNT(0) |
|
| 1077 |
+ FROM MJ_MSG_DATA C |
|
| 1078 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1079 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1080 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1081 |
+ AND C.RSLT_CODE != '7000' |
|
| 1082 |
+ AND C.MSG_TYPE = '8' |
|
| 1083 |
+ ) AS atFailCount , |
|
| 1084 |
+ <!-- ( SELECT COUNT(0) |
|
| 1085 |
+ FROM MJ_MSG_DATA C |
|
| 1086 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1087 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1088 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1089 |
+ AND C.RSLT_CODE = '7000' |
|
| 1090 |
+ AND C.MSG_TYPE = '9' |
|
| 1091 |
+ ) AS ftSuccessCount , |
|
| 1092 |
+ ( SELECT COUNT(0) |
|
| 1093 |
+ FROM MJ_MSG_DATA C |
|
| 1094 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1095 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1096 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1097 |
+ AND C.RSLT_CODE != '7000' |
|
| 1098 |
+ AND C.MSG_TYPE = '9' |
|
| 1099 |
+ ) AS ftFailCount ,--> |
|
| 1100 |
+ '0' AS ftSuccessCount, |
|
| 1101 |
+ '0' AS ftFailCount, |
|
| 1102 |
+ M2.bizUmid, |
|
| 1103 |
+ M2.callStatus, |
|
| 1104 |
+ M2.bizKakaoResendYn, |
|
| 756 | 1105 |
( SELECT COUNT(0) |
| 757 | 1106 |
FROM BIZ_LOG BL1, |
| 758 | 1107 |
MJ_MSG_DATA MMD1 |
| 759 |
- WHERE M.BIZ_KAKAO_RESEND_YN = 'Y' |
|
| 760 |
- AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID |
|
| 1108 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 1109 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 761 | 1110 |
AND MMD1.BIZ_UMID = BL1.CMID |
| 762 | 1111 |
AND ( |
| 763 | 1112 |
CASE |
... | ... | @@ -769,8 +1118,8 @@ |
| 769 | 1118 |
( SELECT COUNT(0) |
| 770 | 1119 |
FROM BIZ_LOG BL1, |
| 771 | 1120 |
MJ_MSG_DATA MMD1 |
| 772 |
- WHERE M.BIZ_KAKAO_RESEND_YN = 'Y' |
|
| 773 |
- AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID |
|
| 1121 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 1122 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 774 | 1123 |
AND MMD1.BIZ_UMID = BL1.CMID |
| 775 | 1124 |
AND ( |
| 776 | 1125 |
CASE |
... | ... | @@ -780,143 +1129,110 @@ |
| 780 | 1129 |
END ) = 'F' |
| 781 | 1130 |
) kakaoResendFailCount |
| 782 | 1131 |
FROM ( |
| 783 |
- SELECT MG.USER_ID , |
|
| 784 |
- MG.MSG_GROUP_ID , |
|
| 785 |
- MG.MSG_GROUP_CNT , |
|
| 786 |
- MG.SMS_TXT , |
|
| 787 |
- MG.SUBJECT , |
|
| 788 |
- MG.REGDATE , |
|
| 789 |
- MG.REQ_DATE , |
|
| 790 |
- MD.RSLT_DATE , |
|
| 791 |
- MG.CALL_FROM , |
|
| 792 |
- MG.TOT_PRICE , |
|
| 793 |
- MG.EACH_PRICE , |
|
| 794 |
- MG.DEL_FLAG , |
|
| 795 |
- MG.MSG_TYPE , |
|
| 796 |
- MG.FILE_CNT , |
|
| 797 |
- MG.AGENT_CODE , |
|
| 798 |
- MG.RESERVE_YN , |
|
| 799 |
- MG.RESERVE_C_YN , |
|
| 800 |
- MG.CANCELDATE , |
|
| 801 |
- MD.MSG_SEQ , |
|
| 802 |
- MD.CALL_TO , |
|
| 803 |
- MD.CUR_STATE , |
|
| 804 |
- MD.RSLT_CODE , |
|
| 805 |
- MD.RSLT_CODE2 , |
|
| 806 |
- CASE |
|
| 807 |
- WHEN MG.MSG_TYPE = '8' |
|
| 808 |
- THEN '알림톡' |
|
| 809 |
- WHEN MG.MSG_TYPE = '9' |
|
| 810 |
- THEN '친구톡' |
|
| 811 |
- END msgTypeName , |
|
| 812 |
- CASE |
|
| 813 |
- WHEN MG.MSG_TYPE = '8' |
|
| 814 |
- THEN '1' |
|
| 815 |
- ELSE '2' |
|
| 816 |
- END orderByCode , |
|
| 817 |
- ( |
|
| 1132 |
+ SELECT |
|
| 1133 |
+ COUNT(M.USER_ID) OVER() AS totCnt , |
|
| 1134 |
+ M.USER_ID AS userId , |
|
| 1135 |
+ MSG_GROUP_ID AS msgGroupId , |
|
| 1136 |
+ MSG_GROUP_CNT AS msgGroupCnt , |
|
| 1137 |
+ SMS_TXT AS smsTxt , |
|
| 1138 |
+ M.SUBJECT AS subject , |
|
| 1139 |
+ DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 1140 |
+ DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 1141 |
+ DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 1142 |
+ CALL_FROM AS callFrom , |
|
| 1143 |
+ CALL_TO AS callTo , |
|
| 1144 |
+ TOT_PRICE AS totPrice , |
|
| 1145 |
+ EACH_PRICE AS eachPrice , |
|
| 1146 |
+ CUR_STATE AS curState , |
|
| 1147 |
+ RSLT_CODE AS rsltCode , |
|
| 1148 |
+ RSLT_CODE2 AS rsltCode2 , |
|
| 1149 |
+ IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 1150 |
+ DEL_FLAG AS delFlag , |
|
| 1151 |
+ M.MSG_TYPE AS msgType , |
|
| 1152 |
+ FILE_CNT AS fileCnt , |
|
| 1153 |
+ AGENT_CODE AS agentCode , |
|
| 1154 |
+ RESERVE_YN AS reserveYn , |
|
| 1155 |
+ RESERVE_C_YN AS reserveCYn , |
|
| 1156 |
+ CANCELDATE AS cancelDate , |
|
| 1157 |
+ msgTypeName AS msgTypeName , |
|
| 1158 |
+ orderByCode AS orderByCode , |
|
| 1159 |
+ RESULT AS msgResult , |
|
| 1160 |
+ MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey , |
|
| 1161 |
+ MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey , |
|
| 1162 |
+ MKPI.YELLOW_ID AS yellowId , |
|
| 1163 |
+ LTM.MBER_NM AS userNm , |
|
| 1164 |
+ BIZ_UMID AS bizUmid, |
|
| 1165 |
+ BL.CALL_STATUS AS callStatus, |
|
| 1166 |
+ M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn |
|
| 1167 |
+ FROM ( |
|
| 1168 |
+ SELECT MG.USER_ID , |
|
| 1169 |
+ MG.MSG_GROUP_ID , |
|
| 1170 |
+ MG.MSG_GROUP_CNT , |
|
| 1171 |
+ MG.SMS_TXT , |
|
| 1172 |
+ MG.SUBJECT , |
|
| 1173 |
+ MG.REGDATE , |
|
| 1174 |
+ MG.REQ_DATE , |
|
| 1175 |
+ MD.RSLT_DATE , |
|
| 1176 |
+ MG.CALL_FROM , |
|
| 1177 |
+ MG.TOT_PRICE , |
|
| 1178 |
+ MG.EACH_PRICE , |
|
| 1179 |
+ MG.DEL_FLAG , |
|
| 1180 |
+ MG.MSG_TYPE , |
|
| 1181 |
+ MG.FILE_CNT , |
|
| 1182 |
+ MG.AGENT_CODE , |
|
| 1183 |
+ MG.RESERVE_YN , |
|
| 1184 |
+ MG.RESERVE_C_YN , |
|
| 1185 |
+ MG.CANCELDATE , |
|
| 1186 |
+ MD.MSG_SEQ , |
|
| 1187 |
+ MD.CALL_TO , |
|
| 1188 |
+ MD.CUR_STATE , |
|
| 1189 |
+ MD.RSLT_CODE , |
|
| 1190 |
+ MD.RSLT_CODE2 , |
|
| 818 | 1191 |
CASE |
| 819 |
- WHEN MD.RSLT_CODE = '7000' |
|
| 820 |
- THEN 'S' |
|
| 821 |
- WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 822 |
- THEN 'W' |
|
| 823 |
- ELSE 'F' |
|
| 824 |
- END |
|
| 825 |
- ) AS result , |
|
| 826 |
- ( SELECT COUNT(0) |
|
| 827 |
- FROM MJ_MSG_DATA C |
|
| 828 |
- WHERE C.DEL_FLAG = 'N' |
|
| 829 |
- AND C.RESERVE_C_YN = 'N' |
|
| 830 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 831 |
- AND C.RSLT_CODE = '7000' |
|
| 832 |
- ) AS successCount , |
|
| 833 |
- ( SELECT COUNT(0) |
|
| 834 |
- FROM MJ_MSG_DATA C |
|
| 835 |
- WHERE C.DEL_FLAG = 'N' |
|
| 836 |
- AND C.RESERVE_C_YN = 'N' |
|
| 837 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 838 |
- AND C.RSLT_CODE = '7000' |
|
| 839 |
- AND C.MSG_TYPE = '8' |
|
| 840 |
- ) AS atSuccessCount , |
|
| 841 |
- ( SELECT COUNT(0) |
|
| 842 |
- FROM MJ_MSG_DATA C |
|
| 843 |
- WHERE C.DEL_FLAG = 'N' |
|
| 844 |
- AND C.RESERVE_C_YN = 'N' |
|
| 845 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 846 |
- AND C.RSLT_CODE = '7000' |
|
| 847 |
- AND C.MSG_TYPE = '9' |
|
| 848 |
- ) AS ftSuccessCount , |
|
| 849 |
- ( SELECT COUNT(0) |
|
| 850 |
- FROM MJ_MSG_DATA C |
|
| 851 |
- WHERE C.DEL_FLAG = 'N' |
|
| 852 |
- AND C.RESERVE_C_YN = 'N' |
|
| 853 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 854 |
- AND C.RSLT_CODE != '7000' |
|
| 855 |
- AND C.MSG_TYPE = '8' |
|
| 856 |
- ) AS atFailCount , |
|
| 857 |
- ( SELECT COUNT(0) |
|
| 858 |
- FROM MJ_MSG_DATA C |
|
| 859 |
- WHERE C.DEL_FLAG = 'N' |
|
| 860 |
- AND C.RESERVE_C_YN = 'N' |
|
| 861 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 862 |
- AND C.RSLT_CODE != '7000' |
|
| 863 |
- AND C.MSG_TYPE = '9' |
|
| 864 |
- ) AS ftFailCount , |
|
| 865 |
- MSG_NOTICETALK_SENDER_KEY , |
|
| 866 |
- MSG_NOTICETALK_TMP_KEY, |
|
| 867 |
- MD.BIZ_UMID, |
|
| 868 |
- MD.BIZ_KAKAO_RESEND_YN |
|
| 869 |
- FROM MJ_MSG_DATA MD , |
|
| 870 |
- MJ_MSG_GROUP_DATA MG |
|
| 871 |
- WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 872 |
- AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 873 |
- AND MD.DEL_FLAG = 'N' |
|
| 874 |
- <isNotEmpty property="userId"> |
|
| 875 |
- AND MG.USER_ID = #userId# |
|
| 876 |
- </isNotEmpty> |
|
| 877 |
- AND MG.DEL_FLAG ='N' |
|
| 878 |
- AND MG.RESERVE_C_YN = 'N' |
|
| 879 |
- )M |
|
| 880 |
- LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 881 |
- ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 882 |
- AND MKPI.USER_ID = M.USER_ID |
|
| 883 |
- AND MKPI.DELETE_YN = 'N' |
|
| 884 |
- LEFT JOIN LETTNGNRLMBER LTM |
|
| 885 |
- ON M.USER_ID = LTM.MBER_ID |
|
| 886 |
- LEFT JOIN BIZ_LOG BL |
|
| 887 |
- ON M.BIZ_UMID = BL.CMID |
|
| 888 |
- WHERE 1=1 |
|
| 889 |
- <isNotEmpty property="searchKeyword"> |
|
| 890 |
- <isEqual property="searchCondition" compareValue="" > |
|
| 891 |
- AND ( |
|
| 892 |
- M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 893 |
- OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 894 |
- OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 895 |
- ) |
|
| 896 |
- </isEqual> |
|
| 897 |
- <isEqual property="searchCondition" compareValue="1"> |
|
| 898 |
- AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 899 |
- </isEqual> |
|
| 900 |
- <isEqual property="searchCondition" compareValue="2"> |
|
| 901 |
- AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 902 |
- </isEqual> |
|
| 903 |
- <isEqual property="searchCondition" compareValue="3"> |
|
| 904 |
- AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 905 |
- </isEqual> |
|
| 906 |
- |
|
| 907 |
- <isEqual property="searchCondition2" compareValue="" > |
|
| 908 |
- AND M.RESERVE_YN IN ('Y','N')
|
|
| 909 |
- </isEqual> |
|
| 910 |
- <isEqual property="searchCondition2" compareValue="N"> |
|
| 911 |
- AND M.RESERVE_YN = 'N' |
|
| 912 |
- </isEqual> |
|
| 913 |
- <isEqual property="searchCondition2" compareValue="Y"> |
|
| 914 |
- AND M.RESERVE_YN = 'Y' |
|
| 915 |
- </isEqual> |
|
| 916 |
- </isNotEmpty> |
|
| 917 |
- |
|
| 918 |
- <isEmpty property="searchKeyword"> |
|
| 919 |
- <isNotEmpty property="searchCondition"> |
|
| 1192 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 1193 |
+ THEN '알림톡' |
|
| 1194 |
+ WHEN MG.MSG_TYPE = '9' |
|
| 1195 |
+ THEN '친구톡' |
|
| 1196 |
+ END msgTypeName , |
|
| 1197 |
+ CASE |
|
| 1198 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 1199 |
+ THEN '1' |
|
| 1200 |
+ ELSE '2' |
|
| 1201 |
+ END orderByCode , |
|
| 1202 |
+ ( |
|
| 1203 |
+ CASE |
|
| 1204 |
+ WHEN MD.RSLT_CODE = '7000' |
|
| 1205 |
+ THEN 'S' |
|
| 1206 |
+ WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 1207 |
+ THEN 'W' |
|
| 1208 |
+ ELSE 'F' |
|
| 1209 |
+ END |
|
| 1210 |
+ ) AS result , |
|
| 1211 |
+ MSG_NOTICETALK_SENDER_KEY , |
|
| 1212 |
+ MSG_NOTICETALK_TMP_KEY, |
|
| 1213 |
+ MD.BIZ_UMID, |
|
| 1214 |
+ MD.BIZ_KAKAO_RESEND_YN |
|
| 1215 |
+ FROM MJ_MSG_DATA MD , |
|
| 1216 |
+ MJ_MSG_GROUP_DATA MG |
|
| 1217 |
+ WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 1218 |
+ AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 1219 |
+ AND MD.DEL_FLAG = 'N' |
|
| 1220 |
+ <isNotEmpty property="userId"> |
|
| 1221 |
+ AND MG.USER_ID = #userId# |
|
| 1222 |
+ </isNotEmpty> |
|
| 1223 |
+ AND MG.DEL_FLAG ='N' |
|
| 1224 |
+ AND MG.RESERVE_C_YN = 'N' |
|
| 1225 |
+ AND MG.MSG_TYPE = '8' |
|
| 1226 |
+ )M |
|
| 1227 |
+ LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 1228 |
+ ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 1229 |
+ AND MKPI.USER_ID = M.USER_ID |
|
| 1230 |
+ LEFT JOIN LETTNGNRLMBER LTM |
|
| 1231 |
+ ON M.USER_ID = LTM.MBER_ID |
|
| 1232 |
+ LEFT JOIN BIZ_LOG BL |
|
| 1233 |
+ ON M.BIZ_UMID = BL.CMID |
|
| 1234 |
+ WHERE 1=1 |
|
| 1235 |
+ <isNotEmpty property="searchKeyword"> |
|
| 920 | 1236 |
<isEqual property="searchCondition" compareValue="" > |
| 921 | 1237 |
AND ( |
| 922 | 1238 |
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
... | ... | @@ -933,8 +1249,7 @@ |
| 933 | 1249 |
<isEqual property="searchCondition" compareValue="3"> |
| 934 | 1250 |
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
| 935 | 1251 |
</isEqual> |
| 936 |
- </isNotEmpty> |
|
| 937 |
- <isNotEmpty property="searchCondition2"> |
|
| 1252 |
+ |
|
| 938 | 1253 |
<isEqual property="searchCondition2" compareValue="" > |
| 939 | 1254 |
AND M.RESERVE_YN IN ('Y','N')
|
| 940 | 1255 |
</isEqual> |
... | ... | @@ -945,45 +1260,77 @@ |
| 945 | 1260 |
AND M.RESERVE_YN = 'Y' |
| 946 | 1261 |
</isEqual> |
| 947 | 1262 |
</isNotEmpty> |
| 948 |
- </isEmpty> |
|
| 949 |
- |
|
| 950 |
- |
|
| 951 |
- <isNotEmpty property="msgType"> |
|
| 952 |
- <isEqual property="msgType" compareValue="8"> |
|
| 953 |
- AND M.MSG_TYPE = '8' |
|
| 1263 |
+ |
|
| 1264 |
+ <isEmpty property="searchKeyword"> |
|
| 1265 |
+ <isNotEmpty property="searchCondition"> |
|
| 1266 |
+ <isEqual property="searchCondition" compareValue="" > |
|
| 1267 |
+ AND ( |
|
| 1268 |
+ M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 1269 |
+ OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 1270 |
+ OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 1271 |
+ ) |
|
| 1272 |
+ </isEqual> |
|
| 1273 |
+ <isEqual property="searchCondition" compareValue="1"> |
|
| 1274 |
+ AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 1275 |
+ </isEqual> |
|
| 1276 |
+ <isEqual property="searchCondition" compareValue="2"> |
|
| 1277 |
+ AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 1278 |
+ </isEqual> |
|
| 1279 |
+ <isEqual property="searchCondition" compareValue="3"> |
|
| 1280 |
+ AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
| 1281 |
+ </isEqual> |
|
| 1282 |
+ </isNotEmpty> |
|
| 1283 |
+ <isNotEmpty property="searchCondition2"> |
|
| 1284 |
+ <isEqual property="searchCondition2" compareValue="" > |
|
| 1285 |
+ AND M.RESERVE_YN IN ('Y','N')
|
|
| 1286 |
+ </isEqual> |
|
| 1287 |
+ <isEqual property="searchCondition2" compareValue="N"> |
|
| 1288 |
+ AND M.RESERVE_YN = 'N' |
|
| 1289 |
+ </isEqual> |
|
| 1290 |
+ <isEqual property="searchCondition2" compareValue="Y"> |
|
| 1291 |
+ AND M.RESERVE_YN = 'Y' |
|
| 1292 |
+ </isEqual> |
|
| 1293 |
+ </isNotEmpty> |
|
| 1294 |
+ </isEmpty> |
|
| 1295 |
+ |
|
| 1296 |
+ |
|
| 1297 |
+ <isNotEmpty property="msgType"> |
|
| 1298 |
+ <isEqual property="msgType" compareValue="8"> |
|
| 1299 |
+ AND M.MSG_TYPE = '8' |
|
| 1300 |
+ </isEqual> |
|
| 1301 |
+ <isEqual property="msgType" compareValue="9"> |
|
| 1302 |
+ AND M.MSG_TYPE = '9' |
|
| 1303 |
+ </isEqual> |
|
| 1304 |
+ </isNotEmpty> |
|
| 1305 |
+ <isEmpty property="msgType"> |
|
| 1306 |
+ AND M.MSG_TYPE IN ('8','9')
|
|
| 1307 |
+ </isEmpty> |
|
| 1308 |
+ <isNotEmpty property="ntceBgnde"> |
|
| 1309 |
+ <![CDATA[ |
|
| 1310 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d') |
|
| 1311 |
+ ]]> |
|
| 1312 |
+ </isNotEmpty> |
|
| 1313 |
+ <isNotEmpty property="ntceEndde"> |
|
| 1314 |
+ <![CDATA[ |
|
| 1315 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d') |
|
| 1316 |
+ ]]> |
|
| 1317 |
+ </isNotEmpty> |
|
| 1318 |
+ GROUP BY MSG_GROUP_ID |
|
| 1319 |
+ ORDER BY 1=1 |
|
| 1320 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 1321 |
+ <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 1322 |
+ , curState $searchSortOrd$ |
|
| 1323 |
+ , orderByrsltCode |
|
| 954 | 1324 |
</isEqual> |
| 955 |
- <isEqual property="msgType" compareValue="9"> |
|
| 956 |
- AND M.MSG_TYPE = '9' |
|
| 957 |
- </isEqual> |
|
| 1325 |
+ <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 1326 |
+ ,$searchSortCnd$ |
|
| 1327 |
+ </isNotEqual> |
|
| 958 | 1328 |
</isNotEmpty> |
| 959 |
- <isEmpty property="msgType"> |
|
| 960 |
- AND M.MSG_TYPE IN ('8','9')
|
|
| 961 |
- </isEmpty> |
|
| 962 |
- <isNotEmpty property="ntceBgnde"> |
|
| 963 |
- <![CDATA[ |
|
| 964 |
- AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d') |
|
| 965 |
- ]]> |
|
| 1329 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 1330 |
+ $searchSortOrd$ |
|
| 966 | 1331 |
</isNotEmpty> |
| 967 |
- <isNotEmpty property="ntceEndde"> |
|
| 968 |
- <![CDATA[ |
|
| 969 |
- AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d') |
|
| 970 |
- ]]> |
|
| 971 |
- </isNotEmpty> |
|
| 972 |
- GROUP BY MSG_GROUP_ID |
|
| 973 |
- ORDER BY 1=1 |
|
| 974 |
- <isNotEmpty property="searchSortCnd"> |
|
| 975 |
- <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 976 |
- , curState $searchSortOrd$ |
|
| 977 |
- , orderByrsltCode |
|
| 978 |
- </isEqual> |
|
| 979 |
- <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 980 |
- ,$searchSortCnd$ |
|
| 981 |
- </isNotEqual> |
|
| 982 |
- </isNotEmpty> |
|
| 983 |
- <isNotEmpty property="searchSortOrd"> |
|
| 984 |
- $searchSortOrd$ |
|
| 985 |
- </isNotEmpty> |
|
| 986 |
- LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 1332 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 1333 |
+ ) M2 |
|
| 987 | 1334 |
</select> |
| 988 | 1335 |
|
| 989 | 1336 |
<!-- 알림톡 상세 리스트 조회 --> |
--- src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/mjo/kakao/KakaoSent_SQL_Mysql.xml
... | ... | @@ -202,45 +202,70 @@ |
| 202 | 202 |
<!-- 전체 발송결과 조회 (그룹별)--> |
| 203 | 203 |
<select id="KakaoSentDAO.selectAllKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO"> |
| 204 | 204 |
SELECT |
| 205 |
- COUNT(M.USER_ID) OVER() AS totMsgCnt , |
|
| 206 |
- M.USER_ID AS userId , |
|
| 207 |
- MSG_GROUP_ID AS msgGroupId , |
|
| 208 |
- MSG_GROUP_CNT AS msgGroupCnt , |
|
| 209 |
- SMS_TXT AS smsTxt , |
|
| 210 |
- M.SUBJECT AS subject , |
|
| 211 |
- DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 212 |
- DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 213 |
- DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 214 |
- CALL_FROM AS callFrom , |
|
| 215 |
- CALL_TO AS callTo , |
|
| 216 |
- IFNULL(ADDR_NM, '-') AS addrNm , |
|
| 217 |
- TOT_PRICE AS totPrice , |
|
| 218 |
- EACH_PRICE AS eachPrice , |
|
| 219 |
- CUR_STATE AS curState , |
|
| 220 |
- RSLT_CODE AS rsltCode , |
|
| 221 |
- RSLT_CODE2 AS rsltCode2 , |
|
| 222 |
- IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 223 |
- DEL_FLAG AS delFlag , |
|
| 224 |
- M.MSG_TYPE AS msgType , |
|
| 225 |
- FILE_CNT AS fileCnt , |
|
| 226 |
- AGENT_CODE AS agentCode , |
|
| 227 |
- RESERVE_YN AS reserveYn , |
|
| 228 |
- RESERVE_C_YN AS reserveCYn , |
|
| 229 |
- CANCELDATE AS cancelDate , |
|
| 230 |
- msgTypeName AS msgTypeName , |
|
| 231 |
- orderByCode AS orderByCode , |
|
| 232 |
- RESULT AS msgResult , |
|
| 233 |
- successCount, |
|
| 234 |
- waitCount, |
|
| 235 |
- failCount, |
|
| 236 |
- BIZ_UMID AS bizUmid, |
|
| 237 |
- BL.CALL_STATUS AS callStatus, |
|
| 238 |
- M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn, |
|
| 205 |
+ M2.totMsgCnt , |
|
| 206 |
+ M2.userId , |
|
| 207 |
+ M2.msgGroupId , |
|
| 208 |
+ M2.msgGroupCnt , |
|
| 209 |
+ M2.smsTxt , |
|
| 210 |
+ M2.subject , |
|
| 211 |
+ M2.regDate , |
|
| 212 |
+ M2.reqDate , |
|
| 213 |
+ M2.rsltDate , |
|
| 214 |
+ M2.callFrom , |
|
| 215 |
+ M2.callTo , |
|
| 216 |
+ M2.addrNm , |
|
| 217 |
+ M2.totPrice , |
|
| 218 |
+ M2.eachPrice , |
|
| 219 |
+ M2.curState , |
|
| 220 |
+ M2.rsltCode , |
|
| 221 |
+ M2.rsltCode2 , |
|
| 222 |
+ M2.orderByrsltCode , |
|
| 223 |
+ M2.delFlag , |
|
| 224 |
+ M2.msgType , |
|
| 225 |
+ M2.fileCnt , |
|
| 226 |
+ M2.agentCode , |
|
| 227 |
+ M2.reserveYn , |
|
| 228 |
+ M2.reserveCYn , |
|
| 229 |
+ M2.cancelDate , |
|
| 230 |
+ M2.msgTypeName , |
|
| 231 |
+ M2.orderByCode , |
|
| 232 |
+ M2.msgResult , |
|
| 233 |
+ ( SELECT COUNT(0) |
|
| 234 |
+ FROM MJ_MSG_DATA C |
|
| 235 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 236 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 237 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 238 |
+ AND C.RSLT_CODE = '7000' |
|
| 239 |
+ ) AS successCount , |
|
| 240 |
+ ( SELECT COUNT(0) |
|
| 241 |
+ FROM MJ_MSG_DATA C |
|
| 242 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 243 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 244 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 245 |
+ AND ( |
|
| 246 |
+ C.RSLT_CODE IS NULL |
|
| 247 |
+ AND C.SENT_DATE IS NULL |
|
| 248 |
+ AND C.RSLT_DATE IS NULL |
|
| 249 |
+ ) |
|
| 250 |
+ ) AS waitCount , |
|
| 251 |
+ ( SELECT COUNT(0) |
|
| 252 |
+ FROM MJ_MSG_DATA C |
|
| 253 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 254 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 255 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 256 |
+ AND ( |
|
| 257 |
+ C.RSLT_CODE != '7000' |
|
| 258 |
+ AND C.RSLT_CODE IS NOT NULL |
|
| 259 |
+ ) |
|
| 260 |
+ ) AS failCount , |
|
| 261 |
+ M2.bizUmid, |
|
| 262 |
+ M2.callStatus, |
|
| 263 |
+ M2.bizKakaoResendYn, |
|
| 239 | 264 |
( SELECT COUNT(0) |
| 240 | 265 |
FROM BIZ_LOG BL1, |
| 241 | 266 |
MJ_MSG_DATA MMD1 |
| 242 |
- WHERE M.BIZ_KAKAO_RESEND_YN = 'Y' |
|
| 243 |
- AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID |
|
| 267 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 268 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 244 | 269 |
AND MMD1.BIZ_UMID = BL1.CMID |
| 245 | 270 |
AND ( |
| 246 | 271 |
CASE |
... | ... | @@ -252,8 +277,8 @@ |
| 252 | 277 |
( SELECT COUNT(0) |
| 253 | 278 |
FROM BIZ_LOG BL1, |
| 254 | 279 |
MJ_MSG_DATA MMD1 |
| 255 |
- WHERE M.BIZ_KAKAO_RESEND_YN = 'Y' |
|
| 256 |
- AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID |
|
| 280 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 281 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 257 | 282 |
AND MMD1.BIZ_UMID = BL1.CMID |
| 258 | 283 |
AND ( |
| 259 | 284 |
CASE |
... | ... | @@ -262,185 +287,191 @@ |
| 262 | 287 |
ELSE 'F' |
| 263 | 288 |
END ) = 'F' |
| 264 | 289 |
) kakaoResendFailCount |
| 265 |
- FROM ( |
|
| 266 |
- SELECT MG.USER_ID , |
|
| 267 |
- MG.MSG_GROUP_ID , |
|
| 268 |
- MG.MSG_GROUP_CNT , |
|
| 269 |
- MG.SMS_TXT , |
|
| 270 |
- MG.SUBJECT , |
|
| 271 |
- MG.REGDATE , |
|
| 272 |
- MG.REQ_DATE , |
|
| 273 |
- MD.RSLT_DATE , |
|
| 274 |
- MG.CALL_FROM , |
|
| 275 |
- MG.TOT_PRICE , |
|
| 276 |
- MG.EACH_PRICE , |
|
| 277 |
- MG.DEL_FLAG , |
|
| 278 |
- MG.MSG_TYPE , |
|
| 279 |
- MG.FILE_CNT , |
|
| 280 |
- MG.AGENT_CODE , |
|
| 281 |
- MG.RESERVE_YN , |
|
| 282 |
- MG.RESERVE_C_YN , |
|
| 283 |
- MG.CANCELDATE , |
|
| 284 |
- MD.MSG_SEQ , |
|
| 285 |
- MD.CALL_TO , |
|
| 286 |
- MD.CUR_STATE , |
|
| 287 |
- MD.RSLT_CODE , |
|
| 288 |
- MD.RSLT_CODE2 , |
|
| 289 |
- CASE |
|
| 290 |
- WHEN MG.MSG_TYPE = '8' |
|
| 291 |
- THEN '알림톡' |
|
| 292 |
- WHEN MG.MSG_TYPE = '9' |
|
| 293 |
- THEN '친구톡' |
|
| 294 |
- END msgTypeName , |
|
| 295 |
- CASE |
|
| 296 |
- WHEN MG.MSG_TYPE = '8' |
|
| 297 |
- THEN '1' |
|
| 298 |
- ELSE '2' |
|
| 299 |
- END orderByCode , ( |
|
| 300 |
- CASE |
|
| 301 |
- WHEN MD.RSLT_CODE = '7000' |
|
| 302 |
- THEN 'S' |
|
| 303 |
- WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 304 |
- THEN 'W' |
|
| 305 |
- ELSE 'F' |
|
| 306 |
- END ) AS result , |
|
| 307 |
- ( SELECT COUNT(0) |
|
| 308 |
- FROM MJ_MSG_DATA C |
|
| 309 |
- WHERE C.DEL_FLAG = 'N' |
|
| 310 |
- AND C.RESERVE_C_YN = 'N' |
|
| 311 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 312 |
- AND C.RSLT_CODE = '7000' |
|
| 313 |
- ) AS successCount , |
|
| 314 |
- ( SELECT COUNT(0) |
|
| 315 |
- FROM MJ_MSG_DATA C |
|
| 316 |
- WHERE C.DEL_FLAG = 'N' |
|
| 317 |
- AND C.RESERVE_C_YN = 'N' |
|
| 318 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 319 |
- AND ( |
|
| 320 |
- C.RSLT_CODE IS NULL |
|
| 321 |
- AND C.SENT_DATE IS NULL |
|
| 322 |
- AND C.RSLT_DATE IS NULL |
|
| 323 |
- ) |
|
| 324 |
- ) AS waitCount , |
|
| 325 |
- ( SELECT COUNT(0) |
|
| 326 |
- FROM MJ_MSG_DATA C |
|
| 327 |
- WHERE C.DEL_FLAG = 'N' |
|
| 328 |
- AND C.RESERVE_C_YN = 'N' |
|
| 329 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 330 |
- AND ( |
|
| 331 |
- C.RSLT_CODE != '7000' |
|
| 332 |
- AND C.RSLT_CODE IS NOT NULL |
|
| 333 |
- ) |
|
| 334 |
- ) AS failCount , |
|
| 335 |
- MSG_NOTICETALK_SENDER_KEY , |
|
| 336 |
- MSG_NOTICETALK_TMP_KEY, |
|
| 337 |
- MD.BIZ_UMID, |
|
| 338 |
- MD.BIZ_KAKAO_RESEND_YN |
|
| 339 |
- FROM MJ_MSG_DATA MD , |
|
| 340 |
- MJ_MSG_GROUP_DATA MG |
|
| 341 |
- WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 342 |
- AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 343 |
- AND MD.DEL_FLAG = 'N' |
|
| 344 |
- AND MG.USER_ID = #userId# |
|
| 345 |
- AND MG.DEL_FLAG ='N' |
|
| 346 |
- /* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */ |
|
| 347 |
- /* AND MG.RESERVE_YN = 'N' */ |
|
| 348 |
- <![CDATA[ AND MG.REQ_DATE <= NOW() ]]> |
|
| 290 |
+ FROM ( |
|
| 291 |
+ SELECT |
|
| 292 |
+ COUNT(M.USER_ID) OVER() AS totMsgCnt , |
|
| 293 |
+ M.USER_ID AS userId , |
|
| 294 |
+ MSG_GROUP_ID AS msgGroupId , |
|
| 295 |
+ MSG_GROUP_CNT AS msgGroupCnt , |
|
| 296 |
+ SMS_TXT AS smsTxt , |
|
| 297 |
+ M.SUBJECT AS subject , |
|
| 298 |
+ DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 299 |
+ DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 300 |
+ DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 301 |
+ CALL_FROM AS callFrom , |
|
| 302 |
+ CALL_TO AS callTo , |
|
| 303 |
+ IFNULL(ADDR_NM, '-') AS addrNm , |
|
| 304 |
+ TOT_PRICE AS totPrice , |
|
| 305 |
+ EACH_PRICE AS eachPrice , |
|
| 306 |
+ CUR_STATE AS curState , |
|
| 307 |
+ RSLT_CODE AS rsltCode , |
|
| 308 |
+ RSLT_CODE2 AS rsltCode2 , |
|
| 309 |
+ IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 310 |
+ DEL_FLAG AS delFlag , |
|
| 311 |
+ M.MSG_TYPE AS msgType , |
|
| 312 |
+ FILE_CNT AS fileCnt , |
|
| 313 |
+ AGENT_CODE AS agentCode , |
|
| 314 |
+ RESERVE_YN AS reserveYn , |
|
| 315 |
+ RESERVE_C_YN AS reserveCYn , |
|
| 316 |
+ CANCELDATE AS cancelDate , |
|
| 317 |
+ msgTypeName AS msgTypeName , |
|
| 318 |
+ orderByCode AS orderByCode , |
|
| 319 |
+ RESULT AS msgResult , |
|
| 320 |
+ BIZ_UMID AS bizUmid, |
|
| 321 |
+ BL.CALL_STATUS AS callStatus, |
|
| 322 |
+ M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn |
|
| 323 |
+ FROM ( |
|
| 324 |
+ SELECT MG.USER_ID , |
|
| 325 |
+ MG.MSG_GROUP_ID , |
|
| 326 |
+ MG.MSG_GROUP_CNT , |
|
| 327 |
+ MG.SMS_TXT , |
|
| 328 |
+ MG.SUBJECT , |
|
| 329 |
+ MG.REGDATE , |
|
| 330 |
+ MG.REQ_DATE , |
|
| 331 |
+ MD.RSLT_DATE , |
|
| 332 |
+ MG.CALL_FROM , |
|
| 333 |
+ MG.TOT_PRICE , |
|
| 334 |
+ MG.EACH_PRICE , |
|
| 335 |
+ MG.DEL_FLAG , |
|
| 336 |
+ MG.MSG_TYPE , |
|
| 337 |
+ MG.FILE_CNT , |
|
| 338 |
+ MG.AGENT_CODE , |
|
| 339 |
+ MG.RESERVE_YN , |
|
| 340 |
+ MG.RESERVE_C_YN , |
|
| 341 |
+ MG.CANCELDATE , |
|
| 342 |
+ MD.MSG_SEQ , |
|
| 343 |
+ MD.CALL_TO , |
|
| 344 |
+ MD.CUR_STATE , |
|
| 345 |
+ MD.RSLT_CODE , |
|
| 346 |
+ MD.RSLT_CODE2 , |
|
| 347 |
+ CASE |
|
| 348 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 349 |
+ THEN '알림톡' |
|
| 350 |
+ WHEN MG.MSG_TYPE = '9' |
|
| 351 |
+ THEN '친구톡' |
|
| 352 |
+ END msgTypeName , |
|
| 353 |
+ CASE |
|
| 354 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 355 |
+ THEN '1' |
|
| 356 |
+ ELSE '2' |
|
| 357 |
+ END orderByCode , ( |
|
| 358 |
+ CASE |
|
| 359 |
+ WHEN MD.RSLT_CODE = '7000' |
|
| 360 |
+ THEN 'S' |
|
| 361 |
+ WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 362 |
+ THEN 'W' |
|
| 363 |
+ ELSE 'F' |
|
| 364 |
+ END ) AS result , |
|
| 365 |
+ MSG_NOTICETALK_SENDER_KEY , |
|
| 366 |
+ MSG_NOTICETALK_TMP_KEY, |
|
| 367 |
+ MD.BIZ_UMID, |
|
| 368 |
+ MD.BIZ_KAKAO_RESEND_YN |
|
| 369 |
+ FROM MJ_MSG_DATA MD , |
|
| 370 |
+ MJ_MSG_GROUP_DATA MG |
|
| 371 |
+ WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 372 |
+ AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 373 |
+ AND MD.DEL_FLAG = 'N' |
|
| 374 |
+ AND MG.USER_ID = #userId# |
|
| 375 |
+ AND MG.DEL_FLAG ='N' |
|
| 376 |
+ /* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */ |
|
| 377 |
+ /* AND MG.RESERVE_YN = 'N' */ |
|
| 378 |
+ <![CDATA[ AND MG.REQ_DATE <= NOW() ]]> |
|
| 379 |
+ |
|
| 380 |
+ <isNotEmpty property="reserveCYn"> |
|
| 381 |
+ AND MG.RESERVE_C_YN = #reserveCYn# |
|
| 382 |
+ </isNotEmpty> |
|
| 349 | 383 |
|
| 350 |
- <isNotEmpty property="reserveCYn"> |
|
| 351 |
- AND MG.RESERVE_C_YN = #reserveCYn# |
|
| 352 |
- </isNotEmpty> |
|
| 353 |
- |
|
| 354 |
- <isNotEmpty property="stateType"> |
|
| 355 |
- <isEqual property="stateType" compareValue="all"> |
|
| 356 |
- AND MD.CUR_STATE IN ('0','1','2','3')
|
|
| 357 |
- </isEqual> |
|
| 358 |
- <isEqual property="stateType" compareValue="ready"> |
|
| 359 |
- AND MD.CUR_STATE = '0' |
|
| 360 |
- AND MD.RESERVE_C_YN = 'N' |
|
| 361 |
- </isEqual> |
|
| 362 |
- <isEqual property="stateType" compareValue="complete"> |
|
| 363 |
- AND MD.CUR_STATE IN ('2','3')
|
|
| 364 |
- AND MD.RSLT_CODE = '7000' |
|
| 365 |
- AND MD.RESERVE_C_YN = 'N' |
|
| 366 |
- </isEqual> |
|
| 367 |
- <isEqual property="stateType" compareValue="fail"> |
|
| 368 |
- AND MD.RESERVE_C_YN = 'N' |
|
| 369 |
- AND MD.RSLT_CODE != '7000' |
|
| 370 |
- </isEqual> |
|
| 371 |
- </isNotEmpty> |
|
| 372 |
- <isNotEmpty property="tabType"> |
|
| 373 |
- <isEqual property="tabType" compareValue="at"> |
|
| 374 |
- AND MD.MSG_TYPE = '8' |
|
| 375 |
- </isEqual> |
|
| 376 |
- <isEqual property="tabType" compareValue="ft"> |
|
| 377 |
- AND MD.MSG_TYPE = '9' |
|
| 378 |
- </isEqual> |
|
| 379 |
- <isEqual property="tabType" compareValue="all"> |
|
| 380 |
- AND MD.MSG_TYPE IN ('8','9')
|
|
| 381 |
- </isEqual> |
|
| 382 |
- </isNotEmpty> |
|
| 383 |
- <isEmpty property="tabType"> |
|
| 384 |
- AND MD.MSG_TYPE IN ('8','9')
|
|
| 385 |
- </isEmpty> |
|
| 386 |
- |
|
| 387 |
- |
|
| 388 |
- <!-- <isEmpty property="reserveYn"> |
|
| 389 |
- <![CDATA[ |
|
| 390 |
- AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE) |
|
| 391 |
- ]]> |
|
| 392 |
- </isEmpty> --> |
|
| 393 |
- )M |
|
| 394 |
- LEFT JOIN |
|
| 395 |
- ( |
|
| 396 |
- SELECT |
|
| 397 |
- ADDR_PHONE_NO |
|
| 398 |
- , ADDR_NM |
|
| 399 |
- FROM |
|
| 400 |
- MJ_ADDR |
|
| 401 |
- WHERE 1=1 |
|
| 402 |
- AND MBER_ID = #userId# |
|
| 403 |
- GROUP BY ADDR_PHONE_NO |
|
| 404 |
- )MA |
|
| 405 |
- ON M.CALL_TO = MA.ADDR_PHONE_NO |
|
| 406 |
- LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 407 |
- ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 408 |
- AND MKPI.DELETE_YN = 'N' |
|
| 409 |
- LEFT JOIN LETTNGNRLMBER LTM |
|
| 410 |
- ON M.USER_ID = LTM.MBER_ID |
|
| 411 |
- LEFT JOIN BIZ_LOG BL |
|
| 412 |
- ON M.BIZ_UMID = BL.CMID |
|
| 413 |
- WHERE 1=1 |
|
| 414 |
- <isNotEmpty property="searchKeyword"> |
|
| 415 |
- <isEqual property="searchCondition" compareValue="3" > |
|
| 416 |
- AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 417 |
- </isEqual> |
|
| 418 |
- </isNotEmpty> |
|
| 419 |
- <isNotEmpty property="startDate"> |
|
| 384 |
+ <isNotEmpty property="stateType"> |
|
| 385 |
+ <isEqual property="stateType" compareValue="all"> |
|
| 386 |
+ AND MD.CUR_STATE IN ('0','1','2','3')
|
|
| 387 |
+ </isEqual> |
|
| 388 |
+ <isEqual property="stateType" compareValue="ready"> |
|
| 389 |
+ AND MD.CUR_STATE = '0' |
|
| 390 |
+ AND MD.RESERVE_C_YN = 'N' |
|
| 391 |
+ </isEqual> |
|
| 392 |
+ <isEqual property="stateType" compareValue="complete"> |
|
| 393 |
+ AND MD.CUR_STATE IN ('2','3')
|
|
| 394 |
+ AND MD.RSLT_CODE = '7000' |
|
| 395 |
+ AND MD.RESERVE_C_YN = 'N' |
|
| 396 |
+ </isEqual> |
|
| 397 |
+ <isEqual property="stateType" compareValue="fail"> |
|
| 398 |
+ AND MD.RESERVE_C_YN = 'N' |
|
| 399 |
+ AND MD.RSLT_CODE != '7000' |
|
| 400 |
+ </isEqual> |
|
| 401 |
+ </isNotEmpty> |
|
| 402 |
+ <isNotEmpty property="tabType"> |
|
| 403 |
+ <isEqual property="tabType" compareValue="at"> |
|
| 404 |
+ AND MD.MSG_TYPE = '8' |
|
| 405 |
+ </isEqual> |
|
| 406 |
+ <isEqual property="tabType" compareValue="ft"> |
|
| 407 |
+ AND MD.MSG_TYPE = '9' |
|
| 408 |
+ </isEqual> |
|
| 409 |
+ <isEqual property="tabType" compareValue="all"> |
|
| 410 |
+ AND MD.MSG_TYPE IN ('8','9')
|
|
| 411 |
+ </isEqual> |
|
| 412 |
+ </isNotEmpty> |
|
| 413 |
+ <isEmpty property="tabType"> |
|
| 414 |
+ AND MD.MSG_TYPE IN ('8','9')
|
|
| 415 |
+ </isEmpty> |
|
| 416 |
+ |
|
| 417 |
+ |
|
| 418 |
+ <!-- <isEmpty property="reserveYn"> |
|
| 420 | 419 |
<![CDATA[ |
| 421 |
- AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 420 |
+ AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE) |
|
| 422 | 421 |
]]> |
| 422 |
+ </isEmpty> --> |
|
| 423 |
+ )M |
|
| 424 |
+ LEFT JOIN |
|
| 425 |
+ ( |
|
| 426 |
+ SELECT |
|
| 427 |
+ ADDR_PHONE_NO |
|
| 428 |
+ , ADDR_NM |
|
| 429 |
+ FROM |
|
| 430 |
+ MJ_ADDR |
|
| 431 |
+ WHERE 1=1 |
|
| 432 |
+ AND MBER_ID = #userId# |
|
| 433 |
+ GROUP BY ADDR_PHONE_NO |
|
| 434 |
+ )MA |
|
| 435 |
+ ON M.CALL_TO = MA.ADDR_PHONE_NO |
|
| 436 |
+ LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 437 |
+ ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 438 |
+ AND MKPI.DELETE_YN = 'N' |
|
| 439 |
+ LEFT JOIN LETTNGNRLMBER LTM |
|
| 440 |
+ ON M.USER_ID = LTM.MBER_ID |
|
| 441 |
+ LEFT JOIN BIZ_LOG BL |
|
| 442 |
+ ON M.BIZ_UMID = BL.CMID |
|
| 443 |
+ WHERE 1=1 |
|
| 444 |
+ <isNotEmpty property="searchKeyword"> |
|
| 445 |
+ <isEqual property="searchCondition" compareValue="3" > |
|
| 446 |
+ AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 447 |
+ </isEqual> |
|
| 448 |
+ </isNotEmpty> |
|
| 449 |
+ <isNotEmpty property="startDate"> |
|
| 450 |
+ <![CDATA[ |
|
| 451 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 452 |
+ ]]> |
|
| 453 |
+ </isNotEmpty> |
|
| 454 |
+ <isNotEmpty property="endDate"> |
|
| 455 |
+ <![CDATA[ |
|
| 456 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 457 |
+ ]]> |
|
| 458 |
+ </isNotEmpty> |
|
| 459 |
+ GROUP BY MSG_GROUP_ID |
|
| 460 |
+ ORDER BY 1=1 |
|
| 461 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 462 |
+ <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 463 |
+ , curState $searchSortOrd$ |
|
| 464 |
+ , orderByrsltCode |
|
| 465 |
+ </isEqual> |
|
| 466 |
+ <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 467 |
+ ,$searchSortCnd$ |
|
| 468 |
+ </isNotEqual> |
|
| 423 | 469 |
</isNotEmpty> |
| 424 |
- <isNotEmpty property="endDate"> |
|
| 425 |
- <![CDATA[ |
|
| 426 |
- AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 427 |
- ]]> |
|
| 470 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 471 |
+ $searchSortOrd$ |
|
| 428 | 472 |
</isNotEmpty> |
| 429 |
- GROUP BY MSG_GROUP_ID |
|
| 430 |
- ORDER BY 1=1 |
|
| 431 |
- <isNotEmpty property="searchSortCnd"> |
|
| 432 |
- <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 433 |
- , curState $searchSortOrd$ |
|
| 434 |
- , orderByrsltCode |
|
| 435 |
- </isEqual> |
|
| 436 |
- <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 437 |
- ,$searchSortCnd$ |
|
| 438 |
- </isNotEqual> |
|
| 439 |
- </isNotEmpty> |
|
| 440 |
- <isNotEmpty property="searchSortOrd"> |
|
| 441 |
- $searchSortOrd$ |
|
| 442 |
- </isNotEmpty> |
|
| 443 |
- LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 473 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 474 |
+ ) M2 |
|
| 444 | 475 |
</select> |
| 445 | 476 |
|
| 446 | 477 |
|
... | ... | @@ -956,46 +987,71 @@ |
| 956 | 987 |
<!-- 전체 예약결과 조회 (그룹별)--> |
| 957 | 988 |
<select id="KakaoSentDAO.selectReservKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO"> |
| 958 | 989 |
SELECT |
| 959 |
- COUNT(M.USER_ID) OVER() AS totMsgCnt , |
|
| 960 |
- M.USER_ID AS userId , |
|
| 961 |
- MSG_GROUP_ID AS msgGroupId , |
|
| 962 |
- MSG_GROUP_CNT AS msgGroupCnt , |
|
| 963 |
- SMS_TXT AS smsTxt , |
|
| 964 |
- M.SUBJECT AS subject , |
|
| 965 |
- DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 966 |
- DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 967 |
- DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 968 |
- TIMESTAMPDIFF(MINUTE,DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T'), DATE_FORMAT(NOW(), '%Y-%m-%d %T')) AS diffMin, |
|
| 969 |
- CALL_FROM AS callFrom , |
|
| 970 |
- CALL_TO AS callTo , |
|
| 971 |
- IFNULL(ADDR_NM, '-') AS addrNm , |
|
| 972 |
- TOT_PRICE AS totPrice , |
|
| 973 |
- EACH_PRICE AS eachPrice , |
|
| 974 |
- CUR_STATE AS curState , |
|
| 975 |
- RSLT_CODE AS rsltCode , |
|
| 976 |
- RSLT_CODE2 AS rsltCode2 , |
|
| 977 |
- IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 978 |
- DEL_FLAG AS delFlag , |
|
| 979 |
- M.MSG_TYPE AS msgType , |
|
| 980 |
- FILE_CNT AS fileCnt , |
|
| 981 |
- AGENT_CODE AS agentCode , |
|
| 982 |
- RESERVE_YN AS reserveYn , |
|
| 983 |
- RESERVE_C_YN AS reserveCYn , |
|
| 984 |
- CANCELDATE AS cancelDate , |
|
| 985 |
- msgTypeName AS msgTypeName , |
|
| 986 |
- orderByCode AS orderByCode , |
|
| 987 |
- RESULT AS msgResult , |
|
| 988 |
- successCount, |
|
| 989 |
- waitCount, |
|
| 990 |
- failCount, |
|
| 991 |
- BIZ_UMID AS bizUmid, |
|
| 992 |
- BL.CALL_STATUS AS callStatus, |
|
| 993 |
- M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn, |
|
| 990 |
+ M2.totMsgCnt , |
|
| 991 |
+ M2.userId , |
|
| 992 |
+ M2.msgGroupId , |
|
| 993 |
+ M2.msgGroupCnt , |
|
| 994 |
+ M2.smsTxt , |
|
| 995 |
+ M2.subject , |
|
| 996 |
+ M2.regDate , |
|
| 997 |
+ M2.reqDate , |
|
| 998 |
+ M2.rsltDate , |
|
| 999 |
+ M2.diffMin, |
|
| 1000 |
+ M2.callFrom , |
|
| 1001 |
+ M2.callTo , |
|
| 1002 |
+ M2.addrNm , |
|
| 1003 |
+ M2.totPrice , |
|
| 1004 |
+ M2.eachPrice , |
|
| 1005 |
+ M2.curState , |
|
| 1006 |
+ M2.rsltCode , |
|
| 1007 |
+ M2.rsltCode2 , |
|
| 1008 |
+ M2.orderByrsltCode , |
|
| 1009 |
+ M2.delFlag , |
|
| 1010 |
+ M2.msgType , |
|
| 1011 |
+ M2.fileCnt , |
|
| 1012 |
+ M2.agentCode , |
|
| 1013 |
+ M2.reserveYn , |
|
| 1014 |
+ M2.reserveCYn , |
|
| 1015 |
+ M2.cancelDate , |
|
| 1016 |
+ M2.msgTypeName , |
|
| 1017 |
+ M2.orderByCode , |
|
| 1018 |
+ M2.msgResult , |
|
| 1019 |
+ ( SELECT COUNT(0) |
|
| 1020 |
+ FROM MJ_MSG_DATA C |
|
| 1021 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1022 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1023 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1024 |
+ AND C.RSLT_CODE = '7000' |
|
| 1025 |
+ ) AS successCount , |
|
| 1026 |
+ ( SELECT COUNT(0) |
|
| 1027 |
+ FROM MJ_MSG_DATA C |
|
| 1028 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1029 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1030 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1031 |
+ AND ( |
|
| 1032 |
+ C.RSLT_CODE IS NULL |
|
| 1033 |
+ AND C.SENT_DATE IS NULL |
|
| 1034 |
+ AND C.RSLT_DATE IS NULL |
|
| 1035 |
+ ) |
|
| 1036 |
+ ) AS waitCount , |
|
| 1037 |
+ ( SELECT COUNT(0) |
|
| 1038 |
+ FROM MJ_MSG_DATA C |
|
| 1039 |
+ WHERE C.DEL_FLAG = 'N' |
|
| 1040 |
+ AND C.RESERVE_C_YN = 'N' |
|
| 1041 |
+ AND C.MSG_GROUP_ID = M2.msgGroupId |
|
| 1042 |
+ AND ( |
|
| 1043 |
+ C.RSLT_CODE != '7000' |
|
| 1044 |
+ AND C.RSLT_CODE IS NOT NULL |
|
| 1045 |
+ ) |
|
| 1046 |
+ ) AS failCount , |
|
| 1047 |
+ M2.bizUmid, |
|
| 1048 |
+ M2.callStatus, |
|
| 1049 |
+ M2.bizKakaoResendYn, |
|
| 994 | 1050 |
( SELECT COUNT(0) |
| 995 | 1051 |
FROM BIZ_LOG BL1, |
| 996 | 1052 |
MJ_MSG_DATA MMD1 |
| 997 |
- WHERE M.BIZ_KAKAO_RESEND_YN = 'Y' |
|
| 998 |
- AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID |
|
| 1053 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 1054 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 999 | 1055 |
AND MMD1.BIZ_UMID = BL1.CMID |
| 1000 | 1056 |
AND ( |
| 1001 | 1057 |
CASE |
... | ... | @@ -1007,8 +1063,8 @@ |
| 1007 | 1063 |
( SELECT COUNT(0) |
| 1008 | 1064 |
FROM BIZ_LOG BL1, |
| 1009 | 1065 |
MJ_MSG_DATA MMD1 |
| 1010 |
- WHERE M.BIZ_KAKAO_RESEND_YN = 'Y' |
|
| 1011 |
- AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID |
|
| 1066 |
+ WHERE M2.bizKakaoResendYn = 'Y' |
|
| 1067 |
+ AND M2.msgGroupId = MMD1.MSG_GROUP_ID |
|
| 1012 | 1068 |
AND MMD1.BIZ_UMID = BL1.CMID |
| 1013 | 1069 |
AND ( |
| 1014 | 1070 |
CASE |
... | ... | @@ -1017,176 +1073,183 @@ |
| 1017 | 1073 |
ELSE 'F' |
| 1018 | 1074 |
END ) = 'F' |
| 1019 | 1075 |
) kakaoResendFailCount |
| 1020 |
- FROM ( |
|
| 1021 |
- SELECT MG.USER_ID , |
|
| 1022 |
- MG.MSG_GROUP_ID , |
|
| 1023 |
- MG.MSG_GROUP_CNT , |
|
| 1024 |
- MG.SMS_TXT , |
|
| 1025 |
- MG.SUBJECT , |
|
| 1026 |
- MG.REGDATE , |
|
| 1027 |
- MG.REQ_DATE , |
|
| 1028 |
- MD.RSLT_DATE , |
|
| 1029 |
- MG.CALL_FROM , |
|
| 1030 |
- MG.TOT_PRICE , |
|
| 1031 |
- MG.EACH_PRICE , |
|
| 1032 |
- MG.DEL_FLAG , |
|
| 1033 |
- MG.MSG_TYPE , |
|
| 1034 |
- MG.FILE_CNT , |
|
| 1035 |
- MG.AGENT_CODE , |
|
| 1036 |
- MG.RESERVE_YN , |
|
| 1037 |
- MG.RESERVE_C_YN , |
|
| 1038 |
- MG.CANCELDATE , |
|
| 1039 |
- MD.MSG_SEQ , |
|
| 1040 |
- MD.CALL_TO , |
|
| 1041 |
- MD.CUR_STATE , |
|
| 1042 |
- MD.RSLT_CODE , |
|
| 1043 |
- MD.RSLT_CODE2 , |
|
| 1044 |
- CASE |
|
| 1045 |
- WHEN MG.MSG_TYPE = '8' |
|
| 1046 |
- THEN '알림톡' |
|
| 1047 |
- WHEN MG.MSG_TYPE = '9' |
|
| 1048 |
- THEN '친구톡' |
|
| 1049 |
- END msgTypeName , |
|
| 1050 |
- CASE |
|
| 1051 |
- WHEN MG.MSG_TYPE = '8' |
|
| 1052 |
- THEN '1' |
|
| 1053 |
- ELSE '2' |
|
| 1054 |
- END orderByCode , ( |
|
| 1055 |
- CASE |
|
| 1056 |
- WHEN MD.RSLT_CODE = '7000' |
|
| 1057 |
- THEN 'S' |
|
| 1058 |
- WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL AND MD.RESERVE_C_YN = 'Y') |
|
| 1059 |
- THEN 'C' |
|
| 1060 |
- WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 1061 |
- THEN 'W' |
|
| 1062 |
- ELSE 'F' |
|
| 1063 |
- END ) AS result , |
|
| 1064 |
- ( SELECT COUNT(0) |
|
| 1065 |
- FROM MJ_MSG_DATA C |
|
| 1066 |
- WHERE C.DEL_FLAG = 'N' |
|
| 1067 |
- AND C.RESERVE_C_YN = 'N' |
|
| 1068 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 1069 |
- AND C.RSLT_CODE = '7000' |
|
| 1070 |
- ) AS successCount , |
|
| 1071 |
- ( SELECT COUNT(0) |
|
| 1072 |
- FROM MJ_MSG_DATA C |
|
| 1073 |
- WHERE C.DEL_FLAG = 'N' |
|
| 1074 |
- AND C.RESERVE_C_YN = 'N' |
|
| 1075 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 1076 |
- AND ( |
|
| 1077 |
- C.RSLT_CODE IS NULL |
|
| 1078 |
- AND C.SENT_DATE IS NULL |
|
| 1079 |
- AND C.RSLT_DATE IS NULL |
|
| 1080 |
- ) |
|
| 1081 |
- ) AS waitCount , |
|
| 1082 |
- ( SELECT COUNT(0) |
|
| 1083 |
- FROM MJ_MSG_DATA C |
|
| 1084 |
- WHERE C.DEL_FLAG = 'N' |
|
| 1085 |
- AND C.RESERVE_C_YN = 'N' |
|
| 1086 |
- AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 1087 |
- AND ( |
|
| 1088 |
- C.RSLT_CODE != '7000' |
|
| 1089 |
- AND C.RSLT_CODE IS NOT NULL |
|
| 1090 |
- ) |
|
| 1091 |
- ) AS failCount , |
|
| 1092 |
- MSG_NOTICETALK_SENDER_KEY , |
|
| 1093 |
- MSG_NOTICETALK_TMP_KEY, |
|
| 1094 |
- MD.BIZ_UMID, |
|
| 1095 |
- MD.BIZ_KAKAO_RESEND_YN |
|
| 1096 |
- FROM MJ_MSG_DATA MD , |
|
| 1097 |
- MJ_MSG_GROUP_DATA MG |
|
| 1098 |
- WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 1099 |
- AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 1100 |
- AND MD.DEL_FLAG = 'N' |
|
| 1101 |
- AND MG.USER_ID = #userId# |
|
| 1102 |
- AND MG.DEL_FLAG ='N' |
|
| 1103 |
- AND MG.RESERVE_YN = 'Y' |
|
| 1104 |
- <isNotEmpty property="reserveCYn"> |
|
| 1105 |
- AND MG.RESERVE_C_YN = #reserveCYn# |
|
| 1076 |
+ FROM ( |
|
| 1077 |
+ SELECT |
|
| 1078 |
+ COUNT(M.USER_ID) OVER() AS totMsgCnt , |
|
| 1079 |
+ M.USER_ID AS userId , |
|
| 1080 |
+ MSG_GROUP_ID AS msgGroupId , |
|
| 1081 |
+ MSG_GROUP_CNT AS msgGroupCnt , |
|
| 1082 |
+ SMS_TXT AS smsTxt , |
|
| 1083 |
+ M.SUBJECT AS subject , |
|
| 1084 |
+ DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate , |
|
| 1085 |
+ DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate , |
|
| 1086 |
+ DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate , |
|
| 1087 |
+ TIMESTAMPDIFF(MINUTE,DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T'), DATE_FORMAT(NOW(), '%Y-%m-%d %T')) AS diffMin, |
|
| 1088 |
+ CALL_FROM AS callFrom , |
|
| 1089 |
+ CALL_TO AS callTo , |
|
| 1090 |
+ IFNULL(ADDR_NM, '-') AS addrNm , |
|
| 1091 |
+ TOT_PRICE AS totPrice , |
|
| 1092 |
+ EACH_PRICE AS eachPrice , |
|
| 1093 |
+ CUR_STATE AS curState , |
|
| 1094 |
+ RSLT_CODE AS rsltCode , |
|
| 1095 |
+ RSLT_CODE2 AS rsltCode2 , |
|
| 1096 |
+ IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode , |
|
| 1097 |
+ DEL_FLAG AS delFlag , |
|
| 1098 |
+ M.MSG_TYPE AS msgType , |
|
| 1099 |
+ FILE_CNT AS fileCnt , |
|
| 1100 |
+ AGENT_CODE AS agentCode , |
|
| 1101 |
+ RESERVE_YN AS reserveYn , |
|
| 1102 |
+ RESERVE_C_YN AS reserveCYn , |
|
| 1103 |
+ CANCELDATE AS cancelDate , |
|
| 1104 |
+ msgTypeName AS msgTypeName , |
|
| 1105 |
+ orderByCode AS orderByCode , |
|
| 1106 |
+ RESULT AS msgResult , |
|
| 1107 |
+ BIZ_UMID AS bizUmid, |
|
| 1108 |
+ BL.CALL_STATUS AS callStatus, |
|
| 1109 |
+ M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn |
|
| 1110 |
+ FROM ( |
|
| 1111 |
+ SELECT MG.USER_ID , |
|
| 1112 |
+ MG.MSG_GROUP_ID , |
|
| 1113 |
+ MG.MSG_GROUP_CNT , |
|
| 1114 |
+ MG.SMS_TXT , |
|
| 1115 |
+ MG.SUBJECT , |
|
| 1116 |
+ MG.REGDATE , |
|
| 1117 |
+ MG.REQ_DATE , |
|
| 1118 |
+ MD.RSLT_DATE , |
|
| 1119 |
+ MG.CALL_FROM , |
|
| 1120 |
+ MG.TOT_PRICE , |
|
| 1121 |
+ MG.EACH_PRICE , |
|
| 1122 |
+ MG.DEL_FLAG , |
|
| 1123 |
+ MG.MSG_TYPE , |
|
| 1124 |
+ MG.FILE_CNT , |
|
| 1125 |
+ MG.AGENT_CODE , |
|
| 1126 |
+ MG.RESERVE_YN , |
|
| 1127 |
+ MG.RESERVE_C_YN , |
|
| 1128 |
+ MG.CANCELDATE , |
|
| 1129 |
+ MD.MSG_SEQ , |
|
| 1130 |
+ MD.CALL_TO , |
|
| 1131 |
+ MD.CUR_STATE , |
|
| 1132 |
+ MD.RSLT_CODE , |
|
| 1133 |
+ MD.RSLT_CODE2 , |
|
| 1134 |
+ CASE |
|
| 1135 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 1136 |
+ THEN '알림톡' |
|
| 1137 |
+ WHEN MG.MSG_TYPE = '9' |
|
| 1138 |
+ THEN '친구톡' |
|
| 1139 |
+ END msgTypeName , |
|
| 1140 |
+ CASE |
|
| 1141 |
+ WHEN MG.MSG_TYPE = '8' |
|
| 1142 |
+ THEN '1' |
|
| 1143 |
+ ELSE '2' |
|
| 1144 |
+ END orderByCode , ( |
|
| 1145 |
+ CASE |
|
| 1146 |
+ WHEN MD.RSLT_CODE = '7000' |
|
| 1147 |
+ THEN 'S' |
|
| 1148 |
+ WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL AND MD.RESERVE_C_YN = 'Y') |
|
| 1149 |
+ THEN 'C' |
|
| 1150 |
+ WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL) |
|
| 1151 |
+ THEN 'W' |
|
| 1152 |
+ ELSE 'F' |
|
| 1153 |
+ END ) AS result , |
|
| 1154 |
+ MSG_NOTICETALK_SENDER_KEY , |
|
| 1155 |
+ MSG_NOTICETALK_TMP_KEY, |
|
| 1156 |
+ MD.BIZ_UMID, |
|
| 1157 |
+ MD.BIZ_KAKAO_RESEND_YN |
|
| 1158 |
+ FROM MJ_MSG_DATA MD , |
|
| 1159 |
+ MJ_MSG_GROUP_DATA MG |
|
| 1160 |
+ WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID |
|
| 1161 |
+ AND IFNULL(MG.DEL_FLAG, 'N') = 'N' |
|
| 1162 |
+ AND MD.DEL_FLAG = 'N' |
|
| 1163 |
+ AND MG.USER_ID = #userId# |
|
| 1164 |
+ AND MG.DEL_FLAG ='N' |
|
| 1165 |
+ AND MG.RESERVE_YN = 'Y' |
|
| 1166 |
+ <isNotEmpty property="reserveCYn"> |
|
| 1167 |
+ AND MG.RESERVE_C_YN = #reserveCYn# |
|
| 1168 |
+ </isNotEmpty> |
|
| 1169 |
+ )M |
|
| 1170 |
+ LEFT JOIN |
|
| 1171 |
+ ( |
|
| 1172 |
+ SELECT |
|
| 1173 |
+ ADDR_PHONE_NO |
|
| 1174 |
+ , ADDR_NM |
|
| 1175 |
+ FROM |
|
| 1176 |
+ MJ_ADDR |
|
| 1177 |
+ WHERE 1=1 |
|
| 1178 |
+ AND MBER_ID = #userId# |
|
| 1179 |
+ GROUP BY ADDR_PHONE_NO |
|
| 1180 |
+ )MA |
|
| 1181 |
+ ON M.CALL_TO = MA.ADDR_PHONE_NO |
|
| 1182 |
+ LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 1183 |
+ ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 1184 |
+ AND MKPI.DELETE_YN = 'N' |
|
| 1185 |
+ LEFT JOIN LETTNGNRLMBER LTM |
|
| 1186 |
+ ON M.USER_ID = LTM.MBER_ID |
|
| 1187 |
+ LEFT JOIN BIZ_LOG BL |
|
| 1188 |
+ ON M.BIZ_UMID = BL.CMID |
|
| 1189 |
+ WHERE 1=1 |
|
| 1190 |
+ <isNotEmpty property="stateType"> |
|
| 1191 |
+ <isEqual property="stateType" compareValue="all"> |
|
| 1192 |
+ AND CUR_STATE IN ('0','1','2','3')
|
|
| 1193 |
+ </isEqual> |
|
| 1194 |
+ <isEqual property="stateType" compareValue="ready"> |
|
| 1195 |
+ AND CUR_STATE = '0' |
|
| 1196 |
+ AND RESERVE_C_YN = 'N' |
|
| 1197 |
+ </isEqual> |
|
| 1198 |
+ <isEqual property="stateType" compareValue="complete"> |
|
| 1199 |
+ AND CUR_STATE IN ('2','3')
|
|
| 1200 |
+ AND RESERVE_C_YN = 'N' |
|
| 1201 |
+ </isEqual> |
|
| 1202 |
+ <isEqual property="stateType" compareValue="fail"> |
|
| 1203 |
+ AND RESERVE_C_YN = 'N' |
|
| 1204 |
+ AND RSLT_CODE != '7000' |
|
| 1205 |
+ </isEqual> |
|
| 1206 |
+ <isEqual property="stateType" compareValue="cancel"> |
|
| 1207 |
+ AND RESERVE_C_YN = 'Y' |
|
| 1208 |
+ </isEqual> |
|
| 1209 |
+ </isNotEmpty> |
|
| 1210 |
+ <isNotEmpty property="tabType"> |
|
| 1211 |
+ <isEqual property="tabType" compareValue="at"> |
|
| 1212 |
+ AND M.MSG_TYPE = '8' |
|
| 1213 |
+ </isEqual> |
|
| 1214 |
+ <isEqual property="tabType" compareValue="ft"> |
|
| 1215 |
+ AND M.MSG_TYPE = '9' |
|
| 1216 |
+ </isEqual> |
|
| 1217 |
+ <isEqual property="tabType" compareValue="all"> |
|
| 1218 |
+ AND M.MSG_TYPE IN ('8','9')
|
|
| 1219 |
+ </isEqual> |
|
| 1220 |
+ </isNotEmpty> |
|
| 1221 |
+ <isEmpty property="tabType"> |
|
| 1222 |
+ AND M.MSG_TYPE IN ('8','9')
|
|
| 1223 |
+ </isEmpty> |
|
| 1224 |
+ <isNotEmpty property="searchKeyword"> |
|
| 1225 |
+ AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 1226 |
+ </isNotEmpty> |
|
| 1227 |
+ <isNotEmpty property="startDate"> |
|
| 1228 |
+ <![CDATA[ |
|
| 1229 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 1230 |
+ ]]> |
|
| 1231 |
+ </isNotEmpty> |
|
| 1232 |
+ <isNotEmpty property="endDate"> |
|
| 1233 |
+ <![CDATA[ |
|
| 1234 |
+ AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 1235 |
+ ]]> |
|
| 1236 |
+ </isNotEmpty> |
|
| 1237 |
+ GROUP BY MSG_GROUP_ID |
|
| 1238 |
+ ORDER BY 1=1 |
|
| 1239 |
+ <isNotEmpty property="searchSortCnd"> |
|
| 1240 |
+ <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 1241 |
+ , curState $searchSortOrd$ |
|
| 1242 |
+ , orderByrsltCode |
|
| 1243 |
+ </isEqual> |
|
| 1244 |
+ <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 1245 |
+ ,$searchSortCnd$ |
|
| 1246 |
+ </isNotEqual> |
|
| 1106 | 1247 |
</isNotEmpty> |
| 1107 |
- )M |
|
| 1108 |
- LEFT JOIN |
|
| 1109 |
- ( |
|
| 1110 |
- SELECT |
|
| 1111 |
- ADDR_PHONE_NO |
|
| 1112 |
- , ADDR_NM |
|
| 1113 |
- FROM |
|
| 1114 |
- MJ_ADDR |
|
| 1115 |
- WHERE 1=1 |
|
| 1116 |
- AND MBER_ID = #userId# |
|
| 1117 |
- GROUP BY ADDR_PHONE_NO |
|
| 1118 |
- )MA |
|
| 1119 |
- ON M.CALL_TO = MA.ADDR_PHONE_NO |
|
| 1120 |
- LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI |
|
| 1121 |
- ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY |
|
| 1122 |
- AND MKPI.DELETE_YN = 'N' |
|
| 1123 |
- LEFT JOIN LETTNGNRLMBER LTM |
|
| 1124 |
- ON M.USER_ID = LTM.MBER_ID |
|
| 1125 |
- LEFT JOIN BIZ_LOG BL |
|
| 1126 |
- ON M.BIZ_UMID = BL.CMID |
|
| 1127 |
- WHERE 1=1 |
|
| 1128 |
- <isNotEmpty property="stateType"> |
|
| 1129 |
- <isEqual property="stateType" compareValue="all"> |
|
| 1130 |
- AND CUR_STATE IN ('0','1','2','3')
|
|
| 1131 |
- </isEqual> |
|
| 1132 |
- <isEqual property="stateType" compareValue="ready"> |
|
| 1133 |
- AND CUR_STATE = '0' |
|
| 1134 |
- AND RESERVE_C_YN = 'N' |
|
| 1135 |
- </isEqual> |
|
| 1136 |
- <isEqual property="stateType" compareValue="complete"> |
|
| 1137 |
- AND CUR_STATE IN ('2','3')
|
|
| 1138 |
- AND RESERVE_C_YN = 'N' |
|
| 1139 |
- </isEqual> |
|
| 1140 |
- <isEqual property="stateType" compareValue="fail"> |
|
| 1141 |
- AND RESERVE_C_YN = 'N' |
|
| 1142 |
- AND RSLT_CODE != '7000' |
|
| 1143 |
- </isEqual> |
|
| 1144 |
- <isEqual property="stateType" compareValue="cancel"> |
|
| 1145 |
- AND RESERVE_C_YN = 'Y' |
|
| 1146 |
- </isEqual> |
|
| 1248 |
+ <isNotEmpty property="searchSortOrd"> |
|
| 1249 |
+ $searchSortOrd$ |
|
| 1147 | 1250 |
</isNotEmpty> |
| 1148 |
- <isNotEmpty property="tabType"> |
|
| 1149 |
- <isEqual property="tabType" compareValue="at"> |
|
| 1150 |
- AND M.MSG_TYPE = '8' |
|
| 1151 |
- </isEqual> |
|
| 1152 |
- <isEqual property="tabType" compareValue="ft"> |
|
| 1153 |
- AND M.MSG_TYPE = '9' |
|
| 1154 |
- </isEqual> |
|
| 1155 |
- <isEqual property="tabType" compareValue="all"> |
|
| 1156 |
- AND M.MSG_TYPE IN ('8','9')
|
|
| 1157 |
- </isEqual> |
|
| 1158 |
- </isNotEmpty> |
|
| 1159 |
- <isEmpty property="tabType"> |
|
| 1160 |
- AND M.MSG_TYPE IN ('8','9')
|
|
| 1161 |
- </isEmpty> |
|
| 1162 |
- <isNotEmpty property="searchKeyword"> |
|
| 1163 |
- AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
| 1164 |
- </isNotEmpty> |
|
| 1165 |
- <isNotEmpty property="startDate"> |
|
| 1166 |
- <![CDATA[ |
|
| 1167 |
- AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d') |
|
| 1168 |
- ]]> |
|
| 1169 |
- </isNotEmpty> |
|
| 1170 |
- <isNotEmpty property="endDate"> |
|
| 1171 |
- <![CDATA[ |
|
| 1172 |
- AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d') |
|
| 1173 |
- ]]> |
|
| 1174 |
- </isNotEmpty> |
|
| 1175 |
- GROUP BY MSG_GROUP_ID |
|
| 1176 |
- ORDER BY 1=1 |
|
| 1177 |
- <isNotEmpty property="searchSortCnd"> |
|
| 1178 |
- <isEqual property="searchSortCnd" compareValue="curState"> |
|
| 1179 |
- , curState $searchSortOrd$ |
|
| 1180 |
- , orderByrsltCode |
|
| 1181 |
- </isEqual> |
|
| 1182 |
- <isNotEqual property="searchSortCnd" compareValue="curState"> |
|
| 1183 |
- ,$searchSortCnd$ |
|
| 1184 |
- </isNotEqual> |
|
| 1185 |
- </isNotEmpty> |
|
| 1186 |
- <isNotEmpty property="searchSortOrd"> |
|
| 1187 |
- $searchSortOrd$ |
|
| 1188 |
- </isNotEmpty> |
|
| 1189 |
- LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 1251 |
+ LIMIT #recordCountPerPage# OFFSET #firstIndex# |
|
| 1252 |
+ ) M2 |
|
| 1190 | 1253 |
</select> |
| 1191 | 1254 |
|
| 1192 | 1255 |
</sqlMap>(No newline at end of file) |
--- src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/msg/MjonMsgResv_SQL_mysql.xml
... | ... | @@ -572,6 +572,26 @@ |
| 572 | 572 |
|
| 573 | 573 |
</delete> |
| 574 | 574 |
|
| 575 |
+ <delete id="MjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO"> |
|
| 576 |
+ |
|
| 577 |
+ DELETE FROM MTMSG_B1_DATA |
|
| 578 |
+ WHERE 1=1 |
|
| 579 |
+ <iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
|
| 580 |
+ #userDataList[]# |
|
| 581 |
+ </iterate> |
|
| 582 |
+ |
|
| 583 |
+ </delete> |
|
| 584 |
+ |
|
| 585 |
+ <delete id="MjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO"> |
|
| 586 |
+ |
|
| 587 |
+ DELETE FROM MTMSG_B2_DATA |
|
| 588 |
+ WHERE 1=1 |
|
| 589 |
+ <iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
|
| 590 |
+ #userDataList[]# |
|
| 591 |
+ </iterate> |
|
| 592 |
+ |
|
| 593 |
+ </delete> |
|
| 594 |
+ |
|
| 575 | 595 |
<select id="MjonReservMsgDAO.selectFileNmToAtchFileIdInfo" parameterClass="fileVO" resultClass="fileVO"> |
| 576 | 596 |
|
| 577 | 597 |
SELECT ATCH_FILE_ID AS atchFileId, |
... | ... | @@ -663,6 +683,30 @@ |
| 663 | 683 |
|
| 664 | 684 |
</update> |
| 665 | 685 |
|
| 686 |
+ <update id="MjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO"> |
|
| 687 |
+ |
|
| 688 |
+ UPDATE MTMSG_B1_DATA |
|
| 689 |
+ SET INPUT_DATE = NOW() , |
|
| 690 |
+ RES_DATE = NOW() |
|
| 691 |
+ WHERE 1=1 |
|
| 692 |
+ <iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
|
| 693 |
+ #userDataList[]# |
|
| 694 |
+ </iterate> |
|
| 695 |
+ |
|
| 696 |
+ </update> |
|
| 697 |
+ |
|
| 698 |
+ <update id="MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO"> |
|
| 699 |
+ |
|
| 700 |
+ UPDATE MTMSG_B2_DATA |
|
| 701 |
+ SET INPUT_DATE = NOW() , |
|
| 702 |
+ RES_DATE = NOW() |
|
| 703 |
+ WHERE 1=1 |
|
| 704 |
+ <iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
|
| 705 |
+ #userDataList[]# |
|
| 706 |
+ </iterate> |
|
| 707 |
+ |
|
| 708 |
+ </update> |
|
| 709 |
+ |
|
| 666 | 710 |
</sqlMap> |
| 667 | 711 |
|
| 668 | 712 |
|
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovMberManage_SQL_Mysql.xml
... | ... | @@ -633,6 +633,30 @@ |
| 633 | 633 |
</isNotEmpty> |
| 634 | 634 |
</select> |
| 635 | 635 |
|
| 636 |
+ <select id="mberManageDAO.selectMberDelTypeGrpList" parameterClass="userSearchVO" resultClass="egovMap" remapResults="true"> |
|
| 637 |
+ SELECT |
|
| 638 |
+ M.deleteType |
|
| 639 |
+ , CASE |
|
| 640 |
+ WHEN M.deleteType = '01' THEN '기업회원 전환' |
|
| 641 |
+ WHEN M.deleteType = '02' THEN '사용할 일이 없어서' |
|
| 642 |
+ WHEN M.deleteType = '03' THEN '문자 단가 높음' |
|
| 643 |
+ WHEN M.deleteType = '04' THEN '사이트 이용 불만' |
|
| 644 |
+ WHEN M.deleteType = '05' THEN '개인정보 유출 우려' |
|
| 645 |
+ WHEN M.deleteType = '06' THEN '다른 사이트 이용' |
|
| 646 |
+ ELSE '해지사유 직접 입력' |
|
| 647 |
+ END deleteTypeName |
|
| 648 |
+ , M.deleteTypeCnt |
|
| 649 |
+ FROM ( |
|
| 650 |
+ SELECT |
|
| 651 |
+ DELETE_TYPE AS deleteType |
|
| 652 |
+ , COUNT(0) deleteTypeCnt |
|
| 653 |
+ FROM lettngnrlmber |
|
| 654 |
+ WHERE MBER_STTUS = 'N' |
|
| 655 |
+ GROUP BY DELETE_TYPE |
|
| 656 |
+ ) M |
|
| 657 |
+ ORDER BY M.deleteTypeCnt DESC |
|
| 658 |
+ </select> |
|
| 659 |
+ |
|
| 636 | 660 |
<select id="mberManageDAO.selectEmailSendMberList" parameterClass="userSearchVO" resultClass="egovMap" remapResults="true"> |
| 637 | 661 |
SELECT |
| 638 | 662 |
MBER_ID userId |
... | ... | @@ -729,7 +753,8 @@ |
| 729 | 753 |
A.SMISHING_YN smishingYn, |
| 730 | 754 |
A.VIP_YN vipYn, |
| 731 | 755 |
A.EXCEPT_SPAM_YN AS exceptSpamYn, |
| 732 |
- A.HOTLINE_AGENT_CODE AS hotlineAgentCode |
|
| 756 |
+ A.HOTLINE_AGENT_CODE AS hotlineAgentCode, |
|
| 757 |
+ A.AT_SMISHING_YN atSmishingYn |
|
| 733 | 758 |
FROM LETTNGNRLMBER A |
| 734 | 759 |
LEFT JOIN MJ_CANDIDATE_INFO MCI |
| 735 | 760 |
ON A.MBER_ID = MCI.MBER_ID |
--- src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/uss/umt/EgovUserManage_SQL_Mysql.xml
... | ... | @@ -1328,6 +1328,15 @@ |
| 1328 | 1328 |
WHERE MBER_ID = #mberId# |
| 1329 | 1329 |
</select> |
| 1330 | 1330 |
|
| 1331 |
+ <select id="userManageDAO.selectAtSmishingYnUserInfo" parameterClass="userVO" resultClass="userVO"> |
|
| 1332 |
+ SELECT |
|
| 1333 |
+ MBER_ID AS mberId, |
|
| 1334 |
+ MBER_NM AS mberNm, |
|
| 1335 |
+ AT_SMISHING_YN AS atSmishingYn |
|
| 1336 |
+ FROM LETTNGNRLMBER |
|
| 1337 |
+ WHERE MBER_ID = #mberId# |
|
| 1338 |
+ </select> |
|
| 1339 |
+ |
|
| 1331 | 1340 |
<update id="userManageDAO.updateUserSmishingYn" parameterClass="userVO"> |
| 1332 | 1341 |
UPDATE |
| 1333 | 1342 |
LETTNGNRLMBER |
... | ... | @@ -1337,6 +1346,15 @@ |
| 1337 | 1346 |
AND MBER_ID = #mberId# |
| 1338 | 1347 |
</update> |
| 1339 | 1348 |
|
| 1349 |
+ <update id="userManageDAO.updateUserAtSmishingYn" parameterClass="userVO"> |
|
| 1350 |
+ UPDATE |
|
| 1351 |
+ LETTNGNRLMBER |
|
| 1352 |
+ SET |
|
| 1353 |
+ AT_SMISHING_YN = #atSmishingYn# |
|
| 1354 |
+ WHERE 1=1 |
|
| 1355 |
+ AND MBER_ID = #mberId# |
|
| 1356 |
+ </update> |
|
| 1357 |
+ |
|
| 1340 | 1358 |
<update id="userManageDAO.updateUserPrePaymentYn" parameterClass="userVO"> |
| 1341 | 1359 |
UPDATE |
| 1342 | 1360 |
LETTNGNRLMBER |
--- src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
+++ src/main/webapp/WEB-INF/jsp/cmm/uss/umt/EgovGnrlUserSelectUpdt.jsp
... | ... | @@ -1182,6 +1182,45 @@ |
| 1182 | 1182 |
} |
| 1183 | 1183 |
|
| 1184 | 1184 |
} |
| 1185 |
+ |
|
| 1186 |
+//알림톡 스미싱의심 여부 |
|
| 1187 |
+function fnMberAtSmishingYn(){
|
|
| 1188 |
+ var form = document.mberManageVO; |
|
| 1189 |
+ var atSmishingYn = form.atSmishingYn.value; |
|
| 1190 |
+ |
|
| 1191 |
+ if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){
|
|
| 1192 |
+ |
|
| 1193 |
+ $.ajax({
|
|
| 1194 |
+ type: "POST", |
|
| 1195 |
+ url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do", |
|
| 1196 |
+ data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"},
|
|
| 1197 |
+ dataType:'json', |
|
| 1198 |
+ async: false, |
|
| 1199 |
+ success: function (data, status) {
|
|
| 1200 |
+ if (data.isSuccess) {
|
|
| 1201 |
+ alert("변경 완료했습니다.");
|
|
| 1202 |
+ } |
|
| 1203 |
+ else {
|
|
| 1204 |
+ alert(data.msg); |
|
| 1205 |
+ } |
|
| 1206 |
+ }, |
|
| 1207 |
+ beforeSend: function () {
|
|
| 1208 |
+ //로딩창 show |
|
| 1209 |
+ $('.loading_layer').addClass('active');
|
|
| 1210 |
+ }, |
|
| 1211 |
+ complete: function () {
|
|
| 1212 |
+ //로딩창 hide |
|
| 1213 |
+ $('.loading_layer').removeClass('active');
|
|
| 1214 |
+ }, |
|
| 1215 |
+ error: function (e) {
|
|
| 1216 |
+ alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
|
| 1217 |
+ } |
|
| 1218 |
+ }); |
|
| 1219 |
+ |
|
| 1220 |
+ } |
|
| 1221 |
+ |
|
| 1222 |
+} |
|
| 1223 |
+ |
|
| 1185 | 1224 |
// VIP 여부 |
| 1186 | 1225 |
function fnMberVIPYn(){
|
| 1187 | 1226 |
var form = document.mberManageVO; |
... | ... | @@ -1230,7 +1269,7 @@ |
| 1230 | 1269 |
$.ajax({
|
| 1231 | 1270 |
type: "POST", |
| 1232 | 1271 |
url: "/uss/umt/user/EgovGnrlUpdateUserHotlineAgentCodeAjax.do", |
| 1233 |
- data: {"hotlineAgentCode" : hotlineAgentCode, "mberId" : "${mberManageVO.mberId}"},
|
|
| 1272 |
+ data: {"hotlineAgentCode" : hotlineAgentCode, "mberId" : "${mberManageVO.mberId}", "hotlineAgentName" : $("select[name=hotlineAgentCode] option:selected").text()},
|
|
| 1234 | 1273 |
dataType:'json', |
| 1235 | 1274 |
async: false, |
| 1236 | 1275 |
success: function (data, status) {
|
... | ... | @@ -2535,6 +2574,20 @@ |
| 2535 | 2574 |
</select> |
| 2536 | 2575 |
</td> |
| 2537 | 2576 |
</tr> |
| 2577 |
+ <%-- |
|
| 2578 |
+ <tr> |
|
| 2579 |
+ <th>스미싱 의심(카톡)</th> |
|
| 2580 |
+ <td> |
|
| 2581 |
+ <select name="atSmishingYn" id="atSmishingYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberAtSmishingYn();"> |
|
| 2582 |
+ <option value="Y" <c:if test="${mberManageVO.atSmishingYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
|
|
| 2583 |
+ <option value="N" <c:if test="${mberManageVO.atSmishingYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
|
|
| 2584 |
+ </select> |
|
| 2585 |
+ </td> |
|
| 2586 |
+ <th></th> |
|
| 2587 |
+ <td> |
|
| 2588 |
+ </td> |
|
| 2589 |
+ </tr> |
|
| 2590 |
+ --%> |
|
| 2538 | 2591 |
<tr> |
| 2539 | 2592 |
<th>전용 전송사</th> |
| 2540 | 2593 |
<td> |
... | ... | @@ -2969,6 +3022,20 @@ |
| 2969 | 3022 |
</select> |
| 2970 | 3023 |
</td> |
| 2971 | 3024 |
</tr> |
| 3025 |
+ <%-- |
|
| 3026 |
+ <tr> |
|
| 3027 |
+ <th>스미싱 의심(카톡)</th> |
|
| 3028 |
+ <td> |
|
| 3029 |
+ <select name="atSmishingYn" id="atSmishingYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberAtSmishingYn();"> |
|
| 3030 |
+ <option value="Y" <c:if test="${mberManageVO.atSmishingYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
|
|
| 3031 |
+ <option value="N" <c:if test="${mberManageVO.atSmishingYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
|
|
| 3032 |
+ </select> |
|
| 3033 |
+ </td> |
|
| 3034 |
+ <th></th> |
|
| 3035 |
+ <td> |
|
| 3036 |
+ </td> |
|
| 3037 |
+ </tr> |
|
| 3038 |
+ --%> |
|
| 2972 | 3039 |
<tr> |
| 2973 | 3040 |
<th>전용 전송사</th> |
| 2974 | 3041 |
<td> |
... | ... | @@ -4810,27 +4877,27 @@ |
| 4810 | 4877 |
<tbody> |
| 4811 | 4878 |
<tr> |
| 4812 | 4879 |
<th>단문 금액</th> |
| 4813 |
- <td><input type="text" name="shortPrice" id="shortPrice" value="<c:out value='${mberManageVO.shortPrice}'/>"/></td>
|
|
| 4880 |
+ <td><input type="text" name="shortPrice" id="shortPrice" value="<c:out value='${shortPrice}'/>"/></td>
|
|
| 4814 | 4881 |
</tr> |
| 4815 | 4882 |
<tr> |
| 4816 | 4883 |
<th>장문 금액</th> |
| 4817 |
- <td><input type="text" name="longPrice" id="longPrice" value="<c:out value='${mberManageVO.longPrice}'/>"/></td>
|
|
| 4884 |
+ <td><input type="text" name="longPrice" id="longPrice" value="<c:out value='${longPrice}'/>"/></td>
|
|
| 4818 | 4885 |
</tr> |
| 4819 | 4886 |
<tr> |
| 4820 | 4887 |
<th>그림1장 금액</th> |
| 4821 |
- <td><input type="text" name="picturePrice" id="picturePrice" value="<c:out value='${mberManageVO.picturePrice}'/>"/></td>
|
|
| 4888 |
+ <td><input type="text" name="picturePrice" id="picturePrice" value="<c:out value='${picturePrice}'/>"/></td>
|
|
| 4822 | 4889 |
</tr> |
| 4823 | 4890 |
<tr> |
| 4824 | 4891 |
<th>그림2장 금액</th> |
| 4825 |
- <td><input type="text" name="picture2Price" id="picture2Price" value="<c:out value='${mberManageVO.picture2Price}'/>"/></td>
|
|
| 4892 |
+ <td><input type="text" name="picture2Price" id="picture2Price" value="<c:out value='${picture2Price}'/>"/></td>
|
|
| 4826 | 4893 |
</tr> |
| 4827 | 4894 |
<tr> |
| 4828 | 4895 |
<th>그림3장 금액</th> |
| 4829 |
- <td><input type="text" name="picture3Price" id="picture3Price" value="<c:out value='${mberManageVO.picture3Price}'/>"/></td>
|
|
| 4896 |
+ <td><input type="text" name="picture3Price" id="picture3Price" value="<c:out value='${picture3Price}'/>"/></td>
|
|
| 4830 | 4897 |
</tr> |
| 4831 | 4898 |
<tr> |
| 4832 | 4899 |
<th>알림톡 금액</th> |
| 4833 |
- <td><input type="text" name="kakaoAtPrice" id="kakaoAtPrice" value="<c:out value='${mberManageVO.kakaoAtPrice}'/>"/></td>
|
|
| 4900 |
+ <td><input type="text" name="kakaoAtPrice" id="kakaoAtPrice" value="<c:out value='${kakaoAtPrice}'/>"/></td>
|
|
| 4834 | 4901 |
</tr> |
| 4835 | 4902 |
</tbody> |
| 4836 | 4903 |
</table> |
... | ... | @@ -4854,7 +4921,7 @@ |
| 4854 | 4921 |
<tbody> |
| 4855 | 4922 |
<tr> |
| 4856 | 4923 |
<th>팩스 금액</th> |
| 4857 |
- <td><input type="text" name="faxPrice" id="faxPrice" value="<c:out value='${mberManageVO.faxPrice}'/>"/></td>
|
|
| 4924 |
+ <td><input type="text" name="faxPrice" id="faxPrice" value="<c:out value='${faxPrice}'/>"/></td>
|
|
| 4858 | 4925 |
</tr> |
| 4859 | 4926 |
</tbody> |
| 4860 | 4927 |
</table> |
--- src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/kakaoat/SendKakaoATList.jsp
... | ... | @@ -295,8 +295,8 @@ |
| 295 | 295 |
|
| 296 | 296 |
} |
| 297 | 297 |
|
| 298 |
-//스미싱의심 온/오프 |
|
| 299 |
-function fnSmishingUpdate(flag) {
|
|
| 298 |
+//알림톡 스미싱의심 온/오프 |
|
| 299 |
+function fnAtSmishingUpdate(flag) {
|
|
| 300 | 300 |
if($("input:checkbox[name='checkField']").is(":checked")==false){
|
| 301 | 301 |
alert("선택된 항목이 없습니다.");
|
| 302 | 302 |
return; |
... | ... | @@ -322,15 +322,15 @@ |
| 322 | 322 |
if(checkedIds.length > 0) {
|
| 323 | 323 |
var msg = ""; |
| 324 | 324 |
if(flag == 'on') {
|
| 325 |
- document.listForm.smishingYn.value='Y'; |
|
| 326 |
- msg = "선택하신 사용자의 스미싱의심을 On 하시겠습니까?"; |
|
| 325 |
+ document.listForm.atSmishingYn.value='Y'; |
|
| 326 |
+ msg = "선택하신 사용자의 알림톡 스미싱의심을 On 하시겠습니까?"; |
|
| 327 | 327 |
} else {
|
| 328 |
- document.listForm.smishingYn.value='N'; |
|
| 329 |
- msg = "선택하신 사용자의 스미싱의심을 Off 하시겠습니까?"; |
|
| 328 |
+ document.listForm.atSmishingYn.value='N'; |
|
| 329 |
+ msg = "선택하신 사용자의 알림톡 스미싱의심을 Off 하시겠습니까?"; |
|
| 330 | 330 |
} |
| 331 | 331 |
if(confirm(msg)){
|
| 332 | 332 |
document.listForm.checkedIdForDel.value=checkedIds; |
| 333 |
- document.listForm.action = "<c:url value='/uss/ion/msg/MsgUsersSmishingUpdate.do'/>"; |
|
| 333 |
+ document.listForm.action = "<c:url value='/uss/ion/msg/MsgUsersAtSmishingUpdate.do'/>"; |
|
| 334 | 334 |
document.listForm.submit(); |
| 335 | 335 |
} |
| 336 | 336 |
} |
... | ... | @@ -369,7 +369,7 @@ |
| 369 | 369 |
<input type="hidden" name="ntceEndde" id="ntceEndde" value=""> |
| 370 | 370 |
<input type="hidden" name="adminSmsNoticeYn" value=""/> |
| 371 | 371 |
<input name="checkedIdForDel" type="hidden" /> |
| 372 |
- <input type="hidden" name="smishingYn" value=""/> |
|
| 372 |
+ <input type="hidden" name="atSmishingYn" value=""/> |
|
| 373 | 373 |
|
| 374 | 374 |
<div class="contWrap"> |
| 375 | 375 |
<div class="pageTitle"> |
... | ... | @@ -506,7 +506,7 @@ |
| 506 | 506 |
<c:out value="${result.yellowId}"/>
|
| 507 | 507 |
</td> |
| 508 | 508 |
|
| 509 |
- <%-- <td onclick="fn_detail_list('${result.msgGroupId}'); return false;" <c:if test="${result.smishingYn eq 'Y'}">class="smishing" style="cursor:pointer;"</c:if><c:if test="${result.smishingYn eq 'N'}">style="cursor:pointer;"</c:if>>
|
|
| 509 |
+ <%-- <td onclick="fn_detail_list('${result.msgGroupId}'); return false;" <c:if test="${result.atSmishingYn eq 'Y'}">class="atSmishingYn" style="cursor:pointer;"</c:if><c:if test="${result.atSmishingYn eq 'N'}">style="cursor:pointer;"</c:if>>
|
|
| 510 | 510 |
<c:out value="${result.callFrom}"/>
|
| 511 | 511 |
</td> --%> |
| 512 | 512 |
|
... | ... | @@ -552,7 +552,7 @@ |
| 552 | 552 |
<c:out value="${result.msgTypeName}"/>
|
| 553 | 553 |
</td> |
| 554 | 554 |
<%-- <td><c:out value="${result.conectMthdTxt}"/></td> --%>
|
| 555 |
- <%-- <td <c:if test="${result.smishingYn eq 'Y'}">class="smishing"</c:if>>
|
|
| 555 |
+ <%-- <td <c:if test="${result.atSmishingYn eq 'Y'}">class="atSmishingYn"</c:if>>
|
|
| 556 | 556 |
<c:out value="${result.agentCodeTxt}"/>
|
| 557 | 557 |
</td> --%> |
| 558 | 558 |
<%-- <td><c:out value="${result.rsltNet}"/></td> --%>
|
... | ... | @@ -565,10 +565,10 @@ |
| 565 | 565 |
</table> |
| 566 | 566 |
</div> |
| 567 | 567 |
<div class="btnWrap" style="margin-bottom: 15px;"> |
| 568 |
- <!-- <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmsNotiUpdate('on'); return false;" value="법인폰 ON">
|
|
| 569 |
- <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmsNotiUpdate('off'); return false;" value="법인폰 OFF">
|
|
| 570 |
- <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('on'); return false;" value="스미싱 ON">
|
|
| 571 |
- <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('off'); return false;" value="스미싱 OFF"> -->
|
|
| 568 |
+ <!-- |
|
| 569 |
+ <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnAtSmishingUpdate('on'); return false;" value="알림톡 스미싱 ON">
|
|
| 570 |
+ <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnAtSmishingUpdate('off'); return false;" value="알림톡 스미싱 OFF">
|
|
| 571 |
+ --> |
|
| 572 | 572 |
</div> |
| 573 | 573 |
|
| 574 | 574 |
<!-- 페이지 네비게이션 시작 --> |
--- src/main/webapp/WEB-INF/jsp/uss/ion/msg/MsgSendStatistics.jsp
+++ src/main/webapp/WEB-INF/jsp/uss/ion/msg/MsgSendStatistics.jsp
... | ... | @@ -212,7 +212,7 @@ |
| 212 | 212 |
<div class="tableWrap"> |
| 213 | 213 |
<table class="tbType1"> |
| 214 | 214 |
<colgroup> |
| 215 |
- <col style="width:4%;"> |
|
| 215 |
+ <col style="width:5%;"> |
|
| 216 | 216 |
<col style="width:3%;"> |
| 217 | 217 |
<col style="width:auto;"> |
| 218 | 218 |
</colgroup> |
--- src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentAllListAjax.jsp
... | ... | @@ -77,11 +77,11 @@ |
| 77 | 77 |
<table class="tType4"> |
| 78 | 78 |
<colgroup> |
| 79 | 79 |
<col style="width: 40px;"> |
| 80 |
- <col style="width: 16%;"> |
|
| 81 |
- <col style="width: 12%;"> |
|
| 80 |
+ <col style="width: 14%;"> |
|
| 81 |
+ <col style="width: 7%;"> |
|
| 82 | 82 |
<col style="width: 10%;"> |
| 83 |
+ <col style="width: 18%;"> |
|
| 83 | 84 |
<col style="width: 12%;"> |
| 84 |
- <col style="width: 13%;"> |
|
| 85 | 85 |
<col style="width: 10%;"> |
| 86 | 86 |
<col style="width: 12%;"> |
| 87 | 87 |
<col style="width: 7%;"> |
--- src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentSFDetailListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/kakao/sent/KakaoSentSFDetailListAjax.jsp
... | ... | @@ -97,6 +97,7 @@ |
| 97 | 97 |
<input type="hidden" id="pageIndex" name="pageIndex" value=""/> |
| 98 | 98 |
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
| 99 | 99 |
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
| 100 |
+ <input type="hidden" id="msgGroupId" name="msgGroupId" value="${kakaoSentVO.msgGroupId}"/>
|
|
| 100 | 101 |
</form> |
| 101 | 102 |
|
| 102 | 103 |
|
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataSMLView.jsp
... | ... | @@ -451,6 +451,14 @@ |
| 451 | 451 |
|
| 452 | 452 |
$(document).ready(function (){
|
| 453 | 453 |
|
| 454 |
+ // Bline 확연 및 라디오 버튼 클릭 이벤트 추가 |
|
| 455 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 456 |
+ if(blineCodeYn != 'N' && blineCodeYn != ''){
|
|
| 457 |
+ $('input[name="send_adYn"]').val(['Y']);
|
|
| 458 |
+ $(".send_adYnN").css('display', 'none');
|
|
| 459 |
+ advMsgInsert(); |
|
| 460 |
+ } |
|
| 461 |
+ |
|
| 454 | 462 |
//미리보기 이미지 영역 숨김 처리 |
| 455 | 463 |
$('.preiew_img').hide();
|
| 456 | 464 |
$('.prePhoto').hide();
|
... | ... | @@ -1496,6 +1504,13 @@ |
| 1496 | 1504 |
|
| 1497 | 1505 |
//일반문자 라이오 선택해 주기 |
| 1498 | 1506 |
$("#send_adYnN").prop("checked", true);
|
| 1507 |
+ |
|
| 1508 |
+ // Bline 확연 및 라디오 버튼 클릭 이벤트 추가 |
|
| 1509 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 1510 |
+ if(blineCodeYn != 'N' && blineCodeYn != ''){
|
|
| 1511 |
+ $('input[name="send_adYn"]').val(['Y']);
|
|
| 1512 |
+ $(".send_adYnN").css('display', 'none');
|
|
| 1513 |
+ } |
|
| 1499 | 1514 |
|
| 1500 | 1515 |
$('.delLi').each(function(){
|
| 1501 | 1516 |
|
... | ... | @@ -2948,6 +2963,14 @@ |
| 2948 | 2963 |
return false; |
| 2949 | 2964 |
} |
| 2950 | 2965 |
|
| 2966 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 2967 |
+ if(blineCodeYn != 'N'){
|
|
| 2968 |
+ if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
|
| 2969 |
+ alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
|
| 2970 |
+ return false; |
|
| 2971 |
+ } |
|
| 2972 |
+ } |
|
| 2973 |
+ |
|
| 2951 | 2974 |
//MJ_MSG_GROUP_DATA 누락데이터 체크 |
| 2952 | 2975 |
//if (getMsgGroupDataErrorCheck() == false) {
|
| 2953 | 2976 |
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
... | ... | @@ -3496,7 +3519,8 @@ |
| 3496 | 3519 |
<input type="hidden" id="evnShortMsgCnt" name="evnShortMsgCnt" value="0"/><!-- 치환 이벤트 단문 건수 --> |
| 3497 | 3520 |
<input type="hidden" id="evnLongMsgCnt" name="evnLongMsgCnt" value="0"/><!-- 치환 이벤트 장문 건수 --> |
| 3498 | 3521 |
|
| 3499 |
- |
|
| 3522 |
+ <input type="hidden" id="blineCode" name="blineCode" value="<c:out value="${blineCode}"/>"/>
|
|
| 3523 |
+ |
|
| 3500 | 3524 |
<!-- <div class="top_content current" id="tab1_1"> --> |
| 3501 | 3525 |
<div class="heading"> |
| 3502 | 3526 |
<h2>문자전송</h2> |
... | ... | @@ -3525,8 +3549,8 @@ |
| 3525 | 3549 |
<tr> |
| 3526 | 3550 |
<th scope="row">문자분류</th> |
| 3527 | 3551 |
<td class="send_cf"> |
| 3528 |
- <input id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked"> |
|
| 3529 |
- <label for="send_adYnN">일반</label> |
|
| 3552 |
+ <input class="send_adYnN" id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked"> |
|
| 3553 |
+ <label class="send_adYnN" for="send_adYnN">일반</label> |
|
| 3530 | 3554 |
<input id="send_adYnY" type="radio" name="send_adYn" value="Y"> |
| 3531 | 3555 |
<label for="send_adYnY">광고</label> |
| 3532 | 3556 |
</td> |
--- src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/MsgDataView.jsp
... | ... | @@ -857,7 +857,28 @@ |
| 857 | 857 |
|
| 858 | 858 |
return confCheck; |
| 859 | 859 |
} |
| 860 |
- |
|
| 860 |
+function blineSendCheck(blineCode) {
|
|
| 861 |
+ |
|
| 862 |
+ var confCheck = false; |
|
| 863 |
+ |
|
| 864 |
+ $.ajax({
|
|
| 865 |
+ type: "POST", |
|
| 866 |
+ url: "/web/mjon/conf/selectBlineSendCheckAjax.do", |
|
| 867 |
+ data: {"agentCode":blineCode},
|
|
| 868 |
+ dataType:'json', |
|
| 869 |
+ async: false, |
|
| 870 |
+ success: function (returnData, status) {
|
|
| 871 |
+ if(returnData.result == "fail") {
|
|
| 872 |
+ console.log(returnData.message); |
|
| 873 |
+ }else if(returnData.result == "success"){
|
|
| 874 |
+ confCheck = true; |
|
| 875 |
+ } |
|
| 876 |
+ } |
|
| 877 |
+ ,error: function (e) {console.log("ERROR : ", e); }
|
|
| 878 |
+ }); |
|
| 879 |
+ |
|
| 880 |
+ return confCheck; |
|
| 881 |
+} |
|
| 861 | 882 |
|
| 862 | 883 |
//문자발송 처리 함수 |
| 863 | 884 |
function fn_sendMsgData(){
|
... | ... | @@ -905,6 +926,15 @@ |
| 905 | 926 |
|
| 906 | 927 |
} |
| 907 | 928 |
|
| 929 |
+ |
|
| 930 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 931 |
+ if(blineCodeYn != 'N'){
|
|
| 932 |
+ if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
|
| 933 |
+ alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
|
| 934 |
+ return false; |
|
| 935 |
+ } |
|
| 936 |
+ } |
|
| 937 |
+ |
|
| 908 | 938 |
//MJ_MSG_GROUP_DATA 누락데이터 체크 |
| 909 | 939 |
//if (getMsgGroupDataErrorCheck() == false) {
|
| 910 | 940 |
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
--- src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataSMLView.jsp
... | ... | @@ -595,8 +595,17 @@ |
| 595 | 595 |
|
| 596 | 596 |
$(document).ready(function (){
|
| 597 | 597 |
|
| 598 |
+ // Bline 확연 및 라디오 버튼 클릭 이벤트 추가 |
|
| 599 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 600 |
+ if(blineCodeYn != 'N' && blineCodeYn != ''){
|
|
| 601 |
+ $('input[name="send_adYn"]').val(['Y']);
|
|
| 602 |
+ $(".send_adYnN").css('display', 'none');
|
|
| 603 |
+ advMsgInsert(); |
|
| 604 |
+ } |
|
| 605 |
+ |
|
| 598 | 606 |
$('.bottom_content .area_total_count').hide();
|
| 599 | 607 |
|
| 608 |
+ //미리보기 이미지 영역 숨김 처리 |
|
| 600 | 609 |
$('.preiew_img').hide();
|
| 601 | 610 |
$('.prePhoto').hide();
|
| 602 | 611 |
|
... | ... | @@ -1685,6 +1694,13 @@ |
| 1685 | 1694 |
//일반문자 라이오 선택해 주기 |
| 1686 | 1695 |
$("#send_adYnN").prop("checked", true);
|
| 1687 | 1696 |
|
| 1697 |
+ // Bline 확연 및 라디오 버튼 클릭 이벤트 추가 |
|
| 1698 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 1699 |
+ if(blineCodeYn != 'N' && blineCodeYn != ''){
|
|
| 1700 |
+ $('input[name="send_adYn"]').val(['Y']);
|
|
| 1701 |
+ $(".send_adYnN").css('display', 'none');
|
|
| 1702 |
+ } |
|
| 1703 |
+ |
|
| 1688 | 1704 |
$('.delLi').each(function(){
|
| 1689 | 1705 |
|
| 1690 | 1706 |
$(this).remove(); |
... | ... | @@ -2675,6 +2691,13 @@ |
| 2675 | 2691 |
return false; |
| 2676 | 2692 |
} |
| 2677 | 2693 |
|
| 2694 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 2695 |
+ if(blineCodeYn != 'N'){
|
|
| 2696 |
+ if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
|
| 2697 |
+ alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
|
| 2698 |
+ return false; |
|
| 2699 |
+ } |
|
| 2700 |
+ } |
|
| 2678 | 2701 |
//MJ_MSG_GROUP_DATA 누락데이터 체크 |
| 2679 | 2702 |
//if (getMsgGroupDataErrorCheck() == false) {
|
| 2680 | 2703 |
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
... | ... | @@ -3014,6 +3037,8 @@ |
| 3014 | 3037 |
<input type="hidden" id="evnShortMsgCnt" name="evnShortMsgCnt" value="0"/><!-- 치환 이벤트 단문 건수 --> |
| 3015 | 3038 |
<input type="hidden" id="evnLongMsgCnt" name="evnLongMsgCnt" value="0"/><!-- 치환 이벤트 장문 건수 --> |
| 3016 | 3039 |
|
| 3040 |
+ <input type="hidden" id="blineCode" name="blineCode" value="<c:out value="${blineCode}"/>"/>
|
|
| 3041 |
+ |
|
| 3017 | 3042 |
<!-- <div class="top_content get_excel" id="tab1_2"> --> |
| 3018 | 3043 |
<div class="heading"> |
| 3019 | 3044 |
<h2>대량문자/단체문자 전송</h2> |
... | ... | @@ -3043,8 +3068,8 @@ |
| 3043 | 3068 |
<tr> |
| 3044 | 3069 |
<th scope="row">문자분류</th> |
| 3045 | 3070 |
<td class="send_cf"> |
| 3046 |
- <input id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked"> |
|
| 3047 |
- <label for="send_adYnN">일반</label> |
|
| 3071 |
+ <input class="send_adYnN" id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked"> |
|
| 3072 |
+ <label class="send_adYnN" for="send_adYnN">일반</label> |
|
| 3048 | 3073 |
<input id="send_adYnY" type="radio" name="send_adYn" value="Y"> |
| 3049 | 3074 |
<label for="send_adYnY">광고</label> |
| 3050 | 3075 |
</td> |
--- src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataView.jsp
+++ src/main/webapp/WEB-INF/jsp/web/msgdata/excel/MsgExcelDataView.jsp
... | ... | @@ -471,6 +471,29 @@ |
| 471 | 471 |
return confCheck; |
| 472 | 472 |
} |
| 473 | 473 |
|
| 474 |
+function blineSendCheck(blineCode) {
|
|
| 475 |
+ |
|
| 476 |
+ var confCheck = false; |
|
| 477 |
+ |
|
| 478 |
+ $.ajax({
|
|
| 479 |
+ type: "POST", |
|
| 480 |
+ url: "/web/mjon/conf/selectBlineSendCheckAjax.do", |
|
| 481 |
+ data: {"agentCode":blineCode},
|
|
| 482 |
+ dataType:'json', |
|
| 483 |
+ async: false, |
|
| 484 |
+ success: function (returnData, status) {
|
|
| 485 |
+ if(returnData.result == "fail") {
|
|
| 486 |
+ console.log(returnData.message); |
|
| 487 |
+ }else if(returnData.result == "success"){
|
|
| 488 |
+ confCheck = true; |
|
| 489 |
+ } |
|
| 490 |
+ } |
|
| 491 |
+ ,error: function (e) {console.log("ERROR : ", e); }
|
|
| 492 |
+ }); |
|
| 493 |
+ |
|
| 494 |
+ return confCheck; |
|
| 495 |
+} |
|
| 496 |
+ |
|
| 474 | 497 |
//문자발송 처리 함수 |
| 475 | 498 |
function fn_sendMsgData(){
|
| 476 | 499 |
|
... | ... | @@ -515,6 +538,14 @@ |
| 515 | 538 |
|
| 516 | 539 |
} |
| 517 | 540 |
|
| 541 |
+ var blineCodeYn = $("#blineCode").val();
|
|
| 542 |
+ if(blineCodeYn != 'N'){
|
|
| 543 |
+ if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
|
| 544 |
+ alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
|
| 545 |
+ return false; |
|
| 546 |
+ } |
|
| 547 |
+ } |
|
| 548 |
+ |
|
| 518 | 549 |
//MJ_MSG_GROUP_DATA 누락데이터 체크 |
| 519 | 550 |
//if (getMsgGroupDataErrorCheck() == false) {
|
| 520 | 551 |
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
--- src/main/webapp/WEB-INF/jsp/web/pay/PayEstimate.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayEstimate.jsp
... | ... | @@ -170,7 +170,16 @@ |
| 170 | 170 |
</c:otherwise> |
| 171 | 171 |
</c:choose> |
| 172 | 172 |
</td> |
| 173 |
- <td><fmt:formatNumber value="${sList.caseNumber}" pattern=""/></td>
|
|
| 173 |
+ <td> |
|
| 174 |
+ <c:choose> |
|
| 175 |
+ <c:when test="${sList.smsItemName eq '팩스'}">
|
|
| 176 |
+ <fmt:formatNumber value="${sList.caseNumber * sList.casePage}" pattern=""/>
|
|
| 177 |
+ </c:when> |
|
| 178 |
+ <c:otherwise> |
|
| 179 |
+ <fmt:formatNumber value="${sList.caseNumber}" pattern=""/>
|
|
| 180 |
+ </c:otherwise> |
|
| 181 |
+ </c:choose> |
|
| 182 |
+ </td> |
|
| 174 | 183 |
<td><c:out value="${sList.supplyPrice}"/></td>
|
| 175 | 184 |
<td><c:out value="${sList.vatPrice}"/></td>
|
| 176 | 185 |
<td><c:out value="${sList.totPrice}"/></td>
|
--- src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
+++ src/main/webapp/WEB-INF/jsp/web/pay/PayGuide.jsp
... | ... | @@ -176,7 +176,12 @@ |
| 176 | 176 |
else {
|
| 177 | 177 |
sHtml += " <div>" + element.unitPrice + "</div>"; |
| 178 | 178 |
} |
| 179 |
- sHtml += " <div>" + numberWithCommas(element.caseNumber) + "</div>"; |
|
| 179 |
+ if(element.smsItemName.includes('팩스')){
|
|
| 180 |
+ sHtml += " <div>" + numberWithCommas(element.caseNumber * element.casePage) + "</div>"; |
|
| 181 |
+ } |
|
| 182 |
+ else {
|
|
| 183 |
+ sHtml += " <div>" + numberWithCommas(element.caseNumber) + "</div>"; |
|
| 184 |
+ } |
|
| 180 | 185 |
sHtml += " <div>" + numberWithCommas(element.supplyPrice) + "</div>"; |
| 181 | 186 |
sHtml += " <div>" + numberWithCommas(element.vatPrice) + "</div>"; |
| 182 | 187 |
sHtml += " <div>" + numberWithCommas(element.totVatPrice) + "</div>"; |
--- src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedKakaoAllListAjax.jsp
+++ src/main/webapp/WEB-INF/jsp/web/reservedmsg/ReservedKakaoAllListAjax.jsp
... | ... | @@ -71,10 +71,10 @@ |
| 71 | 71 |
<table class="tType4"> |
| 72 | 72 |
<colgroup> |
| 73 | 73 |
<col style="width: 40px;"> |
| 74 |
+ <col style="width: 8%;"> |
|
| 75 |
+ <col style="width: 13%;"> |
|
| 76 |
+ <col style="width: 13%;"> |
|
| 74 | 77 |
<col style="width: 7%;"> |
| 75 |
- <col style="width: 11.5%;"> |
|
| 76 |
- <col style="width: 11.5%;"> |
|
| 77 |
- <col style="width: 10%;"> |
|
| 78 | 78 |
<col style="width: 90px;"> |
| 79 | 79 |
<col style="width: 8%;"> |
| 80 | 80 |
<col style="width: 10%;"> |
... | ... | @@ -92,9 +92,6 @@ |
| 92 | 92 |
<input type="checkbox" id="allCheck" name="allCheck"> |
| 93 | 93 |
</th> |
| 94 | 94 |
<th rowspan="2">발송상태 |
| 95 |
- <div class="sort_wrap"> |
|
| 96 |
- <input type="button" class="sort sortBtn" id="sort_shipmentStatus"> |
|
| 97 |
- </div> |
|
| 98 | 95 |
</th> |
| 99 | 96 |
<th rowspan="2"> |
| 100 | 97 |
접수일자 |
--- src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab1.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab1.jsp
... | ... | @@ -209,6 +209,11 @@ |
| 209 | 209 |
<td>성공 건수</td> |
| 210 | 210 |
<td>String</td> |
| 211 | 211 |
</tr> |
| 212 |
+ <tr> |
|
| 213 |
+ <th>[data].test_yn</th> |
|
| 214 |
+ <td>테스트 데이터 여부</td> |
|
| 215 |
+ <td>String</td> |
|
| 216 |
+ </tr> |
|
| 212 | 217 |
</tbody> |
| 213 | 218 |
</table> |
| 214 | 219 |
|
... | ... | @@ -233,10 +238,12 @@ |
| 233 | 238 |
<p>, "data":[</p> |
| 234 | 239 |
<div> |
| 235 | 240 |
<p>"msgGroupId":"MSGGID_0000000000000"</p> |
| 236 |
- <p>, "msgType":"4"</p> |
|
| 241 |
+ <p>, "msgType":"SMS"</p> |
|
| 242 |
+ <p>, "resultCode":"0"</p> |
|
| 237 | 243 |
<p>, "blockCnt":"0"</p> |
| 238 | 244 |
<p>, "failCnt":"0"</p> |
| 239 | 245 |
<p>, "successCnt":"3"</p> |
| 246 |
+ <p>, "test_yn":null</p> |
|
| 240 | 247 |
</div> |
| 241 | 248 |
<p>]</p> |
| 242 | 249 |
} |
--- src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab2.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab2.jsp
... | ... | @@ -219,6 +219,11 @@ |
| 219 | 219 |
<td>성공 건수</td> |
| 220 | 220 |
<td>String</td> |
| 221 | 221 |
</tr> |
| 222 |
+ <tr> |
|
| 223 |
+ <th>[data].test_yn</th> |
|
| 224 |
+ <td>테스트 데이터 여부</td> |
|
| 225 |
+ <td>String</td> |
|
| 226 |
+ </tr> |
|
| 222 | 227 |
</tbody> |
| 223 | 228 |
</table> |
| 224 | 229 |
|
... | ... | @@ -239,20 +244,30 @@ |
| 239 | 244 |
<tr> |
| 240 | 245 |
<td class="padding_add"> |
| 241 | 246 |
{
|
| 242 |
- <p>"resultCode":"0"</p> |
|
| 243 |
- <p>, "data":[</p> |
|
| 244 |
- <div> |
|
| 245 |
- <p>"msgGroupIdList":[</p> |
|
| 246 |
- <p> 0:"MSGGID_0000000000000"</p> |
|
| 247 |
- <p> 1:"MSGGID_0000000000001"</p> |
|
| 248 |
- <p> 2:"MSGGID_0000000000002"</p> |
|
| 249 |
- <p>]</p> |
|
| 250 |
- <p>, "msgType":"LMS"</p> |
|
| 251 |
- <p>, "blockCnt":"0"</p> |
|
| 252 |
- <p>, "failCnt":"0"</p> |
|
| 253 |
- <p>, "successCnt":"3"</p> |
|
| 254 |
- </div> |
|
| 255 |
- <p>]</p> |
|
| 247 |
+ <p> "resultCode":"0"</p> |
|
| 248 |
+ <p> , "data":[</p> |
|
| 249 |
+ <p>  "msgGroupIdList":[</p> |
|
| 250 |
+ <p>   {</p>
|
|
| 251 |
+ <p>    "MSGGID_0000000013451"</p> |
|
| 252 |
+ <p>   }</p> |
|
| 253 |
+ <p>   ,{</p>
|
|
| 254 |
+ <p>    "MSGGID_0000000013452"</p> |
|
| 255 |
+ <p>   }</p> |
|
| 256 |
+ <p>  ]</p> |
|
| 257 |
+ <p>  ,"msgTypeList":[</p> |
|
| 258 |
+ <p>   {</p>
|
|
| 259 |
+ <p>    "SMS"</p> |
|
| 260 |
+ <p>   }</p> |
|
| 261 |
+ <p>   ,{</p>
|
|
| 262 |
+ <p>    "SMS"</p> |
|
| 263 |
+ <p>   }</p> |
|
| 264 |
+ <p>  ]</p> |
|
| 265 |
+ <p>  ,"resultCode":"0"</p> |
|
| 266 |
+ <p>  ,"successCnt":"2"</p> |
|
| 267 |
+ <p>  ,"failCnt":"0"</p> |
|
| 268 |
+ <p>  ,"blockCnt":"0"</p> |
|
| 269 |
+ <p>  ,"test_yn":null</p> |
|
| 270 |
+ <p> ]</p> |
|
| 256 | 271 |
} |
| 257 | 272 |
</td> |
| 258 | 273 |
</tr> |
--- src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab3.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab3.jsp
... | ... | @@ -4,11 +4,15 @@ |
| 4 | 4 |
|
| 5 | 5 |
<p class="tType1_title">전송내역조회</p> |
| 6 | 6 |
<span class="reqTxt4"> |
| 7 |
- 동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다. |
|
| 7 |
+ 최근 요청 및 처리된 전송내역을 조회하실 수 있습니다. |
|
| 8 | 8 |
</br> |
| 9 |
- 발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다. |
|
| 9 |
+ 사이트 내 전송결과 조회 페이지와 동일한 내역이 조회되며, 날짜 기준으로 조회가 가능합니다. |
|
| 10 | 10 |
</br> |
| 11 |
- 90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다. |
|
| 11 |
+ 발신번호별 조회 기능은 제공이 되지 않습니다. |
|
| 12 |
+ </br> |
|
| 13 |
+ 조회 시작일을 지정하실 수 있으며, 시작일 이전 며칠까지 조회할지 설정이 가능합니다. |
|
| 14 |
+ </br> |
|
| 15 |
+ 조회 시 최근 발송내역 순서로 소팅됩니다. |
|
| 12 | 16 |
</span> |
| 13 | 17 |
</br> |
| 14 | 18 |
</br> |
... | ... | @@ -103,7 +107,7 @@ |
| 103 | 107 |
<th>startDate</th> |
| 104 | 108 |
<td>시작일자</td> |
| 105 | 109 |
<td>String</td> |
| 106 |
- <td>O</td> |
|
| 110 |
+ <td>X</td> |
|
| 107 | 111 |
</tr> |
| 108 | 112 |
<tr> |
| 109 | 113 |
<th>endDate</th> |
... | ... | @@ -119,7 +123,6 @@ |
| 119 | 123 |
</tr> |
| 120 | 124 |
</tbody> |
| 121 | 125 |
</table> |
| 122 |
- <span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span> |
|
| 123 | 126 |
|
| 124 | 127 |
|
| 125 | 128 |
<ul class="clause_list"> |
... | ... | @@ -138,13 +141,13 @@ |
| 138 | 141 |
<tr> |
| 139 | 142 |
<td class="padding_add"> |
| 140 | 143 |
{<br />
|
| 141 |
- <p>"mberId":"String"</p> |
|
| 142 |
- <p>,"accessKey":"String"</p> |
|
| 143 |
- <p>,"page":"String"</p> |
|
| 144 |
- <p>,"pageSize":"String"</p> |
|
| 145 |
- <p>,"startDate":"String"</p> |
|
| 146 |
- <p>,"endDate":"String"</p> |
|
| 147 |
- <p>,"test_yn":"( YS | YF )"</p> |
|
| 144 |
+ <p>"mberId":"홍길동"</p> |
|
| 145 |
+ <p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p> |
|
| 146 |
+ <p>,"page":""</p> |
|
| 147 |
+ <p>,"pageSize":""</p> |
|
| 148 |
+ <p>,"startDate":""</p> |
|
| 149 |
+ <p>,"endDate":""</p> |
|
| 150 |
+ <p>,"test_yn":""</p> |
|
| 148 | 151 |
} |
| 149 | 152 |
</td> |
| 150 | 153 |
</tr> |
... | ... | @@ -186,8 +189,28 @@ |
| 186 | 189 |
<td>Object</td> |
| 187 | 190 |
</tr> |
| 188 | 191 |
<tr> |
| 192 |
+ <th>[data].message</th> |
|
| 193 |
+ <td>문자</td> |
|
| 194 |
+ <td>String</td> |
|
| 195 |
+ </tr> |
|
| 196 |
+ <tr> |
|
| 197 |
+ <th>[data].next_yn</th> |
|
| 198 |
+ <td>다음 페이지 여부</td> |
|
| 199 |
+ <td>String</td> |
|
| 200 |
+ </tr> |
|
| 201 |
+ <tr> |
|
| 202 |
+ <th>[data].objectList</th> |
|
| 203 |
+ <td>결과값 목록</td> |
|
| 204 |
+ <td>Object List</td> |
|
| 205 |
+ </tr> |
|
| 206 |
+ <tr> |
|
| 189 | 207 |
<th>[data].msgGroupId</th> |
| 190 | 208 |
<td>메세지 그룹 ID</td> |
| 209 |
+ <td>String</td> |
|
| 210 |
+ </tr> |
|
| 211 |
+ <tr> |
|
| 212 |
+ <th>[data].msgId</th> |
|
| 213 |
+ <td>메세지 ID</td> |
|
| 191 | 214 |
<td>String</td> |
| 192 | 215 |
</tr> |
| 193 | 216 |
<tr> |
... | ... | @@ -206,8 +229,8 @@ |
| 206 | 229 |
<td>String</td> |
| 207 | 230 |
</tr> |
| 208 | 231 |
<tr> |
| 209 |
- <th>[data].msgGroupCnt</th> |
|
| 210 |
- <td>문자 발송 건수</td> |
|
| 232 |
+ <th>[data].callTo</th> |
|
| 233 |
+ <td>수신자 번호</td> |
|
| 211 | 234 |
<td>String</td> |
| 212 | 235 |
</tr> |
| 213 | 236 |
<tr> |
... | ... | @@ -304,32 +327,65 @@ |
| 304 | 327 |
<tbody> |
| 305 | 328 |
<tr> |
| 306 | 329 |
<td class="padding_add"> |
| 307 |
- {
|
|
| 308 |
- <p>"resultCode":"0"</p> |
|
| 309 |
- <p>, "data":[</p> |
|
| 310 |
- <div> |
|
| 311 |
- <p>"msgGroupId":"MSGGID_0000000000000"</p> |
|
| 312 |
- <p>, "msgTypeName":"단문(SMS)"</p> |
|
| 313 |
- <p>, "msgType":"4"</p> |
|
| 314 |
- <p>, "callFrom":"01011112222"</p> |
|
| 315 |
- <p>, "msgGroupCnt":"2"</p> |
|
| 316 |
- <p>, "sCnt":"2"</p> |
|
| 317 |
- <p>, "fCnt":"0"</p> |
|
| 318 |
- <p>, "wCnt":"0"</p> |
|
| 319 |
- <p>, "msgResult":"S"</p> |
|
| 320 |
- <p>, "smsTxt":"문자 내용"</p> |
|
| 321 |
- <p>, "subject":""</p> |
|
| 322 |
- <p>, "reqdate":"2023-04-05 00:00:00"</p> |
|
| 323 |
- <p>, "curState":"3"</p> |
|
| 324 |
- <p>, "userId":"testuser"</p> |
|
| 325 |
- <p>, "regdate":"3"</p> |
|
| 326 |
- <p>, "successCnt":"2023-04-04 16:10:19"</p> |
|
| 327 |
- <p>, "reserveCYn":"N"</p> |
|
| 328 |
- <p>, "ttlCnt":"4"</p> |
|
| 329 |
- <p>, "remainMsgCnt":"0"</p> |
|
| 330 |
- <p>, "totMsgCnt":"3"</p> |
|
| 331 |
- </div> |
|
| 332 |
- <p>]</p> |
|
| 330 |
+ {
|
|
| 331 |
+ <p> "resultCode":"0"</p> |
|
| 332 |
+ <p> , "data":[</p> |
|
| 333 |
+ <p>  {</p>
|
|
| 334 |
+ <p>   "resultCode":"0"</p> |
|
| 335 |
+ <p>   , "message": null</p> |
|
| 336 |
+ <p>   , "next_yn":"n"</p> |
|
| 337 |
+ <p>   , "msgGroupId":"MSGGID_0000000000000"</p> |
|
| 338 |
+ <p>   , "objectList":[</p> |
|
| 339 |
+ <p>    {</p>
|
|
| 340 |
+ <p>     "msgTypeName":"단문(SMS)"</p> |
|
| 341 |
+ <p>     ,"msgType":"4"</p> |
|
| 342 |
+ <p>     ,"callFrom":"01011112222"</p> |
|
| 343 |
+ <p>     ,"callTo":"01011112223"</p> |
|
| 344 |
+ <p>     ,"msgGroupCnt":"2"</p> |
|
| 345 |
+ <p>     ,"msgGroupId":"MSGGID_0000000013340"</p> |
|
| 346 |
+ <p>     ,"msgId":"MSGID_0000000000001"</p> |
|
| 347 |
+ <p>     ,"scnt":"2"</p> |
|
| 348 |
+ <p>     ,"fcnt":"0"</p> |
|
| 349 |
+ <p>     ,"wcnt":"0"</p> |
|
| 350 |
+ <p>     ,"msgResult":"S"</p> |
|
| 351 |
+ <p>     ,"smsTxt":"문자 내용 단문 예제"</p> |
|
| 352 |
+ <p>     ,"subject":null</p> |
|
| 353 |
+ <p>     ,"reqdate":"2023-06-13 17:48:07"</p> |
|
| 354 |
+ <p>     ,"curState":"3"</p> |
|
| 355 |
+ <p>     ,"userId":"testuser"</p> |
|
| 356 |
+ <p>     ,"regdate":"2023-06-13 17:48:07"</p> |
|
| 357 |
+ <p>     ,"reserveCYn":"N"</p> |
|
| 358 |
+ <p>     ,"ttlCnt":"1"</p> |
|
| 359 |
+ <p>     ,"remainMsgCnt":40"</p> |
|
| 360 |
+ <p>     ,"totMsgCnt":"70"</p> |
|
| 361 |
+ <p>    }</p> |
|
| 362 |
+ <p>    , {</p>
|
|
| 363 |
+ <p>     "msgTypeName":"장문(LMS)"</p> |
|
| 364 |
+ <p>     ,"msgType":"6"</p> |
|
| 365 |
+ <p>     ,"callFrom":"01011112222"</p> |
|
| 366 |
+ <p>     ,"callTo":"01011112223"</p> |
|
| 367 |
+ <p>     ,"msgGroupCnt":"1"</p> |
|
| 368 |
+ <p>     ,"msgGroupId":"MSGGID_0000000013341"</p> |
|
| 369 |
+ <p>     ,"msgId":"MSGID_0000000000002"</p> |
|
| 370 |
+ <p>     ,"scnt":"1"</p> |
|
| 371 |
+ <p>     ,"fcnt":"0"</p> |
|
| 372 |
+ <p>     ,"wcnt":"0"</p> |
|
| 373 |
+ <p>     ,"msgResult":"S"</p> |
|
| 374 |
+ <p>     ,"smsTxt":"문자 내용 장문 예제"</p> |
|
| 375 |
+ <p>     ,"subject":null</p> |
|
| 376 |
+ <p>     ,"reqdate":"2023-06-02 11:46:50"</p> |
|
| 377 |
+ <p>     ,"curState":"3"</p> |
|
| 378 |
+ <p>     ,"userId":"testuser"</p> |
|
| 379 |
+ <p>     ,"regdate":"2023-06-02 11:46:49"</p> |
|
| 380 |
+ <p>     ,"reserveCYn":"N"</p> |
|
| 381 |
+ <p>     ,"ttlCnt":"1"</p> |
|
| 382 |
+ <p>     ,"remainMsgCnt":"40"</p> |
|
| 383 |
+ <p>     ,"totMsgCnt":"70"</p> |
|
| 384 |
+ <p>    }</p> |
|
| 385 |
+ <p>   ]</p> |
|
| 386 |
+ |
|
| 387 |
+ <p>  }</p> |
|
| 388 |
+ <p> ]</p> |
|
| 333 | 389 |
} |
| 334 | 390 |
</td> |
| 335 | 391 |
</tr> |
... | ... | @@ -355,8 +411,8 @@ |
| 355 | 411 |
<tr> |
| 356 | 412 |
<td class="padding_add"> |
| 357 | 413 |
{
|
| 358 |
- <p>"resultCode":"1040"</p> |
|
| 359 |
- <p>,"data":"치환 데이터 오류"</p> |
|
| 414 |
+ <p>"resultCode":"3099"</p> |
|
| 415 |
+ <p>,"data":"기타 시스템 오류"</p> |
|
| 360 | 416 |
} |
| 361 | 417 |
</td> |
| 362 | 418 |
</tr> |
--- src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab4.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab4.jsp
... | ... | @@ -4,16 +4,18 @@ |
| 4 | 4 |
|
| 5 | 5 |
<p class="tType1_title">전송결과조회(상세)</p> |
| 6 | 6 |
<span class="reqTxt4"> |
| 7 |
- 동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다. |
|
| 7 |
+ msgGroupId를 사용하여 수신번호별 상태를 조회하실 수 있습니다. |
|
| 8 | 8 |
</br> |
| 9 |
- 발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다. |
|
| 9 |
+ 수신 전화번호별 전송상태를 조회하실 수 있으며 목록에 없거나 전송 중인 문자는 만 24시간 동안 전송 시도 중인 것입니다. |
|
| 10 | 10 |
</br> |
| 11 |
- 90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다. |
|
| 11 |
+ 최종 24시간이 경과 후 조회하셔야 완료된 내역을 확인하실 수 있습니다. |
|
| 12 | 12 |
</span> |
| 13 | 13 |
</br> |
| 14 | 14 |
</br> |
| 15 | 15 |
|
| 16 |
- |
|
| 16 |
+ <p class="tType1_title"> |
|
| 17 |
+ <img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request] |
|
| 18 |
+ </p> |
|
| 17 | 19 |
<ul class="clause_list"> |
| 18 | 20 |
<li class="list_open on"> |
| 19 | 21 |
<div class="clause_list_head"> |
... | ... | @@ -53,9 +55,6 @@ |
| 53 | 55 |
HTTPS 프로토콜을 사용하여 POST로 요청합니다. |
| 54 | 56 |
</span> |
| 55 | 57 |
|
| 56 |
- <p class="tType1_title"> |
|
| 57 |
- <img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자 |
|
| 58 |
- </p> |
|
| 59 | 58 |
<table class="tType2"> |
| 60 | 59 |
<caption></caption> |
| 61 | 60 |
<colgroup> |
... | ... | @@ -86,26 +85,20 @@ |
| 86 | 85 |
<td>O</td> |
| 87 | 86 |
</tr> |
| 88 | 87 |
<tr> |
| 89 |
- <th>callFrom</th> |
|
| 90 |
- <td>발신자 번호 (아이디에 등록되어 있는 번호)</td> |
|
| 88 |
+ <th>msgGroupId</th> |
|
| 89 |
+ <td>메시지그룹 ID</td> |
|
| 91 | 90 |
<td>String</td> |
| 92 | 91 |
<td>O</td> |
| 93 | 92 |
</tr> |
| 94 | 93 |
<tr> |
| 95 |
- <th>callToList</th> |
|
| 96 |
- <td>수신자 번호 (콤마(,) 기준으로 입력)</td> |
|
| 94 |
+ <th>page</th> |
|
| 95 |
+ <td>페이지 번호</td> |
|
| 97 | 96 |
<td>String</td> |
| 98 |
- <td>O</td> |
|
| 97 |
+ <td>X</td> |
|
| 99 | 98 |
</tr> |
| 100 | 99 |
<tr> |
| 101 |
- <th>smsTxt</th> |
|
| 102 |
- <td>메세지 내용</td> |
|
| 103 |
- <td>String (1~2,000Byte)</td> |
|
| 104 |
- <td>O</td> |
|
| 105 |
- </tr> |
|
| 106 |
- <tr> |
|
| 107 |
- <th>nameStr</th> |
|
| 108 |
- <td>메세지 내용에 [*이름*]이 있으면 치환용 이름 입력</td> |
|
| 100 |
+ <th>pageSize</th> |
|
| 101 |
+ <td>페이지당 출력개수</td> |
|
| 109 | 102 |
<td>String</td> |
| 110 | 103 |
<td>X</td> |
| 111 | 104 |
</tr> |
... | ... | @@ -117,7 +110,6 @@ |
| 117 | 110 |
</tr> |
| 118 | 111 |
</tbody> |
| 119 | 112 |
</table> |
| 120 |
- <span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span> |
|
| 121 | 113 |
|
| 122 | 114 |
|
| 123 | 115 |
<ul class="clause_list"> |
... | ... | @@ -136,14 +128,276 @@ |
| 136 | 128 |
<tr> |
| 137 | 129 |
<td class="padding_add"> |
| 138 | 130 |
{<br />
|
| 139 |
- <p>"mberId":"String"</p> |
|
| 140 |
- <p>,"accessKey":"String"</p> |
|
| 141 |
- <p>,"callFrom":"String"</p> |
|
| 142 |
- <p>,"callToList":"String"</p> |
|
| 143 |
- <p>,"smsTxt":"String"</p> |
|
| 144 |
- <p>,"nameStr":"String"</p> |
|
| 145 |
- <p>,"callFrom":"String"</p> |
|
| 146 |
- <p>,"test_yn":"( YS | YF )"</p> |
|
| 131 |
+ <p>"mberId":"홍길동"</p> |
|
| 132 |
+ <p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p> |
|
| 133 |
+ <p>,"msgGroupId":"MSGGID_0000000011452"</p> |
|
| 134 |
+ <p>,"page":""</p> |
|
| 135 |
+ <p>,"pageSize":""</p> |
|
| 136 |
+ <p>,"test_yn":""</p> |
|
| 137 |
+ } |
|
| 138 |
+ </td> |
|
| 139 |
+ </tr> |
|
| 140 |
+ </tbody> |
|
| 141 |
+ </table> |
|
| 142 |
+ </div> |
|
| 143 |
+ </li> |
|
| 144 |
+ </ul> |
|
| 145 |
+ <p class="tType1_title"> |
|
| 146 |
+ <img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response] |
|
| 147 |
+ </p> |
|
| 148 |
+ <span class="reqTxt4"> |
|
| 149 |
+ JSON 객체로 응답 합니다. |
|
| 150 |
+ </span> |
|
| 151 |
+ <table class="tType2"> |
|
| 152 |
+ <caption></caption> |
|
| 153 |
+ <colgroup> |
|
| 154 |
+ <col style="width: 13%;"> |
|
| 155 |
+ <col style="width: auto;"> |
|
| 156 |
+ <col style="width: 20%;"> |
|
| 157 |
+ </colgroup> |
|
| 158 |
+ <thead> |
|
| 159 |
+ <tr> |
|
| 160 |
+ <th>키</th> |
|
| 161 |
+ <th>설명</th> |
|
| 162 |
+ <th>타입</th> |
|
| 163 |
+ </tr> |
|
| 164 |
+ </thead> |
|
| 165 |
+ <tbody> |
|
| 166 |
+ <tr> |
|
| 167 |
+ <th>resultCode</th> |
|
| 168 |
+ <td>성공 여부 ( "0" 아니면 실패 )</td> |
|
| 169 |
+ <td>String</td> |
|
| 170 |
+ </tr> |
|
| 171 |
+ <tr> |
|
| 172 |
+ <th>data</th> |
|
| 173 |
+ <td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td> |
|
| 174 |
+ <td>Object</td> |
|
| 175 |
+ </tr> |
|
| 176 |
+ <tr> |
|
| 177 |
+ <th>[data].message</th> |
|
| 178 |
+ <td>문자</td> |
|
| 179 |
+ <td>String</td> |
|
| 180 |
+ </tr> |
|
| 181 |
+ <tr> |
|
| 182 |
+ <th>[data].next_yn</th> |
|
| 183 |
+ <td>다음 페이지 여부</td> |
|
| 184 |
+ <td>String</td> |
|
| 185 |
+ </tr> |
|
| 186 |
+ <tr> |
|
| 187 |
+ <th>[data].objectList</th> |
|
| 188 |
+ <td>결과값 목록</td> |
|
| 189 |
+ <td>Object List</td> |
|
| 190 |
+ </tr> |
|
| 191 |
+ <tr> |
|
| 192 |
+ <th>[data].msgGroupId</th> |
|
| 193 |
+ <td>메세지 그룹 ID</td> |
|
| 194 |
+ <td>String</td> |
|
| 195 |
+ </tr> |
|
| 196 |
+ <tr> |
|
| 197 |
+ <th>[data].msgId</th> |
|
| 198 |
+ <td>메세지 ID</td> |
|
| 199 |
+ <td>String</td> |
|
| 200 |
+ </tr> |
|
| 201 |
+ <tr> |
|
| 202 |
+ <th>[data].msgTypeName</th> |
|
| 203 |
+ <td>문자 구분명(단문, 장문, 그림)</td> |
|
| 204 |
+ <td>String</td> |
|
| 205 |
+ </tr> |
|
| 206 |
+ <tr> |
|
| 207 |
+ <th>[data].msgType</th> |
|
| 208 |
+ <td>메세지 타입 ( 4: 단문, 5: 장문 )</td> |
|
| 209 |
+ <td>String</td> |
|
| 210 |
+ </tr> |
|
| 211 |
+ <tr> |
|
| 212 |
+ <th>[data].callFrom</th> |
|
| 213 |
+ <td>발신자 번호</td> |
|
| 214 |
+ <td>String</td> |
|
| 215 |
+ </tr> |
|
| 216 |
+ <tr> |
|
| 217 |
+ <th>[data].callTo</th> |
|
| 218 |
+ <td>수신자 번호</td> |
|
| 219 |
+ <td>String</td> |
|
| 220 |
+ </tr> |
|
| 221 |
+ <tr> |
|
| 222 |
+ <th>[data].msgGroupCnt</th> |
|
| 223 |
+ <td>문자 발송 건수</td> |
|
| 224 |
+ <td>String</td> |
|
| 225 |
+ </tr> |
|
| 226 |
+ <tr> |
|
| 227 |
+ <th>[data].sCnt</th> |
|
| 228 |
+ <td>성공 건수</td> |
|
| 229 |
+ <td>String</td> |
|
| 230 |
+ </tr> |
|
| 231 |
+ <tr> |
|
| 232 |
+ <th>[data].fCnt</th> |
|
| 233 |
+ <td>실패 건수</td> |
|
| 234 |
+ <td>String</td> |
|
| 235 |
+ </tr> |
|
| 236 |
+ <tr> |
|
| 237 |
+ <th>[data].wCnt</th> |
|
| 238 |
+ <td>대기 건수</td> |
|
| 239 |
+ <td>String</td> |
|
| 240 |
+ </tr> |
|
| 241 |
+ <tr> |
|
| 242 |
+ <th>[data].msgResult</th> |
|
| 243 |
+ <td>발송결과( 성공 : S, 실패 : F)</td> |
|
| 244 |
+ <td>String</td> |
|
| 245 |
+ </tr> |
|
| 246 |
+ <tr> |
|
| 247 |
+ <th>[data].smsTxt</th> |
|
| 248 |
+ <td>문자내용</td> |
|
| 249 |
+ <td>String</td> |
|
| 250 |
+ </tr> |
|
| 251 |
+ <tr> |
|
| 252 |
+ <th>[data].subject</th> |
|
| 253 |
+ <td>제목</td> |
|
| 254 |
+ <td>String</td> |
|
| 255 |
+ </tr> |
|
| 256 |
+ <tr> |
|
| 257 |
+ <th>[data].reqdate</th> |
|
| 258 |
+ <td>발송 일자</td> |
|
| 259 |
+ <td>String</td> |
|
| 260 |
+ </tr> |
|
| 261 |
+ <tr> |
|
| 262 |
+ <th>[data].curState</th> |
|
| 263 |
+ <td>전송 처리 결과값</td> |
|
| 264 |
+ <td>String</td> |
|
| 265 |
+ </tr> |
|
| 266 |
+ <tr> |
|
| 267 |
+ <th>[data].userId</th> |
|
| 268 |
+ <td>사용자 ID</td> |
|
| 269 |
+ <td>String</td> |
|
| 270 |
+ </tr> |
|
| 271 |
+ <tr> |
|
| 272 |
+ <th>[data].regdate</th> |
|
| 273 |
+ <td>등록 일자</td> |
|
| 274 |
+ <td>String</td> |
|
| 275 |
+ </tr> |
|
| 276 |
+ <tr> |
|
| 277 |
+ <th>[data].reserveCYn</th> |
|
| 278 |
+ <td>예약 취소 여부</td> |
|
| 279 |
+ <td>String</td> |
|
| 280 |
+ </tr> |
|
| 281 |
+ <tr> |
|
| 282 |
+ <th>[data].ttlCnt</th> |
|
| 283 |
+ <td>전체 요청 수</td> |
|
| 284 |
+ <td>String</td> |
|
| 285 |
+ </tr> |
|
| 286 |
+ <tr> |
|
| 287 |
+ <th>[data].remainMsgCnt</th> |
|
| 288 |
+ <td>남은 문자 건수</td> |
|
| 289 |
+ <td>String</td> |
|
| 290 |
+ </tr> |
|
| 291 |
+ <tr> |
|
| 292 |
+ <th>[data].totMsgCnt</th> |
|
| 293 |
+ <td>전체 문자 개수</td> |
|
| 294 |
+ <td>String</td> |
|
| 295 |
+ </tr> |
|
| 296 |
+ |
|
| 297 |
+ </tbody> |
|
| 298 |
+ </table> |
|
| 299 |
+ |
|
| 300 |
+ <span class="reqTxt4">* 성공 예시</span> |
|
| 301 |
+ <ul class="clause_list"> |
|
| 302 |
+ <li class="list_open on"> |
|
| 303 |
+ <div class="clause_list_head"> |
|
| 304 |
+ <div class="list_head_in"> |
|
| 305 |
+ <span>Example</span> |
|
| 306 |
+ </div> |
|
| 307 |
+ </div> |
|
| 308 |
+ <div class="clause_list_body"> |
|
| 309 |
+ <table class=""> |
|
| 310 |
+ <colgroup> |
|
| 311 |
+ <col style="width: auto;"> |
|
| 312 |
+ </colgroup> |
|
| 313 |
+ <tbody> |
|
| 314 |
+ <tr> |
|
| 315 |
+ <td class="padding_add"> |
|
| 316 |
+ {
|
|
| 317 |
+ <p> "resultCode":"0"</p> |
|
| 318 |
+ <p> , "data":[</p> |
|
| 319 |
+ <p>  {</p>
|
|
| 320 |
+ <p>   "resultCode":"0"</p> |
|
| 321 |
+ <p>   , "message":null</p> |
|
| 322 |
+ <p>   , "next_yn":null</p> |
|
| 323 |
+ <p>   , "objectList":[</p> |
|
| 324 |
+ <p>    {</p>
|
|
| 325 |
+ <p>     msgTypeName":"단문(SMS)"</p> |
|
| 326 |
+ <p>     ,"msgType":"4"</p> |
|
| 327 |
+ <p>     ,"callFrom":"01011112222"</p> |
|
| 328 |
+ <p>     ,"callTo":"01011112223"</p> |
|
| 329 |
+ <p>     ,"msgGroupCnt":"2"</p> |
|
| 330 |
+ <p>     ,"msgGroupId":"MSGGID_0000000013340"</p> |
|
| 331 |
+ <p>     ,"msgId":"MSGID_0000000000001"</p> |
|
| 332 |
+ <p>     ,"scnt":null</p> |
|
| 333 |
+ <p>     ,"fcnt":null</p> |
|
| 334 |
+ <p>     ,"wcnt":null</p> |
|
| 335 |
+ <p>     ,"msgResult":"S"</p> |
|
| 336 |
+ <p>     ,"smsTxt":"문자 내용 단문 예제"</p> |
|
| 337 |
+ <p>     ,"subject":null</p> |
|
| 338 |
+ <p>     ,"reqdate":"2023-06-13 17:48:08"</p> |
|
| 339 |
+ <p>     ,"curState":"3"</p> |
|
| 340 |
+ <p>     ,"userId":"testuser"</p> |
|
| 341 |
+ <p>     ,"regdate":"2023-06-13 17:48:07"</p> |
|
| 342 |
+ <p>     ,"reserveCYn":"N"</p> |
|
| 343 |
+ <p>     ,"ttlCnt":"10"</p> |
|
| 344 |
+ <p>     ,"remainMsgCnt":"0"</p> |
|
| 345 |
+ <p>     ,"totMsgCnt":"10"</p> |
|
| 346 |
+ <p>    }</p> |
|
| 347 |
+ <p>    , {</p>
|
|
| 348 |
+ <p>     msgTypeName":"단문(LMS)"</p> |
|
| 349 |
+ <p>     ,"msgType":"4"</p> |
|
| 350 |
+ <p>     ,"callFrom":"01011112222"</p> |
|
| 351 |
+ <p>     ,"callTo":"01011112224"</p> |
|
| 352 |
+ <p>     ,"msgGroupCnt":"2"</p> |
|
| 353 |
+ <p>     ,"msgGroupId":"MSGGID_0000000013340"</p> |
|
| 354 |
+ <p>     ,"msgId":"MSGID_0000000000002"</p> |
|
| 355 |
+ <p>     ,"scnt":null</p> |
|
| 356 |
+ <p>     ,"fcnt":null</p> |
|
| 357 |
+ <p>     ,"wcnt":null</p> |
|
| 358 |
+ <p>     ,"msgResult":"S"</p> |
|
| 359 |
+ <p>     ,"smsTxt":"문자 내용 단문 예제"</p> |
|
| 360 |
+ <p>     ,"subject":null</p> |
|
| 361 |
+ <p>     ,"reqdate":"2023-06-13 17:48:09"</p> |
|
| 362 |
+ <p>     ,"curState":"3"</p> |
|
| 363 |
+ <p>     ,"userId":"testuser"</p> |
|
| 364 |
+ <p>     ,"regdate":"2023-06-13 17:48:07"</p> |
|
| 365 |
+ <p>     ,"reserveCYn":"N"</p> |
|
| 366 |
+ <p>     ,"ttlCnt":"10"</p> |
|
| 367 |
+ <p>     ,"remainMsgCnt":"0"</p> |
|
| 368 |
+ <p>     ,"totMsgCnt":"10"</p> |
|
| 369 |
+ <p>    }</p> |
|
| 370 |
+ <p>   ]</p> |
|
| 371 |
+ |
|
| 372 |
+ <p>  }</p> |
|
| 373 |
+ <p> ]</p> |
|
| 374 |
+ } |
|
| 375 |
+ </td> |
|
| 376 |
+ </tr> |
|
| 377 |
+ </tbody> |
|
| 378 |
+ </table> |
|
| 379 |
+ </div> |
|
| 380 |
+ </li> |
|
| 381 |
+ </ul> |
|
| 382 |
+ <span class="reqTxt4">* 실패 예시</span> |
|
| 383 |
+ <ul class="clause_list"> |
|
| 384 |
+ <li class="list_open on"> |
|
| 385 |
+ <div class="clause_list_head"> |
|
| 386 |
+ <div class="list_head_in"> |
|
| 387 |
+ <span>Example</span> |
|
| 388 |
+ </div> |
|
| 389 |
+ </div> |
|
| 390 |
+ <div class="clause_list_body"> |
|
| 391 |
+ <table class=""> |
|
| 392 |
+ <colgroup> |
|
| 393 |
+ <col style="width: auto;"> |
|
| 394 |
+ </colgroup> |
|
| 395 |
+ <tbody> |
|
| 396 |
+ <tr> |
|
| 397 |
+ <td class="padding_add"> |
|
| 398 |
+ {
|
|
| 399 |
+ <p>"resultCode":"4099"</p> |
|
| 400 |
+ <p>,"data":"기타 시스템 오류"</p> |
|
| 147 | 401 |
} |
| 148 | 402 |
</td> |
| 149 | 403 |
</tr> |
--- src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab5.jsp
+++ src/main/webapp/WEB-INF/jsp/web/user/sendRESTAPI_infoPage3_r1_tab5.jsp
... | ... | @@ -4,16 +4,18 @@ |
| 4 | 4 |
|
| 5 | 5 |
<p class="tType1_title">발송가능건수</p> |
| 6 | 6 |
<span class="reqTxt4"> |
| 7 |
- 동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다. |
|
| 7 |
+ 보유한 잔여 포인트로 발송 가능한 잔여 건수를 문자 구분(유형) 별로 조회하실 수 있습니다. |
|
| 8 | 8 |
</br> |
| 9 |
- 발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다. |
|
| 9 |
+ SMS, LMS, MMS로 발송 시 가능한 잔여 건수이며 남은 충전금을 문자유형별로 보냈을 경우 가능한 잔여 건입니다. |
|
| 10 | 10 |
</br> |
| 11 |
- 90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다. |
|
| 11 |
+ 예를 들어 단문 발송 가능 건수 : 20 , 장문 발송 가능 건수 : 7 인 경우 단문 전송 시 20건이 가능하고, 장문으로 전송 시 7건이 가능합니다. |
|
| 12 | 12 |
</span> |
| 13 | 13 |
</br> |
| 14 | 14 |
</br> |
| 15 | 15 |
|
| 16 |
- |
|
| 16 |
+ <p class="tType1_title"> |
|
| 17 |
+ <img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request] |
|
| 18 |
+ </p> |
|
| 17 | 19 |
<ul class="clause_list"> |
| 18 | 20 |
<li class="list_open on"> |
| 19 | 21 |
<div class="clause_list_head"> |
... | ... | @@ -53,9 +55,6 @@ |
| 53 | 55 |
HTTPS 프로토콜을 사용하여 POST로 요청합니다. |
| 54 | 56 |
</span> |
| 55 | 57 |
|
| 56 |
- <p class="tType1_title"> |
|
| 57 |
- <img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자 |
|
| 58 |
- </p> |
|
| 59 | 58 |
<table class="tType2"> |
| 60 | 59 |
<caption></caption> |
| 61 | 60 |
<colgroup> |
... | ... | @@ -85,40 +84,8 @@ |
| 85 | 84 |
<td>String</td> |
| 86 | 85 |
<td>O</td> |
| 87 | 86 |
</tr> |
| 88 |
- <tr> |
|
| 89 |
- <th>callFrom</th> |
|
| 90 |
- <td>발신자 번호 (아이디에 등록되어 있는 번호)</td> |
|
| 91 |
- <td>String</td> |
|
| 92 |
- <td>O</td> |
|
| 93 |
- </tr> |
|
| 94 |
- <tr> |
|
| 95 |
- <th>callToList</th> |
|
| 96 |
- <td>수신자 번호 (콤마(,) 기준으로 입력)</td> |
|
| 97 |
- <td>String</td> |
|
| 98 |
- <td>O</td> |
|
| 99 |
- </tr> |
|
| 100 |
- <tr> |
|
| 101 |
- <th>smsTxt</th> |
|
| 102 |
- <td>메세지 내용</td> |
|
| 103 |
- <td>String (1~2,000Byte)</td> |
|
| 104 |
- <td>O</td> |
|
| 105 |
- </tr> |
|
| 106 |
- <tr> |
|
| 107 |
- <th>nameStr</th> |
|
| 108 |
- <td>메세지 내용에 [*이름*]이 있으면 치환용 이름 입력</td> |
|
| 109 |
- <td>String</td> |
|
| 110 |
- <td>X</td> |
|
| 111 |
- </tr> |
|
| 112 |
- <tr> |
|
| 113 |
- <th>test_yn</th> |
|
| 114 |
- <td>테스트 데이터 여부</td> |
|
| 115 |
- <td>String</td> |
|
| 116 |
- <td>X</td> |
|
| 117 |
- </tr> |
|
| 118 | 87 |
</tbody> |
| 119 | 88 |
</table> |
| 120 |
- <span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span> |
|
| 121 |
- |
|
| 122 | 89 |
|
| 123 | 90 |
<ul class="clause_list"> |
| 124 | 91 |
<li class="list_open on"> |
... | ... | @@ -138,12 +105,146 @@ |
| 138 | 105 |
{<br />
|
| 139 | 106 |
<p>"mberId":"String"</p> |
| 140 | 107 |
<p>,"accessKey":"String"</p> |
| 141 |
- <p>,"callFrom":"String"</p> |
|
| 142 |
- <p>,"callToList":"String"</p> |
|
| 143 |
- <p>,"smsTxt":"String"</p> |
|
| 144 |
- <p>,"nameStr":"String"</p> |
|
| 145 |
- <p>,"callFrom":"String"</p> |
|
| 146 |
- <p>,"test_yn":"( YS | YF )"</p> |
|
| 108 |
+ } |
|
| 109 |
+ </td> |
|
| 110 |
+ </tr> |
|
| 111 |
+ </tbody> |
|
| 112 |
+ </table> |
|
| 113 |
+ </div> |
|
| 114 |
+ </li> |
|
| 115 |
+ </ul> |
|
| 116 |
+ |
|
| 117 |
+ <p class="tType1_title"> |
|
| 118 |
+ <img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response] |
|
| 119 |
+ </p> |
|
| 120 |
+ <span class="reqTxt4"> |
|
| 121 |
+ JSON 객체로 응답 합니다. |
|
| 122 |
+ </span> |
|
| 123 |
+ <table class="tType2"> |
|
| 124 |
+ <caption></caption> |
|
| 125 |
+ <colgroup> |
|
| 126 |
+ <col style="width: 13%;"> |
|
| 127 |
+ <col style="width: auto;"> |
|
| 128 |
+ <col style="width: 20%;"> |
|
| 129 |
+ </colgroup> |
|
| 130 |
+ <thead> |
|
| 131 |
+ <tr> |
|
| 132 |
+ <th>키</th> |
|
| 133 |
+ <th>설명</th> |
|
| 134 |
+ <th>타입</th> |
|
| 135 |
+ </tr> |
|
| 136 |
+ </thead> |
|
| 137 |
+ <tbody> |
|
| 138 |
+ <tr> |
|
| 139 |
+ <th>resultCode</th> |
|
| 140 |
+ <td>성공 여부 ( "0" 아니면 실패 )</td> |
|
| 141 |
+ <td>String</td> |
|
| 142 |
+ </tr> |
|
| 143 |
+ <tr> |
|
| 144 |
+ <th>data</th> |
|
| 145 |
+ <td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td> |
|
| 146 |
+ <td>Object</td> |
|
| 147 |
+ </tr> |
|
| 148 |
+ <tr> |
|
| 149 |
+ <th>[data].longPrice</th> |
|
| 150 |
+ <td>장문 단가</td> |
|
| 151 |
+ <td>String</td> |
|
| 152 |
+ </tr> |
|
| 153 |
+ <tr> |
|
| 154 |
+ <th>[data].longSendPsbltEa</th> |
|
| 155 |
+ <td>장문 발송 가능 건수</td> |
|
| 156 |
+ <td>String</td> |
|
| 157 |
+ </tr> |
|
| 158 |
+ <tr> |
|
| 159 |
+ <th>[data].mberMoney</th> |
|
| 160 |
+ <td>현재 보유 금액</td> |
|
| 161 |
+ <td>String</td> |
|
| 162 |
+ </tr> |
|
| 163 |
+ <tr> |
|
| 164 |
+ <th>[data].message</th> |
|
| 165 |
+ <td>문자</td> |
|
| 166 |
+ <td>String</td> |
|
| 167 |
+ </tr> |
|
| 168 |
+ <tr> |
|
| 169 |
+ <th>[data].picturePrice</th> |
|
| 170 |
+ <td>그림문자 단가</td> |
|
| 171 |
+ <td>String</td> |
|
| 172 |
+ </tr> |
|
| 173 |
+ <tr> |
|
| 174 |
+ <th>[data].pictureSendPsbltEa</th> |
|
| 175 |
+ <td>그림문자 발송 가능 건수</td> |
|
| 176 |
+ <td>String</td> |
|
| 177 |
+ </tr> |
|
| 178 |
+ <tr> |
|
| 179 |
+ <th>[data].shortPrice</th> |
|
| 180 |
+ <td>단문 단가</td> |
|
| 181 |
+ <td>String</td> |
|
| 182 |
+ </tr> |
|
| 183 |
+ <tr> |
|
| 184 |
+ <th>[data].shortSendPsbltEa</th> |
|
| 185 |
+ <td>단문 발송 가능 건수</td> |
|
| 186 |
+ <td>String</td> |
|
| 187 |
+ </tr> |
|
| 188 |
+ </tbody> |
|
| 189 |
+ </table> |
|
| 190 |
+ |
|
| 191 |
+ <span class="reqTxt4">* 성공 예시</span> |
|
| 192 |
+ <ul class="clause_list"> |
|
| 193 |
+ <li class="list_open on"> |
|
| 194 |
+ <div class="clause_list_head"> |
|
| 195 |
+ <div class="list_head_in"> |
|
| 196 |
+ <span>Example</span> |
|
| 197 |
+ </div> |
|
| 198 |
+ </div> |
|
| 199 |
+ <div class="clause_list_body"> |
|
| 200 |
+ <table class=""> |
|
| 201 |
+ <colgroup> |
|
| 202 |
+ <col style="width: auto;"> |
|
| 203 |
+ </colgroup> |
|
| 204 |
+ <tbody> |
|
| 205 |
+ <tr> |
|
| 206 |
+ <td class="padding_add"> |
|
| 207 |
+ {
|
|
| 208 |
+ <p> "resultCode":"0"</p> |
|
| 209 |
+ <p> , "data":[</p> |
|
| 210 |
+ <p>  {</p>
|
|
| 211 |
+ <p>   "longPrice":"50"</p> |
|
| 212 |
+ <p>   , "longSendPsbltEa": "19651"</p> |
|
| 213 |
+ <p>   , "mberMoney": "982586.7"</p> |
|
| 214 |
+ <p>   , "message": null</p> |
|
| 215 |
+ <p>   , "picturePrice": "90"</p> |
|
| 216 |
+ <p>   , "pictureSendPsbltEa": "10917"</p> |
|
| 217 |
+ <p>   , "shortPrice": "18"</p> |
|
| 218 |
+ <p>   , "shortSendPsbltEa": "54588"</p> |
|
| 219 |
+ <p>  }</p> |
|
| 220 |
+ <p> ]</p> |
|
| 221 |
+ } |
|
| 222 |
+ </td> |
|
| 223 |
+ </tr> |
|
| 224 |
+ </tbody> |
|
| 225 |
+ </table> |
|
| 226 |
+ </div> |
|
| 227 |
+ </li> |
|
| 228 |
+ </ul> |
|
| 229 |
+ <span class="reqTxt4">* 실패 예시</span> |
|
| 230 |
+ <ul class="clause_list"> |
|
| 231 |
+ <li class="list_open on"> |
|
| 232 |
+ <div class="clause_list_head"> |
|
| 233 |
+ <div class="list_head_in"> |
|
| 234 |
+ <span>Example</span> |
|
| 235 |
+ </div> |
|
| 236 |
+ </div> |
|
| 237 |
+ <div class="clause_list_body"> |
|
| 238 |
+ <table class=""> |
|
| 239 |
+ <colgroup> |
|
| 240 |
+ <col style="width: auto;"> |
|
| 241 |
+ </colgroup> |
|
| 242 |
+ <tbody> |
|
| 243 |
+ <tr> |
|
| 244 |
+ <td class="padding_add"> |
|
| 245 |
+ {
|
|
| 246 |
+ <p>"resultCode":"5099"</p> |
|
| 247 |
+ <p>,"data":"기타 시스템 오류"</p> |
|
| 147 | 248 |
} |
| 148 | 249 |
</td> |
| 149 | 250 |
</tr> |
--- src/main/webapp/sample_mjon/jsp_example_send_msg_form_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msg_form_r1.jsp
... | ... | @@ -2,141 +2,75 @@ |
| 2 | 2 |
<script type="text/javascript" src="./jquery-3.5.0.js"></script> |
| 3 | 3 |
|
| 4 | 4 |
<script type="text/javascript"> |
| 5 |
- $(document).ready(function(){
|
|
| 6 |
- |
|
| 7 |
- //문자발송 |
|
| 8 |
- $("#ajax_select_price").click(function(){
|
|
| 9 |
- |
|
| 10 |
- $("span#mgi").text("");
|
|
| 11 |
- $("span#sc").text("");
|
|
| 12 |
- $("span#fc").text("");
|
|
| 13 |
- $("span#bc").text("");
|
|
| 14 |
- $("span#mt").text("");
|
|
| 5 |
+ $(document).ready(function(){
|
|
| 6 |
+ |
|
| 7 |
+ //문자발송 함수 |
|
| 8 |
+ $("#ajax_select_price").click(function(){
|
|
| 9 |
+ |
|
| 10 |
+ //문자발송 결과 데이터 수신 전 기존 데이터 초기화 |
|
| 11 |
+ $("span#mgi").text("");
|
|
| 12 |
+ $("span#sc").text("");
|
|
| 13 |
+ $("span#fc").text("");
|
|
| 14 |
+ $("span#bc").text("");
|
|
| 15 |
+ $("span#mt").text("");
|
|
| 16 |
+ |
|
| 17 |
+ //문자발송 API로 전송할 데이터 |
|
| 18 |
+ var searchWebParam = {
|
|
| 19 |
+ 'p_mberId' : $('#mberId').val() //회원 아이디
|
|
| 20 |
+ , 'p_apiKey' : $('#apiKey').val() //api 키
|
|
| 21 |
+ , 'p_callFrom' : $('#callFrom').val() //발신자 번호
|
|
| 22 |
+ , 'p_callToList' : $('#callToList').val()//수신자 번호
|
|
| 23 |
+ , 'p_smsTxt' : $('#smsTxt').val() //문자 내용
|
|
| 24 |
+ , 'p_nameStr' : $('#nameStr').val() //치환용 이름
|
|
| 25 |
+ , 'p_testYn' : $('#testYn').val() //테스트 데이터 여부
|
|
| 26 |
+ }; |
|
| 15 | 27 |
|
| 16 |
- //document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do'; |
|
| 17 |
- //document.updatePasswordForm.submit(); |
|
| 18 |
- |
|
| 19 |
- var searchWebParam = {
|
|
| 20 |
- 'p_mberId' : $('#mberId').val()
|
|
| 21 |
- , 'p_apiKey' : $('#apiKey').val()
|
|
| 22 |
- , 'p_callFrom' : $('#callFrom').val()
|
|
| 23 |
- , 'p_callToList' : $('#callToList').val()
|
|
| 24 |
- , 'p_smsTxt' : $('#smsTxt').val()
|
|
| 25 |
- , 'p_nameStr' : $('#nameStr').val()
|
|
| 26 |
- , 'p_testYn' : $('#testYn').val()
|
|
| 27 |
- //, 'p_eachPrice' : $('#eachPrice').val()
|
|
| 28 |
- //, 'p_sPrice' : $('#sPrice').val()
|
|
| 29 |
- |
|
| 30 |
- }; |
|
| 31 |
- |
|
| 32 |
- //검색 API를 Ajax로 이용 하기 위한 호출 |
|
| 33 |
- $.ajax({
|
|
| 34 |
- url : "./jsp_example_send_msg_r1.jsp", |
|
| 35 |
- //형식을 json으로 받을 것이기 때문에 지정하여 주었습니다. |
|
| 36 |
- dataType : "json", |
|
| 37 |
- async : false, |
|
| 38 |
- type : "POST", |
|
| 39 |
- |
|
| 40 |
- data : searchWebParam, |
|
| 41 |
- |
|
| 42 |
- success: function (returnData, status) {
|
|
| 43 |
- console.log('returnData :: ', returnData);
|
|
| 44 |
- |
|
| 45 |
- if (returnData.resultCode=="0"){
|
|
| 46 |
- //makeResult(returnData); |
|
| 47 |
- |
|
| 48 |
- $("span#mgi").text(returnData.data.msgGroupId);
|
|
| 49 |
- $("span#sc").text(returnData.data.successCnt);
|
|
| 50 |
- $("span#fc").text(returnData.data.failCnt);
|
|
| 51 |
- $("span#bc").text(returnData.data.blockCnt);
|
|
| 52 |
- $("span#mt").text(returnData.data.msgType);
|
|
| 53 |
- |
|
| 54 |
- } else{
|
|
| 55 |
- alert(returnData.resultCode+" : "+returnData.data); |
|
| 56 |
- } |
|
| 57 |
- |
|
| 58 |
- }, |
|
| 59 |
- |
|
| 60 |
- error : function(request, status, error){
|
|
| 61 |
- alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 62 |
- console.log("AJAX_ERROR");
|
|
| 63 |
- } |
|
| 64 |
- }); |
|
| 28 |
+ //문자발송 REST API를 Ajax로 이용하기 위한 호출 |
|
| 29 |
+ $.ajax({
|
|
| 30 |
+ url : "./jsp_example_send_msg_r1.jsp", //요청 URL |
|
| 31 |
+ dataType : "json", //요청 값을 json으로 수신 |
|
| 32 |
+ async : false, |
|
| 33 |
+ type : "POST", //POST 방식 |
|
| 65 | 34 |
|
| 66 |
- }); |
|
| 67 |
- }); |
|
| 68 |
- |
|
| 69 |
- |
|
| 70 |
- function makeResult(p_returnData){
|
|
| 71 |
- |
|
| 72 |
- var v_html = ""; |
|
| 73 |
- |
|
| 74 |
- try {
|
|
| 75 |
- for (var i=0;i<p_returnData.objectList.length;i++){
|
|
| 76 |
- v_html += "<tr>"; |
|
| 77 |
- v_html += "<td>"; |
|
| 78 |
- v_html += p_returnData.objectList[i].msgGroupId; |
|
| 79 |
- v_html += "</td>"; |
|
| 80 |
- v_html += "<td>"; |
|
| 81 |
- v_html += p_returnData.objectList[i].msgTypeName; |
|
| 82 |
- v_html += "</td>"; |
|
| 83 |
- v_html += "<td>"; |
|
| 84 |
- v_html += p_returnData.objectList[i].callFrom; |
|
| 85 |
- v_html += "</td>"; |
|
| 86 |
- v_html += "<td>"; |
|
| 87 |
- v_html += p_returnData.objectList[i].ttlCnt; |
|
| 88 |
- v_html += "</td>"; |
|
| 89 |
- v_html += "<td>"; |
|
| 90 |
- v_html += p_returnData.objectList[i].sCnt; |
|
| 91 |
- v_html += "</td>"; |
|
| 92 |
- v_html += "<td>"; |
|
| 93 |
- v_html += p_returnData.objectList[i].fCnt; |
|
| 94 |
- v_html += "</td>"; |
|
| 95 |
- v_html += "<td>"; |
|
| 96 |
- v_html += p_returnData.objectList[i].wCnt; |
|
| 97 |
- v_html += "</td>"; |
|
| 98 |
- v_html += "<td>"; |
|
| 99 |
- v_html += p_returnData.objectList[i].msgResult; |
|
| 100 |
- v_html += "</td>"; |
|
| 101 |
- |
|
| 102 |
- v_html += "<td>"; |
|
| 103 |
- v_html += p_returnData.objectList[i].smsTxt.substring(1,20); |
|
| 104 |
- v_html += "</td>"; |
|
| 105 |
- v_html += "<td>"; |
|
| 106 |
- v_html += p_returnData.objectList[i].regdate; |
|
| 107 |
- v_html += "</td>"; |
|
| 108 |
- v_html += "<td>"; |
|
| 109 |
- v_html += p_returnData.objectList[i].reqdate; |
|
| 110 |
- v_html += "</td>"; |
|
| 111 |
- v_html += "<td>"; |
|
| 112 |
- v_html += p_returnData.objectList[i].remainMsgCnt; |
|
| 113 |
- v_html += "</td>"; |
|
| 114 |
- v_html += "</tr>"; |
|
| 115 |
- } |
|
| 116 |
- |
|
| 117 |
- } catch (error) {
|
|
| 118 |
- console.error(error); |
|
| 119 |
- // Expected output: ReferenceError: nonExistentFunction is not defined |
|
| 120 |
- // (Note: the exact output may be browser-dependent) |
|
| 35 |
+ data : searchWebParam, |
|
| 36 |
+ |
|
| 37 |
+ success: function (returnData, status) {
|
|
| 38 |
+ console.log('returnData :: ', returnData);
|
|
| 39 |
+ |
|
| 40 |
+ if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
|
| 41 |
+ |
|
| 42 |
+ $("span#mgi").text(returnData.data.msgGroupId);
|
|
| 43 |
+ $("span#sc").text(returnData.data.successCnt);
|
|
| 44 |
+ $("span#fc").text(returnData.data.failCnt);
|
|
| 45 |
+ $("span#bc").text(returnData.data.blockCnt);
|
|
| 46 |
+ $("span#mt").text(returnData.data.msgType);
|
|
| 47 |
+ |
|
| 48 |
+ } else{ //결과가 실패인 경우 원인 노출
|
|
| 49 |
+ alert(returnData.resultCode+" : "+returnData.data); |
|
| 50 |
+ } |
|
| 51 |
+ |
|
| 52 |
+ }, |
|
| 53 |
+ |
|
| 54 |
+ error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
|
| 55 |
+ alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 56 |
+ console.log("AJAX_ERROR");
|
|
| 121 | 57 |
} |
| 122 |
- |
|
| 123 |
- v_html += ""; |
|
| 124 |
- |
|
| 125 |
- |
|
| 126 |
- //$('#divResult').append("aaaaaa");
|
|
| 127 |
- $('#dynamicTbody').html(v_html);
|
|
| 128 |
- } |
|
| 129 |
- </script> |
|
| 58 |
+ }); |
|
| 59 |
+ |
|
| 60 |
+ }); |
|
| 61 |
+ }); |
|
| 62 |
+ |
|
| 63 |
+ </script> |
|
| 130 | 64 |
|
| 131 | 65 |
|
| 132 | 66 |
<div class="inner"> |
| 133 |
- <!-- send top --> |
|
| 134 | 67 |
<div class="send_top"> |
| 135 | 68 |
|
| 136 | 69 |
<div class="mypage_content current" id="tab5_3"> |
| 137 | 70 |
<div class="heading"> |
| 138 | 71 |
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2> |
| 139 | 72 |
<br/> |
| 73 |
+ <!-- 문자발송 설명 및 입력 영역 시작 --> |
|
| 140 | 74 |
<h2>문자발송(샘플-문자온)</h2> |
| 141 | 75 |
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요 |
| 142 | 76 |
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.) |
... | ... | @@ -156,81 +90,73 @@ |
| 156 | 90 |
</div> |
| 157 | 91 |
</div> |
| 158 | 92 |
|
| 93 |
+ <!-- 발신자 번호 --> |
|
| 159 | 94 |
<div class="input_list_item"> |
| 160 | 95 |
<div class="input_left">callFrom |
| 161 | 96 |
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/> |
| 162 | 97 |
</div> |
| 163 | 98 |
</div> |
| 99 |
+ |
|
| 100 |
+ <!-- 수신자 번호 --> |
|
| 164 | 101 |
<div class="input_list_item"> |
| 165 | 102 |
<div class="input_left">callToList |
| 166 | 103 |
<input type="text" class="list_inputType1" id="callToList" maxlength="100" value="01022265487,01063170387,01011112222" size="100"/> |
| 167 | 104 |
</div> |
| 168 | 105 |
</div> |
| 106 |
+ |
|
| 107 |
+ <!-- 문자 내용 --> |
|
| 169 | 108 |
<div class="input_list_item"> |
| 170 | 109 |
<div class="input_left">smsTxt |
| 171 | 110 |
<input type="text" class="list_inputType1" id="smsTxt" maxlength="100" value="문자 테스트~![*이름*]" size="100"/> |
| 172 | 111 |
</div> |
| 173 | 112 |
</div> |
| 113 |
+ |
|
| 114 |
+ <!-- 치환용 이름 --> |
|
| 174 | 115 |
<div class="input_list_item"> |
| 175 | 116 |
<div class="input_left">nameStr |
| 176 | 117 |
<input type="text" class="list_inputType1" id="nameStr" maxlength="100" value="홍길동1|홍길동2|홍길동3" size="100"/> |
| 177 | 118 |
</div> |
| 178 | 119 |
</div> |
| 120 |
+ |
|
| 121 |
+ <!-- 테스트 여부 --> |
|
| 179 | 122 |
<div class="input_list_item"> |
| 180 | 123 |
<div class="input_left">테스트여부 |
| 181 | 124 |
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공) |
| 182 | 125 |
</div> |
| 183 | 126 |
</div> |
| 184 |
- <!-- |
|
| 185 |
- <div class="input_list_item"> |
|
| 186 |
- <div class="input_left">eachPrice |
|
| 187 |
- <input type="text" class="list_inputType1" id="eachPrice" maxlength="100" value="" size="100"/>(기본값 내일) |
|
| 188 |
- </div> |
|
| 189 |
- </div> |
|
| 190 |
- <div class="input_list_item"> |
|
| 191 |
- <div class="input_left">sPrice |
|
| 192 |
- <input type="text" class="list_inputType1" id="sPrice" maxlength="100" value="" size="100"/>(기본값 내일) |
|
| 193 |
- </div> |
|
| 194 |
- </div> |
|
| 195 |
- --> |
|
| 196 |
- |
|
| 197 |
- |
|
| 127 |
+ <!-- 문자발송 설명 및 입력 영역 끝 --> |
|
| 198 | 128 |
<div class="mem_btnWrap2"> |
| 199 | 129 |
<button type="button" class="mem_btn3" style="width: 100%;" id="ajax_select_price" onclick="return false;">문자발송</button> |
| 200 |
- |
|
| 201 | 130 |
</div> |
| 202 | 131 |
|
| 203 | 132 |
</div> |
| 204 | 133 |
</div> |
| 205 | 134 |
|
| 135 |
+ <!-- 문자 발송 결과값 노출 영역 시작 --> |
|
| 206 | 136 |
<div class="mem_cont_in"> |
| 207 | 137 |
<div class="input_list"> |
| 208 | 138 |
<div class="input_list_item"> |
| 209 | 139 |
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span> |
| 210 | 140 |
</div> |
| 211 | 141 |
|
| 212 |
- <div class="input_left">성공수량 : <span class="input_left" id="sc"></span> |
|
| 142 |
+ <div class="input_left">성공수량 : <span class="input_left" id="sc"></span> |
|
| 213 | 143 |
</div> |
| 214 | 144 |
|
| 215 |
- <div class="input_left">실패수량 : <span class="input_left" id="fc"></span> |
|
| 145 |
+ <div class="input_left">실패수량 : <span class="input_left" id="fc"></span> |
|
| 216 | 146 |
</div> |
| 217 | 147 |
|
| 218 |
- <div class="input_left">block수량 : <span class="input_left" id="bc"></span> |
|
| 148 |
+ <div class="input_left">block수량 : <span class="input_left" id="bc"></span> |
|
| 219 | 149 |
</div> |
| 220 | 150 |
|
| 221 |
- <div class="input_left">메세지타입 : <span class="input_left" id="mt"></span> |
|
| 151 |
+ <div class="input_left">메세지타입 : <span class="input_left" id="mt"></span> |
|
| 222 | 152 |
</div> |
| 223 |
- |
|
| 224 | 153 |
</div> |
| 225 |
- |
|
| 226 | 154 |
</div> |
| 227 | 155 |
</div> |
| 228 |
- |
|
| 156 |
+ <!-- 문자발송 결과값 노출 영역 끝 --> |
|
| 229 | 157 |
|
| 230 | 158 |
</div> |
| 231 |
- <!--// 마이페이지 - 비밀번호 변경 --> |
|
| 159 |
+ |
|
| 232 | 160 |
</div> |
| 233 |
- <!--// send top --> |
|
| 234 | 161 |
</div> |
| 235 |
-<!--// content 영역 --> |
|
| 236 | 162 |
|
--- src/main/webapp/sample_mjon/jsp_example_send_msg_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msg_r1.jsp
... | ... | @@ -19,62 +19,45 @@ |
| 19 | 19 |
<% |
| 20 | 20 |
try{
|
| 21 | 21 |
//기본 설정값 |
| 22 |
- //final String encodingType = "utf-8"; |
|
| 23 | 22 |
final String encodingType = "UTF-8"; |
| 24 | 23 |
final String boundary = "____boundary____"; |
| 25 | 24 |
|
| 26 |
- //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요 |
|
| 25 |
+ /******************** 전송 요청 URL ********************/ |
|
| 26 |
+ //final String apiUrl = "http://localhost:8088/api/send/sendMsg"; |
|
| 27 |
+ final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg"; //개발테스트용 URL |
|
| 28 |
+ //final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL |
|
| 29 |
+ |
|
| 30 |
+ //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용 |
|
| 27 | 31 |
//실제서비스용 |
| 28 |
- //final String mberId = "goodgkdus"; //문자온 로그인 아이디 |
|
| 32 |
+ //final String mberId = "goodgkdus"; //문자온 로그인 아이디 |
|
| 29 | 33 |
//final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key |
| 30 | 34 |
|
| 31 | 35 |
//테스트용 |
| 32 | 36 |
String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
| 33 | 37 |
String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
| 34 | 38 |
|
| 39 |
+ /******************** 전송 정보 ********************/ |
|
| 40 |
+ //필수 값 |
|
| 41 |
+ String p_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
|
| 42 |
+ String p_callToList = request.getParameter("p_callToList"); //수신자 번호
|
|
| 43 |
+ String p_smsTxt = request.getParameter("p_smsTxt"); //문자 내용
|
|
| 35 | 44 |
|
| 36 |
- /**************** 문자전송하기 예제 ******************/ |
|
| 37 |
- /* "result_code":결과코드,"message":결과문구, */ |
|
| 38 |
- /* "msg_id":메세지ID,"error_cnt":에러갯수,"success_cnt":성공갯수 */ |
|
| 39 |
- /* 동일내용 > 전송용 입니다. |
|
| 40 |
- /******************** 인증정보 ********************/ |
|
| 41 |
- //String sms_url = "https://apis.aligo.in/send/"; // 전송요청 URL |
|
| 42 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessTest/Test"; // 전송요청 URL |
|
| 43 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessKey/SendMsg"; // 전송요청 URL |
|
| 44 |
- |
|
| 45 |
- final String apiUrl = "http://localhost:8088/api/send/sendMsg"; |
|
| 46 |
-// final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg"; |
|
| 45 |
+ //선택 값 |
|
| 46 |
+ String p_nameStr = request.getParameter("p_nameStr"); //치환용 이름
|
|
| 47 |
+ String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
|
| 47 | 48 |
|
| 48 |
- Map<String, String> params = new HashMap<String, String>(); |
|
| 49 |
- /******************** 인증정보 ********************/ |
|
| 49 |
+ /* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */ |
|
| 50 | 50 |
|
| 51 |
- |
|
| 52 |
- //임시 - 테스트용 시작 |
|
| 53 |
- //String p_mberId = request.getParameter("p_mberId"); //발신번호
|
|
| 54 |
- //String p_accessKey = request.getParameter("p_accessKey"); //수신번호
|
|
| 55 |
- //sms.put("mberId", p_mberId); // SMS 아이디
|
|
| 56 |
- //sms.put("accessKey", p_accessKey); //인증키
|
|
| 57 |
- //임시 - 테스트용 끝 |
|
| 58 |
- /******************** 전송정보 ********************/ |
|
| 59 |
- //전달 받은 값 |
|
| 60 |
- //필수값 |
|
| 61 |
- String p_callFrom = request.getParameter("p_callFrom"); //발신번호
|
|
| 62 |
- String p_callToList = request.getParameter("p_callToList"); //수신번호
|
|
| 63 |
- String p_eachPrice = request.getParameter("p_eachPrice"); //전송문자 개별가격
|
|
| 64 |
- //String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
| 65 |
- String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
| 66 |
- //String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
| 51 |
+ //String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
| 52 |
+ //String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
| 53 |
+ //String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
| 67 | 54 |
//String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
| 68 |
- //String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함 |
|
| 69 |
- //String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
|
| 70 |
- //String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
|
| 71 |
- //String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함 |
|
| 72 |
- String p_smsTxt = request.getParameter("p_smsTxt"); //SMS용 메시지본문
|
|
| 73 |
- String p_nameStr = request.getParameter("p_nameStr"); //치환문자
|
|
| 74 |
- String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS'
|
|
| 75 |
- |
|
| 76 |
- //선택값 |
|
| 77 |
- //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms단가
|
|
| 55 |
+ //String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함 |
|
| 56 |
+ //String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
|
| 57 |
+ //String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
|
| 58 |
+ //String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함 |
|
| 59 |
+ |
|
| 60 |
+ //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms단가
|
|
| 78 | 61 |
//String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
| 79 | 62 |
//String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
| 80 | 63 |
|
... | ... | @@ -84,19 +67,23 @@ |
| 84 | 67 |
//String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
| 85 | 68 |
//String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
| 86 | 69 |
|
| 87 |
- // 필수 데이터 |
|
| 88 |
- params.put("mberId", mberId); // SMS 아이디
|
|
| 89 |
- params.put("accessKey", apiKey); //인증키
|
|
| 90 |
- //추가 전송 데이터 |
|
| 91 |
- params.put("callFrom" , p_callFrom); //발신번호
|
|
| 92 |
- params.put("callToList" , p_callToList); //수신번호
|
|
| 93 |
- //params.put("eachPrice" , p_eachPrice); //전송문자 개별가격
|
|
| 94 |
- //params.put("sPrice" , p_sPrice); //단문문자단가
|
|
| 95 |
- params.put("smsTxt" , p_smsTxt); //SMS용 메시지본문
|
|
| 96 |
- params.put("nameStr" , p_nameStr); //페이지당 출력갯수
|
|
| 97 |
- params.put("test_yn" , p_testYn); //테스트 여부
|
|
| 70 |
+ /* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */ |
|
| 71 |
+ |
|
| 72 |
+ Map<String, String> params = new HashMap<String, String>(); |
|
| 98 | 73 |
|
| 99 |
- |
|
| 74 |
+ //필수 전송 데이터 |
|
| 75 |
+ params.put("mberId", mberId); //회원 아이디
|
|
| 76 |
+ params.put("accessKey", apiKey); //인증키
|
|
| 77 |
+ params.put("callFrom" , p_callFrom); //발신자 번호
|
|
| 78 |
+ params.put("callToList" , p_callToList); //수신자 번호
|
|
| 79 |
+ params.put("smsTxt" , p_smsTxt); //문자 내용
|
|
| 80 |
+ |
|
| 81 |
+ //선택 전송 데이터 |
|
| 82 |
+ params.put("nameStr" , p_nameStr); //치환용 이름
|
|
| 83 |
+ params.put("test_yn" , p_testYn); //테스트 데이터 여부
|
|
| 84 |
+ |
|
| 85 |
+ |
|
| 86 |
+ //REST API 전송 |
|
| 100 | 87 |
String result = ""; |
| 101 | 88 |
|
| 102 | 89 |
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); |
... | ... | @@ -111,17 +98,15 @@ |
| 111 | 98 |
//전달값이 없는 경우 오류 |
| 112 | 99 |
try{
|
| 113 | 100 |
builder.addTextBody(key, params.get(key) |
| 114 |
- , ContentType.create("Multipart/related", encodingType));
|
|
| 101 |
+ , ContentType.create("Multipart/related", encodingType));
|
|
| 115 | 102 |
}catch(Exception ex){
|
| 116 | 103 |
ex.printStackTrace(); |
| 117 |
- |
|
| 118 |
- } |
|
| 119 |
- |
|
| 120 |
- } |
|
| 104 |
+ } |
|
| 105 |
+ } |
|
| 121 | 106 |
}catch(Exception ex){
|
| 122 | 107 |
ex.printStackTrace(); |
| 123 | 108 |
|
| 124 |
- } |
|
| 109 |
+ } |
|
| 125 | 110 |
|
| 126 | 111 |
HttpEntity entity = builder.build(); |
| 127 | 112 |
|
... | ... | @@ -146,4 +131,8 @@ |
| 146 | 131 |
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
| 147 | 132 |
} |
| 148 | 133 |
|
| 134 |
+ |
|
| 135 |
+ /**************** 문자발송 Response 예제 ******************/ |
|
| 136 |
+ /* "result_code": 결과코드, "msgGroupId": 메세지 그룹 ID, "msgType": 메세지 타입 */ |
|
| 137 |
+ /* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수*/ |
|
| 149 | 138 |
%>(No newline at end of file) |
--- src/main/webapp/sample_mjon/jsp_example_send_msgs_form_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msgs_form_r1.jsp
... | ... | @@ -2,110 +2,100 @@ |
| 2 | 2 |
<script type="text/javascript" src="./jquery-3.5.0.js"></script> |
| 3 | 3 |
|
| 4 | 4 |
<script type="text/javascript"> |
| 5 |
- $(document).ready(function(){
|
|
| 5 |
+ $(document).ready(function(){
|
|
| 6 | 6 |
|
| 7 |
- //대량문자발송 |
|
| 8 |
- $("#ajax_select_price").click(function(){
|
|
| 7 |
+ //대량문자발송 |
|
| 8 |
+ $("#ajax_select_price").click(function(){
|
|
| 9 | 9 |
|
| 10 |
- $("span#mgi").text("");
|
|
| 11 |
- $("span#sc").text("");
|
|
| 12 |
- $("span#fc").text("");
|
|
| 13 |
- $("span#bc").text("");
|
|
| 14 |
- $("span#mt").text("");
|
|
| 10 |
+ $("span#mgi").text("");
|
|
| 11 |
+ $("span#sc").text("");
|
|
| 12 |
+ $("span#fc").text("");
|
|
| 13 |
+ $("span#bc").text("");
|
|
| 14 |
+ $("span#mt").text("");
|
|
| 15 |
+ |
|
| 16 |
+ //문자발송 API로 전송할 데이터 |
|
| 17 |
+ var searchWebParam = {
|
|
| 18 |
+ 'p_mberId' : $('#mberId').val()
|
|
| 19 |
+ , 'p_apiKey' : $('#apiKey').val()
|
|
| 20 |
+ , 'p_callFrom' : $('#callFrom').val()
|
|
| 21 |
+ , 'p_testYn' : $('#testYn').val()
|
|
| 22 |
+ }; |
|
| 23 |
+ |
|
| 24 |
+ var tagId = ""; |
|
| 25 |
+ //전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기 |
|
| 26 |
+ $.each($('.input_list input'), function (index, tag){
|
|
| 27 |
+ tagId = $(tag).attr('id');
|
|
| 28 |
+ if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
| 29 |
+ searchWebParam[tagId] = $(tag).val(); |
|
| 30 |
+ } |
|
| 31 |
+ }); |
|
| 32 |
+ |
|
| 33 |
+ //문자발송 REST API를 Ajax로 이용하기 위한 호출 |
|
| 34 |
+ $.ajax({
|
|
| 35 |
+ url : "./jsp_example_send_msgs_r1.jsp", //요청 URL |
|
| 36 |
+ dataType : "json", //요청 값을 json으로 수신 |
|
| 37 |
+ async : false, |
|
| 38 |
+ type : "POST", //POST 방식 |
|
| 39 |
+ |
|
| 40 |
+ data : searchWebParam, |
|
| 41 |
+ |
|
| 42 |
+ success: function (returnData, status) {
|
|
| 15 | 43 |
|
| 16 |
- //document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do'; |
|
| 17 |
- //document.updatePasswordForm.submit(); |
|
| 18 |
- |
|
| 19 |
- var searchWebParam = {
|
|
| 20 |
- 'p_mberId' : $('#mberId').val()
|
|
| 21 |
- , 'p_apiKey' : $('#apiKey').val()
|
|
| 22 |
- |
|
| 23 |
- , 'p_callFrom' : $('#callFrom').val()
|
|
| 24 |
- , 'p_testYn' : $('#testYn').val()
|
|
| 25 |
- |
|
| 26 |
- }; |
|
| 27 |
- |
|
| 28 |
- var tagId = ""; |
|
| 29 |
- $.each($('.input_list input'), function (index, tag){
|
|
| 44 |
+ console.log('returnData : ', returnData);
|
|
| 45 |
+ |
|
| 46 |
+ if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
|
| 47 |
+ $("span#mgi").text(returnData.data.msgGroupIdList);
|
|
| 48 |
+ $("span#sc").text(returnData.data.successCnt);
|
|
| 49 |
+ $("span#fc").text(returnData.data.failCnt);
|
|
| 50 |
+ $("span#bc").text(returnData.data.blockCnt);
|
|
| 51 |
+ $("span#mt").text(returnData.data.msgTypeList);
|
|
| 30 | 52 |
|
| 31 |
- tagId = $(tag).attr('id');
|
|
| 32 |
- if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
| 33 |
- |
|
| 34 |
- searchWebParam[tagId] = $(tag).val(); |
|
| 35 |
- } |
|
| 36 |
- }); |
|
| 37 |
- |
|
| 38 |
- //검색 API를 Ajax로 이용 하기 위한 호출 |
|
| 39 |
- $.ajax({
|
|
| 40 |
- url : "./jsp_example_send_msgs_r1.jsp", |
|
| 41 |
- //형식을 json으로 받을 것이기 때문에 지정하여 주었습니다. |
|
| 42 |
- dataType : "json", |
|
| 43 |
- async : false, |
|
| 44 |
- type : "POST", |
|
| 45 |
- |
|
| 46 |
- data : searchWebParam, |
|
| 47 |
- |
|
| 48 |
- success: function (returnData, status) {
|
|
| 49 |
- |
|
| 50 |
- console.log('returnData : ', returnData);
|
|
| 51 |
- |
|
| 52 |
- if (returnData.resultCode=="0"){
|
|
| 53 |
- $("span#mgi").text(returnData.data.msgGroupIdList);
|
|
| 54 |
- $("span#sc").text(returnData.data.successCnt);
|
|
| 55 |
- $("span#fc").text(returnData.data.failCnt);
|
|
| 56 |
- $("span#bc").text(returnData.data.blockCnt);
|
|
| 57 |
- $("span#mt").text(returnData.data.msgTypeList);
|
|
| 58 |
- |
|
| 59 |
- } else{
|
|
| 60 |
- alert(returnData.resultCode+" : "+returnData.data); |
|
| 61 |
- } |
|
| 62 |
- |
|
| 63 |
- }, |
|
| 64 |
- |
|
| 65 |
- error : function(request, status, error){
|
|
| 66 |
- alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 67 |
- console.log("AJAX_ERROR");
|
|
| 68 |
- } |
|
| 69 |
- }); |
|
| 53 |
+ } else{ //결과가 실패인 경우 원인 노출
|
|
| 54 |
+ alert(returnData.resultCode+" : "+returnData.data); |
|
| 55 |
+ } |
|
| 70 | 56 |
|
| 71 |
- }); |
|
| 57 |
+ }, |
|
| 58 |
+ |
|
| 59 |
+ error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
|
| 60 |
+ alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 61 |
+ console.log("AJAX_ERROR");
|
|
| 62 |
+ } |
|
| 63 |
+ }); |
|
| 72 | 64 |
|
| 73 |
- // 수신자 추가 버튼 |
|
| 74 |
- $('#sendAdd').click(function(){
|
|
| 65 |
+ }); |
|
| 75 | 66 |
|
| 76 |
- |
|
| 77 |
- var nextId = $('.callTo').length+1;
|
|
| 78 |
- var textData = '<div class="input_list_item">' |
|
| 79 |
- + '<div class="input_left">p_callTo_'+nextId+'' |
|
| 80 |
- + '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">' |
|
| 81 |
- + '</div>' |
|
| 82 |
- +'</div>' |
|
| 83 |
- +'<div class="input_list_item">' |
|
| 84 |
- + '<div class="input_left">p_smsTxt_'+nextId+'' |
|
| 85 |
- + '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">' |
|
| 86 |
- + '</div>' |
|
| 87 |
- +'</div>' |
|
| 67 |
+ // 수신자 추가 버튼 |
|
| 68 |
+ $('#sendAdd').click(function(){
|
|
| 69 |
+ |
|
| 70 |
+ |
|
| 71 |
+ var nextId = $('.callTo').length+1;
|
|
| 72 |
+ var textData = '<div class="input_list_item">' |
|
| 73 |
+ + '<div class="input_left">p_callTo_'+nextId+'' |
|
| 74 |
+ + '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">' |
|
| 75 |
+ + '</div>' |
|
| 76 |
+ +'</div>' |
|
| 77 |
+ +'<div class="input_list_item">' |
|
| 78 |
+ + '<div class="input_left">p_smsTxt_'+nextId+'' |
|
| 79 |
+ + '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">' |
|
| 80 |
+ + '</div>' |
|
| 81 |
+ +'</div>' |
|
| 88 | 82 |
; |
| 89 |
- |
|
| 90 |
- $('.input_list').append(textData);
|
|
| 91 |
- |
|
| 83 |
+ $('.input_list').append(textData);
|
|
| 84 |
+ |
|
| 85 |
+ }); |
|
| 92 | 86 |
|
| 93 |
- |
|
| 94 |
- }); |
|
| 95 |
- |
|
| 96 |
- }); |
|
| 87 |
+ }); |
|
| 97 | 88 |
|
| 98 |
- </script> |
|
| 99 |
- |
|
| 89 |
+ </script> |
|
| 100 | 90 |
|
| 101 | 91 |
<div class="inner"> |
| 102 |
- <!-- send top --> |
|
| 103 | 92 |
<div class="send_top"> |
| 104 | 93 |
|
| 105 | 94 |
<div class="mypage_content current" id="tab5_3"> |
| 106 | 95 |
<div class="heading"> |
| 107 | 96 |
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2> |
| 108 |
- <br/> |
|
| 97 |
+ <br/> |
|
| 98 |
+ <!-- 문자발송 설명 및 입력 영역 시작 --> |
|
| 109 | 99 |
<h2>대량문자발송(샘플-문자온)</h2> |
| 110 | 100 |
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요 |
| 111 | 101 |
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.) |
... | ... | @@ -115,7 +105,6 @@ |
| 115 | 105 |
<div class="mem_cont_in"> |
| 116 | 106 |
|
| 117 | 107 |
<div class="mem_btnWrap2"> |
| 118 |
-<!-- <button type="button" class="mem_btn3" style="width: 100%;" onclick="insertPw();">변경</button> --> |
|
| 119 | 108 |
<button type="button" class="mem_btn3" style="width: 50%;" id="sendAdd" onclick="return false;">수신자 추가</button> |
| 120 | 109 |
</div> |
| 121 | 110 |
|
... | ... | @@ -136,29 +125,37 @@ |
| 136 | 125 |
</div> |
| 137 | 126 |
</div> |
| 138 | 127 |
|
| 128 |
+ <!-- 발신자 번호 --> |
|
| 139 | 129 |
<div class="input_list_item"> |
| 140 | 130 |
<div class="input_left">callFrom |
| 141 | 131 |
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/> |
| 142 | 132 |
</div> |
| 143 | 133 |
</div> |
| 134 |
+ |
|
| 135 |
+ <!-- 테스트 여부 --> |
|
| 144 | 136 |
<div class="input_list_item"> |
| 145 | 137 |
<div class="input_left">테스트여부 |
| 146 | 138 |
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공) |
| 147 | 139 |
</div> |
| 148 | 140 |
</div> |
| 141 |
+ |
|
| 142 |
+ <!-- 수신자 번호 1--> |
|
| 149 | 143 |
<div class="input_list_item"> |
| 150 | 144 |
<div class="input_left">p_callTo_1 |
| 151 | 145 |
<input type="text" class="list_inputType1 callTo" id="p_callTo_1" maxlength="100" value="01083584250"> |
| 152 | 146 |
</div> |
| 153 | 147 |
</div> |
| 148 |
+ <!-- 문자 내용 1 --> |
|
| 154 | 149 |
<div class="input_list_item"> |
| 155 | 150 |
<div class="input_left">p_smsTxt_1 |
| 156 | 151 |
<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_1" maxlength="100" value="testMsg"> |
| 157 | 152 |
</div> |
| 158 | 153 |
</div> |
| 154 |
+ <!-- 문자발송 설명 및 입력 영역 끝 --> |
|
| 159 | 155 |
</div> |
| 160 | 156 |
</div> |
| 161 | 157 |
|
| 158 |
+ <!-- 문자 발송 결과값 노출 영역 시작 --> |
|
| 162 | 159 |
<div class="mem_cont_in"> |
| 163 | 160 |
<div class="input_list_item"> |
| 164 | 161 |
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span> |
... | ... | @@ -178,11 +175,7 @@ |
| 178 | 175 |
|
| 179 | 176 |
</div> |
| 180 | 177 |
</div> |
| 181 |
- |
|
| 178 |
+ <!-- 문자발송 결과값 노출 영역 끝 --> |
|
| 182 | 179 |
</div> |
| 183 |
- <!--// 마이페이지 - 비밀번호 변경 --> |
|
| 184 | 180 |
</div> |
| 185 |
- <!--// send top --> |
|
| 186 | 181 |
</div> |
| 187 |
-<!--// content 영역 --> |
|
| 188 |
- |
--- src/main/webapp/sample_mjon/jsp_example_send_msgs_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_send_msgs_r1.jsp
... | ... | @@ -18,94 +18,76 @@ |
| 18 | 18 |
<%@ page language="java" contentType="text/html; charset=utf-8 " pageEncoding="utf-8"%> |
| 19 | 19 |
<% |
| 20 | 20 |
try{
|
| 21 |
- //기본 ì¤ì ê° |
|
| 22 |
- //final String encodingType = "utf-8"; |
|
| 21 |
+ //기본 설정값 |
|
| 23 | 22 |
final String encodingType = "UTF-8"; |
| 24 | 23 |
final String boundary = "____boundary____"; |
| 25 | 24 |
|
| 26 |
- //íììì´ë, APIKEY - ë³´ìì ìí´ ì¤ì ìë¹ì¤ ììë ì´ê³³ì mberIdì apiKey ê°ì ì ì´ì ì¬ì©í´ì£¼ì¸ì |
|
| 27 |
- //ì¤ì ìë¹ì¤ì© |
|
| 28 |
- //final String mberId = "goodgkdus"; //문ìì¨ ë¡ê·¸ì¸ ìì´ë |
|
| 29 |
- //final String apiKey = "12e749877379aa7426275414050694b953"; //ë°ê¸ë°ì api key |
|
| 25 |
+ /******************** 전송 요청 URL ********************/ |
|
| 26 |
+ //String apiUrl = "http://localhost:8088/api/send/sendMsgs"; |
|
| 27 |
+ //final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL |
|
| 28 |
+ String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; //개발테스트용 URL |
|
| 30 | 29 |
|
| 31 |
- //í ì¤í¸ì© |
|
| 32 |
- String mberId = request.getParameter("p_mberId"); //문ìì¨ ë¡ê·¸ì¸ ìì´ë
|
|
| 33 |
- String apiKey = request.getParameter("p_apiKey"); //ë°ê¸ë°ì api key
|
|
| 30 |
+ //회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용 |
|
| 31 |
+ //실제서비스용 |
|
| 32 |
+ //final String mberId = "goodgkdus"; //문자온 로그인 아이디 |
|
| 33 |
+ //final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key |
|
| 34 |
+ |
|
| 35 |
+ //테스트용 |
|
| 36 |
+ String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
|
| 37 |
+ String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
|
| 34 | 38 |
|
| 39 |
+ /******************** 전송 정보 ********************/ |
|
| 40 |
+ //필수 값 |
|
| 41 |
+ String p_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
|
| 42 |
+ String p_callTo_1 = request.getParameter("p_callTo_1"); //수신자 번호 1
|
|
| 43 |
+ String p_smsTxt_1 = request.getParameter("p_smsTxt_1"); //문자 내용 1
|
|
| 35 | 44 |
|
| 36 |
- /**************** 문ìì ì¡í기 ìì ******************/ |
|
| 37 |
- /* "result_code":ê²°ê³¼ì½ë,"message":결과문구, */ |
|
| 38 |
- /* "msg_id":ë©ì¸ì§ID,"error_cnt":ìë¬ê°¯ì,"success_cnt":ì±ê³µê°¯ì */ |
|
| 39 |
- /* ëì¼ë´ì© > ì ì¡ì© ì ëë¤. |
|
| 40 |
- /******************** ì¸ì¦ì ë³´ ********************/ |
|
| 41 |
- //String sms_url = "https://apis.aligo.in/send/"; // ì ì¡ìì² URL |
|
| 42 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessTest/Test"; // ì ì¡ìì² URL |
|
| 43 |
- //String sms_url = "https://api.munjaon.co.kr:9998/api/accessKey/SendMsg"; // ì ì¡ìì² URL |
|
| 44 |
- String apiUrl = "http://localhost:8088/api/send/sendMsgs"; // ì ì¡ìì² URL |
|
| 45 |
+ //선택 값 |
|
| 46 |
+ String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
|
| 45 | 47 |
|
| 46 |
-// String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; // 전송요청 URL |
|
| 48 |
+ /* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */ |
|
| 47 | 49 |
|
| 48 |
- Map<String, String> params = new HashMap<String, String>(); |
|
| 49 |
- params.put("mberId", mberId); // SMS ìì´ë
|
|
| 50 |
- params.put("accessKey", apiKey); //ì¸ì¦í¤
|
|
| 51 |
- /******************** ì¸ì¦ì ë³´ ********************/ |
|
| 50 |
+ //String p_nameStr_1 = request.getParameter("p_nameStr_1"); //치환용 이름 1
|
|
| 51 |
+ //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms 단가
|
|
| 52 |
+ //String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
|
| 53 |
+ //String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
|
| 52 | 54 |
|
| 53 |
- |
|
| 54 |
- //ìì - í ì¤í¸ì© ìì |
|
| 55 |
- //String p_mberId = request.getParameter("p_mberId"); //ë°ì ë²í¸
|
|
| 56 |
- //String p_accessKey = request.getParameter("p_accessKey"); //ìì ë²í¸
|
|
| 57 |
- //sms.put("mberId", p_mberId); // SMS ìì´ë
|
|
| 58 |
- //sms.put("accessKey", p_accessKey); //ì¸ì¦í¤
|
|
| 59 |
- //ìì - í ì¤í¸ì© ë |
|
| 60 |
- /******************** ì ì¡ì ë³´ ********************/ |
|
| 61 |
- //ì ë¬ ë°ì ê° |
|
| 62 |
- //íìê° |
|
| 63 |
- String p_callFrom = request.getParameter("p_callFrom"); //ë°ì ë²í¸
|
|
| 64 |
- String p_callTo_1 = request.getParameter("p_callTo_1"); //ìì ë²í¸
|
|
| 65 |
- //String p_eachPrice = request.getParameter("p_eachPrice"); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
| 66 |
- //String p_fileCnt = request.getParameter("p_fileCnt"); //첨ë¶íì¼ê°¯ì
|
|
| 67 |
- //String p_sPrice = request.getParameter("p_sPrice"); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
| 68 |
- //String p_totPrice = request.getParameter("p_totPrice"); //ì´ê²°ì ê¸ì¡
|
|
| 69 |
- //String p_txtReplYn = request.getParameter("p_txtReplYn"); //ì¹í문ì ì¬ë¶ Y//N
|
|
| 70 |
- //String p_txtReplYn = "N"; //ì¹í문ì ì¬ë¶ - ì´ê¸° ì§ììí¨ |
|
| 71 |
- //String p_msgType = request.getParameter("p_msgType"); //문ìíì
4-ë¨ë¬¸,5-URL,6-MMS,7-BARCODE,8-ì¹´ì¹´ì¤ì림í¡
|
|
| 72 |
- //String p_msgKind = request.getParameter("p_msgKind"); //N-ì¼ë°,A-ê´ê³ ,C-ì ê±°
|
|
| 73 |
- //String p_msgKind = "N"; //N-ì¼ë°,A-ê´ê³ ,C-ì ê±° - ì´ê¸° ì§ììí¨ |
|
| 74 |
- String p_smsTxt_1 = request.getParameter("p_smsTxt_1"); //SMSì© ë©ìì§ë³¸ë¬¸
|
|
| 75 |
- String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS'
|
|
| 76 |
- //String p_nameStr_1 = request.getParameter("p_nameStr_1"); //ì¹í문ì
|
|
| 55 |
+ //String p_eachPrice = request.getParameter("p_eachPrice"); //개별 금액
|
|
| 56 |
+ //String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
| 57 |
+ //String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
| 58 |
+ //String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
| 59 |
+ //String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
|
| 60 |
+ //String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함 |
|
| 61 |
+ //String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
|
| 62 |
+ //String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
|
| 63 |
+ //String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함 |
|
| 64 |
+ |
|
| 65 |
+ //예약문자의 경우(선택값) |
|
| 66 |
+ //String p_reserveYn = request.getParameter("p_reserveYn"); //예약문자 여부 N or Y
|
|
| 67 |
+ //String p_divideCnt = request.getParameter("p_divideCnt"); //분할문자 건수
|
|
| 68 |
+ //String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
|
| 69 |
+ //String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
|
| 77 | 70 |
|
| 78 |
- //ì íê° |
|
| 79 |
- //String p_mmsPrice = request.getParameter("p_mmsPrice"); //mmsë¨ê°
|
|
| 80 |
- //String p_mPrice = request.getParameter("p_mPrice"); //ì¥ë¬¸ë¬¸ìë¨ê°
|
|
| 81 |
- //String p_spamStatus = request.getParameter("p_spamStatus"); //ì¤í¸ë¬¸ì ì 무
|
|
| 82 |
- |
|
| 83 |
- //ìì½ë¬¸ìì ê²½ì°(ì íê°) |
|
| 84 |
- //String p_reserveYn = request.getParameter("p_reserveYn"); //ìì½ë¬¸ì ì¬ë¶ N or Y
|
|
| 85 |
- //String p_divideCnt = request.getParameter("p_divideCnt"); //ë¶í 문ì ê±´ì
|
|
| 86 |
- //String p_divideTime = request.getParameter("p_divideTime"); //ë¶í 문ì ê°ê²©
|
|
| 87 |
- //String p_reqDate = request.getParameter("p_reqDate"); //ìì½ìê°
|
|
| 88 |
- |
|
| 89 |
- |
|
| 90 |
- //ì¶ê° ì ì¡ ë°ì´í° |
|
| 71 |
+ Map<String, String> params = new HashMap<String, String>(); |
|
| 72 |
+ |
|
| 73 |
+ //필수 전송 데이터 |
|
| 74 |
+ params.put("mberId", mberId); //회원 아이디
|
|
| 75 |
+ params.put("accessKey", apiKey); //인증키
|
|
| 91 | 76 |
params.put("callFrom" , p_callFrom); //ë°ì ë²í¸
|
| 77 |
+ |
|
| 78 |
+ //선택 전송 데이터 |
|
| 92 | 79 |
params.put("test_yn" , p_testYn); //테스트 여부
|
| 93 | 80 |
|
| 94 |
- //params.put("callTo_1" , p_callTo_1); //ìì ë²í¸
|
|
| 95 |
- //params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
| 96 |
- //params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
| 97 |
- //params.put("smsTxt_1" , p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸
|
|
| 98 |
- |
|
| 99 |
- |
|
| 100 |
- for (int i=1;i<101;i++){
|
|
| 81 |
+ //전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기 |
|
| 82 |
+ for (int i=1;i<101;i++){ //최대 수신자 100명
|
|
| 101 | 83 |
String p_callTo = "p_callTo_"+Integer.toString(i); |
| 102 | 84 |
String p_smsTxt = "p_smsTxt_"+Integer.toString(i); |
| 103 | 85 |
|
| 104 | 86 |
String s_callTo = "callTo_"+Integer.toString(i); |
| 105 | 87 |
String s_smsTxt = "smsTxt_"+Integer.toString(i); |
| 106 | 88 |
|
| 107 |
- p_callTo_1 = request.getParameter(p_callTo); //SMSì© ë©ìì§ë³¸ë¬¸ |
|
| 108 |
- p_smsTxt_1 = request.getParameter(p_smsTxt); //SMSì© ë©ìì§ë³¸ë¬¸ |
|
| 89 |
+ p_callTo_1 = request.getParameter(p_callTo); |
|
| 90 |
+ p_smsTxt_1 = request.getParameter(p_smsTxt); |
|
| 109 | 91 |
|
| 110 | 92 |
|
| 111 | 93 |
System.out.println("======i=====");
|
... | ... | @@ -113,18 +95,20 @@ |
| 113 | 95 |
System.out.println(p_callTo_1); |
| 114 | 96 |
System.out.println(p_smsTxt_1); |
| 115 | 97 |
|
| 98 |
+ |
|
| 116 | 99 |
if (p_callTo_1 != null |
| 117 | 100 |
&& p_smsTxt_1 != null |
| 118 | 101 |
&& !"".equals(p_callTo_1) |
| 119 | 102 |
&& !"".equals(p_smsTxt_1) |
| 120 | 103 |
){
|
| 121 |
- params.put(s_callTo, p_callTo_1); //ìì ë²í¸ |
|
| 122 |
- //params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
| 123 |
- //params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
| 124 |
- params.put(s_smsTxt, p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸ |
|
| 104 |
+ params.put(s_callTo, p_callTo_1); //수신자 추가 |
|
| 105 |
+ params.put(s_smsTxt, p_smsTxt_1); //문자내용 추가 |
|
| 106 |
+ } else{
|
|
| 107 |
+ break; |
|
| 125 | 108 |
} |
| 126 | 109 |
} |
| 127 |
- |
|
| 110 |
+ |
|
| 111 |
+ //REST API 전송 |
|
| 128 | 112 |
String result = ""; |
| 129 | 113 |
|
| 130 | 114 |
MultipartEntityBuilder builder = MultipartEntityBuilder.create(); |
... | ... | @@ -136,7 +120,7 @@ |
| 136 | 120 |
try{
|
| 137 | 121 |
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
|
| 138 | 122 |
String key = i.next(); |
| 139 |
- //ì ë¬ê°ì´ ìë ê²½ì° ì¤ë¥ |
|
| 123 |
+ //전달값이 없는 경우 오류 |
|
| 140 | 124 |
try{
|
| 141 | 125 |
builder.addTextBody(key, params.get(key) |
| 142 | 126 |
, ContentType.create("Multipart/related", encodingType));
|
... | ... | @@ -174,4 +158,7 @@ |
| 174 | 158 |
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
| 175 | 159 |
} |
| 176 | 160 |
|
| 161 |
+ /**************** 문자발송 Response 예제 ******************/ |
|
| 162 |
+ /* "result_code": 결과코드, "msgGroupIdList": 메세지 그룹 ID 리스트, "msgTypeList": 메세지 타입 리스트*/ |
|
| 163 |
+ /* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수, "failCnt": 발송실패 건수*/ |
|
| 177 | 164 |
%>(No newline at end of file) |
--- src/main/webapp/sample_mjon/jsp_example_start_form_r1.jsp
+++ src/main/webapp/sample_mjon/jsp_example_start_form_r1.jsp
... | ... | @@ -1,102 +1,7 @@ |
| 1 | 1 |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> |
| 2 | 2 |
<script type="text/javascript" src="./jquery-3.5.0.js"></script> |
| 3 |
- |
|
| 4 |
- <script type="text/javascript"> |
|
| 5 |
- $(document).ready(function(){
|
|
| 6 |
- |
|
| 7 |
- //대량문자발송 |
|
| 8 |
- $("#ajax_select_price").click(function(){
|
|
| 9 |
- |
|
| 10 |
- $("span#mgi").text("");
|
|
| 11 |
- $("span#sc").text("");
|
|
| 12 |
- $("span#fc").text("");
|
|
| 13 |
- $("span#bc").text("");
|
|
| 14 |
- $("span#mt").text("");
|
|
| 15 |
- |
|
| 16 |
- //document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do'; |
|
| 17 |
- //document.updatePasswordForm.submit(); |
|
| 18 |
- |
|
| 19 |
- var searchWebParam = {
|
|
| 20 |
- 'p_mberId' : $('#mberId').val()
|
|
| 21 |
- , 'p_apiKey' : $('#apiKey').val()
|
|
| 22 |
- |
|
| 23 |
- , 'p_callFrom' : $('#callFrom').val()
|
|
| 24 |
- |
|
| 25 |
- }; |
|
| 26 |
- |
|
| 27 |
- var tagId = ""; |
|
| 28 |
- $.each($('.input_list input'), function (index, tag){
|
|
| 29 |
- |
|
| 30 |
- tagId = $(tag).attr('id');
|
|
| 31 |
- if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
| 32 |
- |
|
| 33 |
- searchWebParam[tagId] = $(tag).val(); |
|
| 34 |
- } |
|
| 35 |
- }); |
|
| 36 |
- |
|
| 37 |
- //검색 API를 Ajax로 이용 하기 위한 호출 |
|
| 38 |
- $.ajax({
|
|
| 39 |
- url : "/jsp_example_send_msgs_r1.jsp", |
|
| 40 |
- //형식을 json으로 받을 것이기 때문에 지정하여 주었습니다. |
|
| 41 |
- dataType : "json", |
|
| 42 |
- async : false, |
|
| 43 |
- type : "POST", |
|
| 44 |
- |
|
| 45 |
- data : searchWebParam, |
|
| 46 |
- |
|
| 47 |
- success: function (returnData, status) {
|
|
| 48 |
- |
|
| 49 |
- if (returnData.resultCode=="0"){
|
|
| 50 |
- $("span#mgi").text(returnData.data.msgGroupId);
|
|
| 51 |
- $("span#sc").text(returnData.data.successCnt);
|
|
| 52 |
- $("span#fc").text(returnData.data.failCnt);
|
|
| 53 |
- $("span#bc").text(returnData.data.blockCnt);
|
|
| 54 |
- $("span#mt").text(returnData.data.msgType);
|
|
| 55 |
- |
|
| 56 |
- } else{
|
|
| 57 |
- alert(returnData.resultCode+" : "+returnData.data); |
|
| 58 |
- } |
|
| 59 |
- |
|
| 60 |
- }, |
|
| 61 |
- |
|
| 62 |
- error : function(request, status, error){
|
|
| 63 |
- alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR"); |
|
| 64 |
- console.log("AJAX_ERROR");
|
|
| 65 |
- } |
|
| 66 |
- }); |
|
| 67 |
- |
|
| 68 |
- }); |
|
| 69 |
- |
|
| 70 |
- // 수신자 추가 버튼 |
|
| 71 |
- $('#sendAdd').click(function(){
|
|
| 72 |
- |
|
| 73 |
- |
|
| 74 |
- var nextId = $('.callTo').length+1;
|
|
| 75 |
- var textData = '<div class="input_list_item">' |
|
| 76 |
- + '<div class="input_left">p_callTo_'+nextId+'' |
|
| 77 |
- + '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">' |
|
| 78 |
- + '</div>' |
|
| 79 |
- +'</div>' |
|
| 80 |
- +'<div class="input_list_item">' |
|
| 81 |
- + '<div class="input_left">p_smsTxt_'+nextId+'' |
|
| 82 |
- + '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">' |
|
| 83 |
- + '</div>' |
|
| 84 |
- +'</div>' |
|
| 85 |
- ; |
|
| 86 |
- |
|
| 87 |
- $('.input_list').append(textData);
|
|
| 88 |
- |
|
| 89 |
- |
|
| 90 |
- |
|
| 91 |
- }); |
|
| 92 |
- |
|
| 93 |
- }); |
|
| 94 |
- |
|
| 95 |
- </script> |
|
| 96 |
- |
|
| 97 | 3 |
|
| 98 | 4 |
<div class="inner"> |
| 99 |
- <!-- send top --> |
|
| 100 | 5 |
<div class="send_top"> |
| 101 | 6 |
|
| 102 | 7 |
<div class="mypage_content current" id="tab5_3"> |
... | ... | @@ -104,17 +9,15 @@ |
| 104 | 9 |
<h2>REST API(샘플-문자온)</h2> |
| 105 | 10 |
</div> |
| 106 | 11 |
<div class="heading"> |
| 107 |
- <h2><a href="./jsp_example_send_msg_form_r1.jsp">1.문자발송</a></h2> |
|
| 12 |
+ <!-- 메뉴별 샘플 이동 링크 --> |
|
| 13 |
+ <h2><a href="./jsp_example_send_msg_form_r1.jsp">1.문자발송</a></h2> |
|
| 108 | 14 |
<h2><a href="./jsp_example_send_msgs_form_r1.jsp">2.대량문자발송</a></h2> |
| 109 | 15 |
<h2><a href="./jsp_example_hstry_form_r1.jsp">3.전체발송내역</a></h2> |
| 110 | 16 |
<h2><a href="./jsp_example_hstry_detail_form_r1.jsp">4.상세발송내역</a></h2> |
| 111 | 17 |
<h2><a href="./jsp_example_select_price_form_r1.jsp">5.발송가능건수</a></h2> |
| 112 |
- </div> |
|
| 113 |
- |
|
| 18 |
+ </div> |
|
| 19 |
+ |
|
| 114 | 20 |
</div> |
| 115 |
- <!--// 마이페이지 - 비밀번호 변경 --> |
|
| 116 | 21 |
</div> |
| 117 |
- <!--// send top --> |
|
| 118 | 22 |
</div> |
| 119 |
-<!--// content 영역 --> |
|
| 120 | 23 |
|
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?