Merge branch 'master' of http://vcs.iten.co.kr:9999/hylee/mjon_git
This commit is contained in:
commit
9bc7407fae
@ -217,6 +217,8 @@ public interface EgovBBSManageService {
|
|||||||
|
|
||||||
public List<BoardVO> selectAdminMainBoardByDash(BoardVO boardVO) throws Exception;
|
public List<BoardVO> selectAdminMainBoardByDash(BoardVO boardVO) throws Exception;
|
||||||
|
|
||||||
|
public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception;
|
||||||
|
|
||||||
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception;
|
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception;
|
||||||
|
|
||||||
public int selectAdminMainYdaBoardCnt(BoardVO boardVO) throws Exception;
|
public int selectAdminMainYdaBoardCnt(BoardVO boardVO) throws Exception;
|
||||||
|
|||||||
@ -350,6 +350,11 @@ public class BBSManageDAO extends EgovAbstractDAO {
|
|||||||
return (List<BoardVO>) list("BBSManageDAO.selectAdminMainBoardByDash", boardVO);
|
return (List<BoardVO>) list("BBSManageDAO.selectAdminMainBoardByDash", boardVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
|
||||||
|
return (List<BoardVO>) list("BBSManageDAO.selectUserBbsWriteList", boardVO);
|
||||||
|
}
|
||||||
|
|
||||||
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception{
|
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception{
|
||||||
return (Integer)select("BBSManageDAO.selectAdminMainNewBoardCnt", boardVO);
|
return (Integer)select("BBSManageDAO.selectAdminMainNewBoardCnt", boardVO);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -332,6 +332,11 @@ public class EgovBBSManageServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
return bbsMngDAO.selectAdminMainBoardByDash(boardVO);
|
return bbsMngDAO.selectAdminMainBoardByDash(boardVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
|
||||||
|
return bbsMngDAO.selectUserBbsWriteList(boardVO);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception {
|
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception {
|
||||||
return bbsMngDAO.selectAdminMainNewBoardCnt(boardVO);
|
return bbsMngDAO.selectAdminMainNewBoardCnt(boardVO);
|
||||||
|
|||||||
@ -2242,6 +2242,20 @@ public class EgovBBSManageController {
|
|||||||
ModelAndView modelAndView = new ModelAndView();
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
modelAndView.setViewName("jsonView");
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
// Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리
|
||||||
|
//boardVO.setBbsId("BBSMSTR_000000000651"); // 공지사항
|
||||||
|
List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO);
|
||||||
|
System.out.println("boardVO.getBbsId : " + boardVO.getBbsId());
|
||||||
|
System.out.println("userBbsWriteList.size() : " + userBbsWriteList.size());
|
||||||
|
|
||||||
|
if (userBbsWriteList.size() == 0) {
|
||||||
|
// 1:1문의, 불편사항 등 고객이 등록할수있는 게시판 목록이 아닐경우
|
||||||
|
modelAndView.addObject("message", "잘못된 접근입니다.\n관리자에게 문의하세요.");
|
||||||
|
modelAndView.addObject("result", "fail");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
// End
|
||||||
|
|
||||||
if (bmVO == null || ("N").equals(bmVO.getUseAt())) {
|
if (bmVO == null || ("N").equals(bmVO.getUseAt())) {
|
||||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
|
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
|
||||||
//return "redirect:/web/main/mainPage.do";
|
//return "redirect:/web/main/mainPage.do";
|
||||||
@ -2622,6 +2636,20 @@ public class EgovBBSManageController {
|
|||||||
ModelAndView modelAndView = new ModelAndView();
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
modelAndView.setViewName("jsonView");
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
// Start => bbsId를 변조해서 공지사항에 글 등록 방지 처리
|
||||||
|
//boardVO.setBbsId("BBSMSTR_000000000651"); // 공지사항
|
||||||
|
List<BoardVO> userBbsWriteList = bbsMngService.selectUserBbsWriteList(boardVO);
|
||||||
|
System.out.println("boardVO.getBbsId : " + boardVO.getBbsId());
|
||||||
|
System.out.println("userBbsWriteList.size() : " + userBbsWriteList.size());
|
||||||
|
|
||||||
|
if (userBbsWriteList.size() == 0) {
|
||||||
|
// 1:1문의, 불편사항 등 고객이 등록할수있는 게시판 목록이 아닐경우
|
||||||
|
modelAndView.addObject("message", "잘못된 접근입니다.\n관리자에게 문의하세요.");
|
||||||
|
modelAndView.addObject("result", "fail");
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
// End
|
||||||
|
|
||||||
BoardMasterVO bmVO = new BoardMasterVO();
|
BoardMasterVO bmVO = new BoardMasterVO();
|
||||||
bmVO.setBbsId(boardVO.getBbsId());
|
bmVO.setBbsId(boardVO.getBbsId());
|
||||||
bmVO = bbsAttrbService.selectBBSMasterInf(bmVO);
|
bmVO = bbsAttrbService.selectBBSMasterInf(bmVO);
|
||||||
|
|||||||
@ -9,6 +9,9 @@ public interface MjonKakaoATService {
|
|||||||
//알림톡 전체 발송 리스트
|
//알림톡 전체 발송 리스트
|
||||||
List<KakaoVO> selectMjonKakaoATGroupCompleteList(KakaoVO searchVO) throws Exception;
|
List<KakaoVO> selectMjonKakaoATGroupCompleteList(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
|
//알림톡 전체 발송 리스트(대시보드용)
|
||||||
|
List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
//알림톡 발송 상세 리스트
|
//알림톡 발송 상세 리스트
|
||||||
List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO searchVO) throws Exception;
|
List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO searchVO) throws Exception;
|
||||||
|
|
||||||
|
|||||||
@ -17,6 +17,11 @@ public class MjonKakaoATDAO extends EgovAbstractDAO {
|
|||||||
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteList", p_mjonKakaoATVO);
|
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteList", p_mjonKakaoATVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
|
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList", p_mjonKakaoATVO);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||||
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupDtList", p_mjonKakaoATVO);
|
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupDtList", p_mjonKakaoATVO);
|
||||||
|
|||||||
@ -74,6 +74,23 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception {
|
||||||
|
|
||||||
|
List<KakaoVO> result = new ArrayList<KakaoVO>();
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
result = mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList(p_mjonKakaoATVO);
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.out.println("selectMjonKakaoATGroupCompleteByUserList ServiceImpl Error ::: " + e);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception {
|
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception {
|
||||||
|
|
||||||
|
|||||||
@ -20,6 +20,7 @@ import itn.com.cmm.ComDefaultCodeVO;
|
|||||||
import itn.com.cmm.LoginVO;
|
import itn.com.cmm.LoginVO;
|
||||||
import itn.com.cmm.service.EgovCmmUseService;
|
import itn.com.cmm.service.EgovCmmUseService;
|
||||||
import itn.com.cmm.service.FileVO;
|
import itn.com.cmm.service.FileVO;
|
||||||
|
import itn.com.cmm.util.MJUtil;
|
||||||
import itn.com.cmm.util.StringUtil;
|
import itn.com.cmm.util.StringUtil;
|
||||||
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
|
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
|
||||||
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
|
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
|
||||||
@ -231,7 +232,15 @@ public class MjonKakaoATController {
|
|||||||
kakaoVO.setReserveCYn("N");//예약취소건은 제외하기
|
kakaoVO.setReserveCYn("N");//예약취소건은 제외하기
|
||||||
// 문자발송 완료건은 모두 보이도록 처리
|
// 문자발송 완료건은 모두 보이도록 처리
|
||||||
//kakaoVO.setMsgType("8");
|
//kakaoVO.setMsgType("8");
|
||||||
resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(kakaoVO);
|
|
||||||
|
// 기간검색 설정
|
||||||
|
String toDay = MJUtil.getTodayDate(); //오늘
|
||||||
|
String beforeMonthDay = MJUtil.getBefore1MonthDate(); //한달 전
|
||||||
|
if (null == kakaoVO.getNtceBgnde() || kakaoVO.getNtceBgnde().equals("")) {
|
||||||
|
kakaoVO.setNtceBgnde(beforeMonthDay);
|
||||||
|
}
|
||||||
|
|
||||||
|
resultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(kakaoVO);
|
||||||
|
|
||||||
model.addAttribute("resultList", resultList);
|
model.addAttribute("resultList", resultList);
|
||||||
|
|
||||||
|
|||||||
@ -813,8 +813,8 @@ public class KakaoAlimTalkTemplateController {
|
|||||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||||
|
|
||||||
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||||
searchVO.setSearchSortCnd("sampleTemplateId");
|
searchVO.setSearchSortCnd("sampleTemplatePriority");
|
||||||
searchVO.setSearchSortOrd("desc");
|
searchVO.setSearchSortOrd("asc");
|
||||||
}
|
}
|
||||||
|
|
||||||
List<MjonKakaoSampleTemplateVO> resultList = new ArrayList<MjonKakaoSampleTemplateVO>();
|
List<MjonKakaoSampleTemplateVO> resultList = new ArrayList<MjonKakaoSampleTemplateVO>();
|
||||||
|
|||||||
@ -14,6 +14,8 @@ import itn.com.cmm.util.StringUtil;
|
|||||||
import itn.com.utl.fcc.service.EgovStringUtil;
|
import itn.com.utl.fcc.service.EgovStringUtil;
|
||||||
import itn.let.mjo.conf.service.MjonConfService;
|
import itn.let.mjo.conf.service.MjonConfService;
|
||||||
import itn.let.mjo.conf.service.MjonConfVO;
|
import itn.let.mjo.conf.service.MjonConfVO;
|
||||||
|
import itn.let.mjo.msgagent.service.MjonMsgAgentStsService;
|
||||||
|
import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
public class MjonConfController {
|
public class MjonConfController {
|
||||||
@ -21,7 +23,8 @@ public class MjonConfController {
|
|||||||
@Resource(name = "mjonConfService")
|
@Resource(name = "mjonConfService")
|
||||||
private MjonConfService mjonConfService;
|
private MjonConfService mjonConfService;
|
||||||
|
|
||||||
|
@Resource(name = "mjonMsgAgentStsService")
|
||||||
|
private MjonMsgAgentStsService mjonMsgAgentStsService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -96,5 +99,38 @@ public class MjonConfController {
|
|||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@RequestMapping(value = "/web/mjon/conf/selectBlineSendCheckAjax.do")
|
||||||
|
public ModelAndView selectBlineSendCheckAjax(
|
||||||
|
@ModelAttribute MjonMsgAgentStsVO mjonMsgAgentStsVO
|
||||||
|
, Model model) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
try {
|
||||||
|
|
||||||
|
System.out.println(mjonMsgAgentStsVO.getAgentCode());
|
||||||
|
if(mjonMsgAgentStsVO.getAgentCode().equals("b1")||mjonMsgAgentStsVO.getAgentCode().equals("B1")) {
|
||||||
|
mjonMsgAgentStsVO.setAgentCode("08");
|
||||||
|
}else if(mjonMsgAgentStsVO.getAgentCode().equals("b2")||mjonMsgAgentStsVO.getAgentCode().equals("B2")) {
|
||||||
|
mjonMsgAgentStsVO.setAgentCode("09");
|
||||||
|
}
|
||||||
|
|
||||||
|
MjonMsgAgentStsVO vo = mjonMsgAgentStsService.selectMsgAgentBlineYnInfo(mjonMsgAgentStsVO);
|
||||||
|
|
||||||
|
if(vo == null || "".equals(vo.getUseYn()) || !"Y".equals(vo.getUseYn())) {
|
||||||
|
modelAndView.addObject("message", "문자 발송 불가");
|
||||||
|
modelAndView.addObject("result", "fail");
|
||||||
|
} else {
|
||||||
|
modelAndView.addObject("message", "문자 발송 가능");
|
||||||
|
modelAndView.addObject("result", "success");
|
||||||
|
}
|
||||||
|
|
||||||
|
}catch (Exception e) {
|
||||||
|
modelAndView.addObject("message", "오류가 발생하였습니다.");
|
||||||
|
modelAndView.addObject("result", "fail");
|
||||||
|
}
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -679,6 +679,8 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
|||||||
int FHMmsResult = 0;
|
int FHMmsResult = 0;
|
||||||
int JJResult = 0;
|
int JJResult = 0;
|
||||||
int IVTResult = 0;
|
int IVTResult = 0;
|
||||||
|
int jjBline01Result = 0;
|
||||||
|
int jjBline02Result = 0;
|
||||||
|
|
||||||
//아이하트 딜레이문자 삭제
|
//아이하트 딜레이문자 삭제
|
||||||
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
@ -701,9 +703,14 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
|||||||
//인비토 딜레이문자 삭제
|
//인비토 딜레이문자 삭제
|
||||||
IVTResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
IVTResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//제이제이 딜레이문자 삭제
|
||||||
|
jjBline01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//제이제이 딜레이문자 삭제
|
||||||
|
jjBline02Result = mjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
//삭제 결과 합산
|
//삭제 결과 합산
|
||||||
resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult;
|
resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult + jjBline01Result + jjBline02Result;
|
||||||
|
|
||||||
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
||||||
|
|
||||||
@ -775,6 +782,9 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
|||||||
int FHMmsResult = 0;
|
int FHMmsResult = 0;
|
||||||
int JJResult = 0;
|
int JJResult = 0;
|
||||||
int IVTResult = 0;
|
int IVTResult = 0;
|
||||||
|
int JJB01Result = 0;
|
||||||
|
int JJB02Result = 0;
|
||||||
|
|
||||||
|
|
||||||
//아이하트 딜레이문자 즉시발송 처리
|
//아이하트 딜레이문자 즉시발송 처리
|
||||||
//ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
//ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
@ -798,8 +808,14 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
|||||||
//제이제이 딜레이문자 즉시발송 처리
|
//제이제이 딜레이문자 즉시발송 처리
|
||||||
IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
IVTResult = mjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//제이제이 B01 딜레이문자 즉시발송 처리
|
||||||
|
JJB01Result = mjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//제이제이 B02 딜레이문자 즉시발송 처리
|
||||||
|
JJB02Result = mjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
//삭제 결과 합산
|
//삭제 결과 합산
|
||||||
resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult;
|
resultSts = ihResult + FHSmsResult + FHMmsResult + imoResult +bizResult + JJResult + IVTResult + JJB01Result + JJB02Result;
|
||||||
|
|
||||||
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
System.out.println("++++++++++++++++++++++++++++++ resultSts ::: "+resultSts);
|
||||||
|
|
||||||
|
|||||||
@ -275,6 +275,29 @@ public class MjonMsgController {
|
|||||||
return redirectUrlMaker.getRedirectUrl();
|
return redirectUrlMaker.getRedirectUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 알림톡 리스트 스미싱 on off 처리
|
||||||
|
* @param searchVO
|
||||||
|
* @param model
|
||||||
|
* @return "/uss/ion/msg/SendMsgTestList.do"
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping("/uss/ion/msg/MsgUsersAtSmishingUpdate.do")
|
||||||
|
public String msgUsersAtSmishingUpdate(@RequestParam("checkedIdForDel") String checkedIdForUpt, @ModelAttribute("userManageVO") UserManageVO userManageVO, RedirectAttributes redirectAttributes, Model model) throws Exception {
|
||||||
|
|
||||||
|
// 미인증 사용자에 대한 보안처리
|
||||||
|
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
|
||||||
|
if(!isAuthenticated) {
|
||||||
|
model.addAttribute("message", egovMessageSource.getMessage("fail.common.login"));
|
||||||
|
return "uat/uia/EgovLoginUsr";
|
||||||
|
}
|
||||||
|
|
||||||
|
userManageService.updateUserAtSmishingYn(userManageVO, checkedIdForUpt);
|
||||||
|
|
||||||
|
//redirectAttributes.addFlashAttribute("message", "알림톡 스미싱의심 여부가 정상적으로 수정되었습니다.");
|
||||||
|
RedirectUrlMaker redirectUrlMaker = new RedirectUrlMaker("/uss/ion/kakaoat/SendKakaoATList.do?pageIndex="+userManageVO.getPageIndex());
|
||||||
|
return redirectUrlMaker.getRedirectUrl();
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 문자전송 테스트 리스트
|
* 문자전송 테스트 리스트
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import javax.annotation.Resource;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||||
|
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||||
import itn.let.mjo.msgagent.service.MjonMsgAgentStsService;
|
import itn.let.mjo.msgagent.service.MjonMsgAgentStsService;
|
||||||
import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO;
|
import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO;
|
||||||
import itn.let.uat.uia.service.impl.MberManageDAO;
|
import itn.let.uat.uia.service.impl.MberManageDAO;
|
||||||
@ -26,6 +27,10 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
|
|||||||
@Resource(name = "mjonMsgAgentStsService")
|
@Resource(name = "mjonMsgAgentStsService")
|
||||||
private MjonMsgAgentStsService mjonMsgAgentStsService;
|
private MjonMsgAgentStsService mjonMsgAgentStsService;
|
||||||
|
|
||||||
|
/** 메모 idgen */
|
||||||
|
@Resource(name="egovGnrlUserSelectMemoIdGnrService")
|
||||||
|
private EgovIdGnrService memoidgenService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MjonMsgAgentStsVO> selectMjonMsgAgentStsList() throws Exception{
|
public List<MjonMsgAgentStsVO> selectMjonMsgAgentStsList() throws Exception{
|
||||||
return mjonMsgAgentStsDAO.selectMjonMsgAgentStsList();
|
return mjonMsgAgentStsDAO.selectMjonMsgAgentStsList();
|
||||||
@ -174,6 +179,14 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
|
|||||||
// B선라인 일경우 회원테이블 업데이트
|
// B선라인 일경우 회원테이블 업데이트
|
||||||
int uCnt = mberManageDAO.updateUserBlineCodeByAdm(mberManageVO);
|
int uCnt = mberManageDAO.updateUserBlineCodeByAdm(mberManageVO);
|
||||||
|
|
||||||
|
//보내는 아이디 회원 메모 insert
|
||||||
|
String memo = "";
|
||||||
|
memo = "전용전송사 변경 : " + mberManageVO.getHotlineAgentName() + "(" + mberManageVO.getHotlineAgentCode() + ")";
|
||||||
|
mberManageVO.setMemoId(memoidgenService.getNextStringId());
|
||||||
|
mberManageVO.setMberId(mberManageVO.getMberId());
|
||||||
|
mberManageVO.setMemoCn(memo);
|
||||||
|
mberManageVO.setFrstRegisterId(mberManageVO.getAdmUserId());
|
||||||
|
mberManageDAO.insertMberMemo(mberManageVO);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
System.out.println("+++++++++++ updateMberHotlineAgentCodeInfo Service Imple Error!!! " + e);
|
System.out.println("+++++++++++ updateMberHotlineAgentCodeInfo Service Imple Error!!! " + e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -185,11 +185,13 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
|||||||
mberRepAgent = tmp.getRepAgent();
|
mberRepAgent = tmp.getRepAgent();
|
||||||
String useYn = tmp.getUseYn();
|
String useYn = tmp.getUseYn();
|
||||||
|
|
||||||
//회원 전용 전송사의 전송 비율이 0 이면 대표전송사로 전송되도록 셋팅함.
|
if(userInfo.getBlineCode().equals("N")) {
|
||||||
if(mberSendRate.equals("0") || useYn.equals("N")) {
|
//회원 전용 전송사의 전송 비율이 0 이면 대표전송사로 전송되도록 셋팅함.
|
||||||
|
if(mberSendRate.equals("0") || useYn.equals("N")) {
|
||||||
|
|
||||||
hotlineAgentCode = mberRepAgent;
|
hotlineAgentCode = mberRepAgent;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -504,6 +504,10 @@ public class MjonMsgDataController {
|
|||||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||||
searchVO.setUserId(userId);
|
searchVO.setUserId(userId);
|
||||||
|
|
||||||
|
|
||||||
|
model.addAttribute("blineCode", mberManageVO.getBlineCode());
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
||||||
@ -904,6 +908,7 @@ public class MjonMsgDataController {
|
|||||||
|
|
||||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||||
|
|
||||||
|
model.addAttribute("blineCode", mberManageVO.getBlineCode());
|
||||||
}
|
}
|
||||||
|
|
||||||
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
||||||
|
|||||||
@ -138,6 +138,27 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
|||||||
return update("MjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq", mjonResvMsgVO);
|
return update("MjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Method Name : deleteJJB01MsgSeqListByMsgSeq
|
||||||
|
* @작성일 : 2023. 06. 19.
|
||||||
|
* @작성자 : WYH
|
||||||
|
* @Method 설명 : 제이제이 B01라인 예약취소 삭제
|
||||||
|
*/
|
||||||
|
public int deleteJJB01MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
||||||
|
|
||||||
|
return update("MjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Method Name : deleteJJB02MsgSeqListByMsgSeq
|
||||||
|
* @작성일 : 2023. 06. 19.
|
||||||
|
* @작성자 : WYH
|
||||||
|
* @Method 설명 : 제이제이 B02라인 예약취소 삭제
|
||||||
|
*/
|
||||||
|
public int deleteJJB02MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
||||||
|
|
||||||
|
return update("MjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
public void updateResvMsgCancelDataFlag(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
public void updateResvMsgCancelDataFlag(MjonResvMsgVO mjonResvMsgVO) throws Exception{
|
||||||
|
|
||||||
@ -235,4 +256,25 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
|||||||
return update("MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO);
|
return update("MjonReservMsgDAO.updateRealTimeIVTMsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Method Name : updateRealTimeJJB01MsgSeqListByMsgSeq
|
||||||
|
* @작성일 : 2023. 06. 20.
|
||||||
|
* @작성자 : WYD
|
||||||
|
* @Method 설명 : 제이제이 B01라인 지연처리 문자 즉시 발송
|
||||||
|
*/
|
||||||
|
public int updateRealTimeJJB01MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) {
|
||||||
|
|
||||||
|
return update("MjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @Method Name : updateRealTimeJJB02MsgSeqListByMsgSeq
|
||||||
|
* @작성일 : 2023. 06. 20.
|
||||||
|
* @작성자 : WYD
|
||||||
|
* @Method 설명 : 제이제이 B02라인 지연처리 문자 즉시 발송
|
||||||
|
*/
|
||||||
|
public int updateRealTimeJJB02MsgSeqListByMsgSeq(MjonResvMsgVO mjonResvMsgVO) {
|
||||||
|
|
||||||
|
return update("MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq", mjonResvMsgVO);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -109,6 +109,8 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
int ivtResult = 0;
|
int ivtResult = 0;
|
||||||
int FHSmsResult = 0;
|
int FHSmsResult = 0;
|
||||||
int FHMmsResult = 0;
|
int FHMmsResult = 0;
|
||||||
|
int jjB01Result = 0;
|
||||||
|
int jjB02Result = 0;
|
||||||
|
|
||||||
//아이하트 예약취소 삭제
|
//아이하트 예약취소 삭제
|
||||||
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
@ -131,8 +133,14 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
|||||||
//인비토 예약취소 삭제
|
//인비토 예약취소 삭제
|
||||||
ivtResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
ivtResult = mjonReservMsgDAO.deleteIVTMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//제이제이 B01 예약취소 삭제
|
||||||
|
jjB01Result = mjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
|
//제이제이 B02 예약취소 삭제
|
||||||
|
jjB02Result = mjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||||
|
|
||||||
//삭제 결과 합산
|
//삭제 결과 합산
|
||||||
result = ihResult + FHSmsResult + FHMmsResult + imoResult + bizResult +jjResult + ivtResult;
|
result = ihResult + FHSmsResult + FHMmsResult + imoResult + bizResult +jjResult + ivtResult + jjB01Result + jjB02Result;
|
||||||
|
|
||||||
//각 전송사별 문자 발송 테이블에서 데이터 삭제 처리
|
//각 전송사별 문자 발송 테이블에서 데이터 삭제 처리
|
||||||
/*if(agentCode.equals("01")) { //아이하트 메세지 삭제
|
/*if(agentCode.equals("01")) { //아이하트 메세지 삭제
|
||||||
|
|||||||
@ -122,6 +122,11 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
|
|||||||
return mberManageDAO.selectMberList(userSearchVO);
|
return mberManageDAO.selectMberList(userSearchVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO) throws Exception {
|
||||||
|
return mberManageDAO.selectMberDelTypeGrpList(userSearchVO);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception {
|
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception {
|
||||||
return mberManageDAO.selectMberLoginAddList(userSearchVO);
|
return mberManageDAO.selectMberLoginAddList(userSearchVO);
|
||||||
|
|||||||
@ -75,6 +75,11 @@ public class MberManageDAO extends EgovComAbstractDAO{
|
|||||||
return (List<MberManageVO>) list("mberManageDAO.selectMberList", userSearchVO);
|
return (List<MberManageVO>) list("mberManageDAO.selectMberList", userSearchVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO){
|
||||||
|
return (List<MberManageVO>) list("mberManageDAO.selectMberDelTypeGrpList", userSearchVO);
|
||||||
|
}
|
||||||
|
|
||||||
@SuppressWarnings("unchecked")
|
@SuppressWarnings("unchecked")
|
||||||
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO){
|
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO){
|
||||||
return (List<MberManageVO>) list("mberManageDAO.selectMberLoginAddList", userSearchVO);
|
return (List<MberManageVO>) list("mberManageDAO.selectMberLoginAddList", userSearchVO);
|
||||||
|
|||||||
@ -52,6 +52,8 @@ public interface EgovMberManageService {
|
|||||||
*/
|
*/
|
||||||
public List<MberManageVO> selectMberList(UserDefaultVO userSearchVO) throws Exception;
|
public List<MberManageVO> selectMberList(UserDefaultVO userSearchVO) throws Exception;
|
||||||
|
|
||||||
|
public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO) throws Exception;
|
||||||
|
|
||||||
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception;
|
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception;
|
||||||
|
|
||||||
public List<MberManageVO> selectMberListNewUser(UserDefaultVO userSearchVO) throws Exception;
|
public List<MberManageVO> selectMberListNewUser(UserDefaultVO userSearchVO) throws Exception;
|
||||||
|
|||||||
@ -177,12 +177,20 @@ public interface EgovUserManageService {
|
|||||||
|
|
||||||
public UserManageVO selectSmishingYnUserInfo(UserManageVO userManageVO) throws Exception;
|
public UserManageVO selectSmishingYnUserInfo(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
|
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
// 스미싱의심 온/오프
|
// 스미싱의심 온/오프
|
||||||
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception;
|
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception;
|
||||||
|
|
||||||
// 스미싱의심 온/오프 - 상세에서 단일로
|
// 스미싱의심 온/오프 - 상세에서 단일로
|
||||||
public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception;
|
public void updateOneUserSmishingYn(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
|
// 알림톡 스미싱의심 온/오프
|
||||||
|
public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception;
|
||||||
|
|
||||||
|
// 알림톡 스미싱의심 온/오프 - 상세에서 단일로
|
||||||
|
public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
// 후불제 여부 저장
|
// 후불제 여부 저장
|
||||||
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception;
|
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception;
|
||||||
|
|
||||||
|
|||||||
@ -488,9 +488,37 @@ public class MberManageVO extends UserDefaultVO{
|
|||||||
private String spamKeyword; //스팸 필터링 문자단어들
|
private String spamKeyword; //스팸 필터링 문자단어들
|
||||||
private String spamRegistPnttm; //스팸 문자 발송 내용 등록일자
|
private String spamRegistPnttm; //스팸 문자 발송 내용 등록일자
|
||||||
private String exceptSpamYn; //스팸 필터링 예외 처리 여부
|
private String exceptSpamYn; //스팸 필터링 예외 처리 여부
|
||||||
|
|
||||||
private String hotlineAgentCode; //회원 전용 전송사 코드 정보
|
private String hotlineAgentCode; //회원 전용 전송사 코드 정보
|
||||||
|
private String hotlineAgentName; //회원 전용 전송사 명
|
||||||
|
private String admUserId; //관리자아이디
|
||||||
|
private String deleteTypeName; // 탈퇴 사유 명
|
||||||
|
private String deleteTypeCnt; // 탈퇴 사유 인원수
|
||||||
|
|
||||||
|
public String getDeleteTypeName() {
|
||||||
|
return deleteTypeName;
|
||||||
|
}
|
||||||
|
public void setDeleteTypeName(String deleteTypeName) {
|
||||||
|
this.deleteTypeName = deleteTypeName;
|
||||||
|
}
|
||||||
|
public String getDeleteTypeCnt() {
|
||||||
|
return deleteTypeCnt;
|
||||||
|
}
|
||||||
|
public void setDeleteTypeCnt(String deleteTypeCnt) {
|
||||||
|
this.deleteTypeCnt = deleteTypeCnt;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getAdmUserId() {
|
||||||
|
return admUserId;
|
||||||
|
}
|
||||||
|
public void setAdmUserId(String admUserId) {
|
||||||
|
this.admUserId = admUserId;
|
||||||
|
}
|
||||||
|
public String getHotlineAgentName() {
|
||||||
|
return hotlineAgentName;
|
||||||
|
}
|
||||||
|
public void setHotlineAgentName(String hotlineAgentName) {
|
||||||
|
this.hotlineAgentName = hotlineAgentName;
|
||||||
|
}
|
||||||
private String blineCode; // B라인코드
|
private String blineCode; // B라인코드
|
||||||
private String recommendId; // 추천아이디
|
private String recommendId; // 추천아이디
|
||||||
|
|
||||||
@ -518,7 +546,14 @@ public class MberManageVO extends UserDefaultVO{
|
|||||||
|
|
||||||
private String smishingYn; // 스미싱 의심여부
|
private String smishingYn; // 스미싱 의심여부
|
||||||
private String vipYn; // VIP 여부
|
private String vipYn; // VIP 여부
|
||||||
|
private String atSmishingYn; // 알림톡 스미싱 의심여부
|
||||||
|
|
||||||
|
public String getAtSmishingYn() {
|
||||||
|
return atSmishingYn;
|
||||||
|
}
|
||||||
|
public void setAtSmishingYn(String atSmishingYn) {
|
||||||
|
this.atSmishingYn = atSmishingYn;
|
||||||
|
}
|
||||||
public String getPrePaymentYn() {
|
public String getPrePaymentYn() {
|
||||||
return prePaymentYn;
|
return prePaymentYn;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -204,7 +204,14 @@ public class UserManageVO extends UserDefaultVO{
|
|||||||
private float cash;
|
private float cash;
|
||||||
private String blineCode; // B라인코드
|
private String blineCode; // B라인코드
|
||||||
private String recommendId; // 추천아이디
|
private String recommendId; // 추천아이디
|
||||||
|
private String atSmishingYn; // 알림톡 스미싱 의심여부
|
||||||
|
|
||||||
|
public String getAtSmishingYn() {
|
||||||
|
return atSmishingYn;
|
||||||
|
}
|
||||||
|
public void setAtSmishingYn(String atSmishingYn) {
|
||||||
|
this.atSmishingYn = atSmishingYn;
|
||||||
|
}
|
||||||
public String getBlineCode() {
|
public String getBlineCode() {
|
||||||
return blineCode;
|
return blineCode;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -497,6 +497,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|
|||||||
return userManageDAO.selectSmishingYnUserInfo(userManageVO);
|
return userManageDAO.selectSmishingYnUserInfo(userManageVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
|
||||||
|
return userManageDAO.selectAtSmishingYnUserInfo(userManageVO);
|
||||||
|
}
|
||||||
|
|
||||||
// 스미싱의심 온/오프
|
// 스미싱의심 온/오프
|
||||||
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
||||||
if(!"".equals(checkedIdForUpt)) {
|
if(!"".equals(checkedIdForUpt)) {
|
||||||
@ -560,6 +565,69 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 알림톡 스미싱의심 온/오프
|
||||||
|
public void updateUserAtSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
||||||
|
if(!"".equals(checkedIdForUpt)) {
|
||||||
|
String [] uptIdAll = checkedIdForUpt.split(",");
|
||||||
|
String[] uptId = Arrays.stream(uptIdAll).distinct().toArray(String[]::new);
|
||||||
|
for (int i=0; i<uptId.length ; i++){
|
||||||
|
// 업데이트
|
||||||
|
userManageVO.setMberId(uptId[i]);
|
||||||
|
userManageDAO.updateUserAtSmishingYn(userManageVO);
|
||||||
|
|
||||||
|
// 법인폰 알림문자 발송
|
||||||
|
UserManageVO rtnVO = new UserManageVO();
|
||||||
|
rtnVO = selectAtSmishingYnUserInfo(userManageVO);
|
||||||
|
if (rtnVO.getAtSmishingYn().equals("Y")) {
|
||||||
|
// 법인폰 알람여부 체크
|
||||||
|
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
||||||
|
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
||||||
|
// SMS 체크
|
||||||
|
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
||||||
|
// 스미싱의심 SMS 알림전송
|
||||||
|
mjonNoticeSendUtil.smishingSmsNoticeSend("알림톡 스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
|
||||||
|
}
|
||||||
|
|
||||||
|
// SLACK 체크
|
||||||
|
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
||||||
|
// Slack 메시지 발송(단순본문)
|
||||||
|
String msg = "[문자온] 알림톡 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
|
||||||
|
mjonCommon.sendSimpleSlackMsg(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 알림톡 스미싱의심 온/오프 단일
|
||||||
|
public void updateOneUserAtSmishingYn(UserManageVO userManageVO) throws Exception {
|
||||||
|
// 업데이트
|
||||||
|
userManageDAO.updateUserAtSmishingYn(userManageVO);
|
||||||
|
|
||||||
|
// 법인폰 알림문자 발송
|
||||||
|
UserManageVO rtnVO = new UserManageVO();
|
||||||
|
rtnVO = selectAtSmishingYnUserInfo(userManageVO);
|
||||||
|
if (rtnVO.getAtSmishingYn().equals("Y")) {
|
||||||
|
// 법인폰 알람여부 체크
|
||||||
|
JoinSettingVO joinSettingVO = new JoinSettingVO();
|
||||||
|
joinSettingVO = egovSiteManagerService.selectAdminNotiDetail();
|
||||||
|
// SMS 체크
|
||||||
|
if (joinSettingVO != null && joinSettingVO.getSmsNoti().equals("Y")) {
|
||||||
|
// 스미싱의심 SMS 알림전송
|
||||||
|
mjonNoticeSendUtil.smishingSmsNoticeSend("알림톡 스미싱 의심!", rtnVO.getMberId(), rtnVO.getMberNm());
|
||||||
|
}
|
||||||
|
|
||||||
|
// SLACK 체크
|
||||||
|
if (joinSettingVO != null && joinSettingVO.getSlackNoti().equals("Y")) {
|
||||||
|
// Slack 메시지 발송(단순본문)
|
||||||
|
String msg = "[문자온] 알림톡 스미싱 의심! - " + rtnVO.getMberNm() +"("+ rtnVO.getMberId() + ")";
|
||||||
|
mjonCommon.sendSimpleSlackMsg(msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// 후불제 여부 저장
|
// 후불제 여부 저장
|
||||||
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception {
|
public void updateUserPrePaymentYn(UserManageVO userManageVO) throws Exception {
|
||||||
userManageDAO.updateUserPrePaymentYn(userManageVO);
|
userManageDAO.updateUserPrePaymentYn(userManageVO);
|
||||||
|
|||||||
@ -271,11 +271,20 @@ public class UserManageDAO extends EgovAbstractDAO{
|
|||||||
return (UserManageVO) select("userManageDAO.selectSmishingYnUserInfo",userManageVO);
|
return (UserManageVO) select("userManageDAO.selectSmishingYnUserInfo",userManageVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
|
||||||
|
return (UserManageVO) select("userManageDAO.selectAtSmishingYnUserInfo",userManageVO);
|
||||||
|
}
|
||||||
|
|
||||||
// 스미싱의심 온/오프
|
// 스미싱의심 온/오프
|
||||||
public void updateUserSmishingYn(UserManageVO userManageVO){
|
public void updateUserSmishingYn(UserManageVO userManageVO){
|
||||||
update("userManageDAO.updateUserSmishingYn",userManageVO);
|
update("userManageDAO.updateUserSmishingYn",userManageVO);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 알림톡 스미싱의심 온/오프
|
||||||
|
public void updateUserAtSmishingYn(UserManageVO userManageVO){
|
||||||
|
update("userManageDAO.updateUserAtSmishingYn",userManageVO);
|
||||||
|
}
|
||||||
|
|
||||||
// 후불제 여부 저장
|
// 후불제 여부 저장
|
||||||
public void updateUserPrePaymentYn(UserManageVO userManageVO){
|
public void updateUserPrePaymentYn(UserManageVO userManageVO){
|
||||||
update("userManageDAO.updateUserPrePaymentYn",userManageVO);
|
update("userManageDAO.updateUserPrePaymentYn",userManageVO);
|
||||||
|
|||||||
@ -78,7 +78,6 @@ import itn.let.cop.bbs.service.BoardVO;
|
|||||||
import itn.let.fax.user.service.FaxGroupDataVO;
|
import itn.let.fax.user.service.FaxGroupDataVO;
|
||||||
import itn.let.fax.user.service.FaxService;
|
import itn.let.fax.user.service.FaxService;
|
||||||
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
|
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
|
||||||
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATSentVO;
|
|
||||||
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
|
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
|
||||||
import itn.let.kakao.kakaoComm.KakaoReturnVO;
|
import itn.let.kakao.kakaoComm.KakaoReturnVO;
|
||||||
import itn.let.kakao.kakaoComm.KakaoVO;
|
import itn.let.kakao.kakaoComm.KakaoVO;
|
||||||
@ -564,6 +563,9 @@ public class EgovUserManageController {
|
|||||||
paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0);
|
paginationInfo.setTotalRecordCount( resultList.size()> 0 ? ((Long)((EgovMap)resultList.get(0)).get("totCnt")).intValue() : 0);
|
||||||
model.addAttribute("paginationInfo", paginationInfo);
|
model.addAttribute("paginationInfo", paginationInfo);
|
||||||
|
|
||||||
|
// 탈퇴사유별 인원수
|
||||||
|
List<?> resultMberDelTypeGrpList = mberManageService.selectMberDelTypeGrpList(userSearchVO);
|
||||||
|
model.addAttribute("resultMberDelTypeGrpList", resultMberDelTypeGrpList);
|
||||||
|
|
||||||
return "cmm/uss/umt/EgovDelUserManage";
|
return "cmm/uss/umt/EgovDelUserManage";
|
||||||
}
|
}
|
||||||
@ -1168,8 +1170,8 @@ public class EgovUserManageController {
|
|||||||
* 최근 알리톡/친구톡 전송 내역
|
* 최근 알리톡/친구톡 전송 내역
|
||||||
* */
|
* */
|
||||||
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
||||||
List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
|
//List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
|
||||||
model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
|
//model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -1376,7 +1378,7 @@ public class EgovUserManageController {
|
|||||||
sendKakaoVO.setSearchSortOrd("desc");
|
sendKakaoVO.setSearchSortOrd("desc");
|
||||||
sendKakaoVO.setFirstIndex(0);
|
sendKakaoVO.setFirstIndex(0);
|
||||||
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
||||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(sendKakaoVO);
|
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
|
||||||
|
|
||||||
model.addAttribute("kakaoResultList", kakaoResultList);
|
model.addAttribute("kakaoResultList", kakaoResultList);
|
||||||
|
|
||||||
@ -1905,7 +1907,7 @@ public class EgovUserManageController {
|
|||||||
//searchVO.setReserveYn("N");
|
//searchVO.setReserveYn("N");
|
||||||
// 문자발송 완료건은 모두 보이도록 처리
|
// 문자발송 완료건은 모두 보이도록 처리
|
||||||
|
|
||||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(searchVO);
|
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(searchVO);
|
||||||
model.addAttribute("kakaoResultList", kakaoResultList);
|
model.addAttribute("kakaoResultList", kakaoResultList);
|
||||||
|
|
||||||
//카카오톡 발송 통계 정보 불러오기
|
//카카오톡 발송 통계 정보 불러오기
|
||||||
@ -2419,6 +2421,38 @@ public class EgovUserManageController {
|
|||||||
|
|
||||||
return modelAndView;
|
return modelAndView;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 알림톡 스미싱의심 여부 변경
|
||||||
|
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do")
|
||||||
|
public ModelAndView EgovGnrlUpdateUserAtSmishingAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
|
||||||
|
|
||||||
|
ModelAndView modelAndView = new ModelAndView();
|
||||||
|
modelAndView.setViewName("jsonView");
|
||||||
|
|
||||||
|
Boolean isSuccess = true;
|
||||||
|
String msg = "";
|
||||||
|
|
||||||
|
try {
|
||||||
|
// 미인증 사용자에 대한 보안처리
|
||||||
|
Boolean isAuthenticated = EgovUserDetailsHelper.isAuthenticated();
|
||||||
|
if(!isAuthenticated) {
|
||||||
|
isSuccess = false;
|
||||||
|
msg = "로그인이 필요합니다.";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
userManageService.updateOneUserAtSmishingYn(userManageVO);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
isSuccess = false;
|
||||||
|
msg = e.getMessage();
|
||||||
|
}
|
||||||
|
|
||||||
|
modelAndView.addObject("isSuccess", isSuccess);
|
||||||
|
modelAndView.addObject("msg", msg);
|
||||||
|
|
||||||
|
return modelAndView;
|
||||||
|
}
|
||||||
|
|
||||||
// VIP 여부 변경
|
// VIP 여부 변경
|
||||||
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do")
|
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do")
|
||||||
public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
|
public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
|
||||||
@ -2468,6 +2502,9 @@ public class EgovUserManageController {
|
|||||||
msg = "로그인이 필요합니다.";
|
msg = "로그인이 필요합니다.";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
|
||||||
|
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||||
|
mberManageVO.setAdmUserId(userId);
|
||||||
int result = mjonMsgAgentStsService.updateMberHotlineAgentCodeInfo(mberManageVO);
|
int result = mjonMsgAgentStsService.updateMberHotlineAgentCodeInfo(mberManageVO);
|
||||||
|
|
||||||
if(result > 0) {
|
if(result > 0) {
|
||||||
|
|||||||
@ -73,7 +73,8 @@
|
|||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="mjonMsgAgentStsDAO.selectMsgAgentBlineYnInfo" parameterClass="mjonMsgAgentStsVO" resultClass="mjonMsgAgentStsVO">
|
<select id="mjonMsgAgentStsDAO.selectMsgAgentBlineYnInfo" parameterClass="mjonMsgAgentStsVO" resultClass="mjonMsgAgentStsVO">
|
||||||
SELECT BLINE_YN blineYn FROM MJ_AGENT_SEND_RATE
|
SELECT USE_YN useYn
|
||||||
|
FROM MJ_AGENT_SEND_RATE
|
||||||
WHERE AGENT_CODE = #agentCode#
|
WHERE AGENT_CODE = #agentCode#
|
||||||
AND MSG_TYPE = 'S'
|
AND MSG_TYPE = 'S'
|
||||||
ORDER BY BLINE_YN DESC
|
ORDER BY BLINE_YN DESC
|
||||||
|
|||||||
@ -1767,6 +1767,17 @@
|
|||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="BBSManageDAO.selectUserBbsWriteList" parameterClass="BoardVO" resultClass="BoardVO" >
|
||||||
|
SELECT
|
||||||
|
BBS_ID AS bbsId
|
||||||
|
, BBS_NM AS bbsNm
|
||||||
|
FROM lettnbbsmaster
|
||||||
|
WHERE
|
||||||
|
USE_AT = 'Y'
|
||||||
|
AND DASHBD_CNT_YN = 'Y'
|
||||||
|
AND BBS_ID = #bbsId#
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="BBSManageDAO.selectAdminMainNewBoardCnt" parameterClass="BoardVO" resultClass="java.lang.Integer" >
|
<select id="BBSManageDAO.selectAdminMainNewBoardCnt" parameterClass="BoardVO" resultClass="java.lang.Integer" >
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
SELECT COUNT(*) FROM LETTNBBS A
|
SELECT COUNT(*) FROM LETTNBBS A
|
||||||
|
|||||||
@ -162,6 +162,14 @@
|
|||||||
AND C.MSG_TYPE = '8'
|
AND C.MSG_TYPE = '8'
|
||||||
) AS atSuccessCount ,
|
) AS atSuccessCount ,
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
|
AND C.RSLT_CODE != '7000'
|
||||||
|
AND C.MSG_TYPE = '8'
|
||||||
|
) AS atFailCount ,
|
||||||
|
<!-- ( SELECT COUNT(0)
|
||||||
FROM MJ_MSG_DATA C
|
FROM MJ_MSG_DATA C
|
||||||
WHERE C.DEL_FLAG = 'N'
|
WHERE C.DEL_FLAG = 'N'
|
||||||
AND C.RESERVE_C_YN = 'N'
|
AND C.RESERVE_C_YN = 'N'
|
||||||
@ -169,14 +177,6 @@
|
|||||||
AND C.RSLT_CODE = '7000'
|
AND C.RSLT_CODE = '7000'
|
||||||
AND C.MSG_TYPE = '9'
|
AND C.MSG_TYPE = '9'
|
||||||
) AS ftSuccessCount ,
|
) AS ftSuccessCount ,
|
||||||
( SELECT COUNT(0)
|
|
||||||
FROM MJ_MSG_DATA C
|
|
||||||
WHERE C.DEL_FLAG = 'N'
|
|
||||||
AND C.RESERVE_C_YN = 'N'
|
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
|
||||||
AND C.RSLT_CODE != '7000'
|
|
||||||
AND C.MSG_TYPE = '8'
|
|
||||||
) AS atFailCount ,
|
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM MJ_MSG_DATA C
|
FROM MJ_MSG_DATA C
|
||||||
WHERE C.DEL_FLAG = 'N'
|
WHERE C.DEL_FLAG = 'N'
|
||||||
@ -184,7 +184,9 @@
|
|||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
AND C.RSLT_CODE != '7000'
|
AND C.RSLT_CODE != '7000'
|
||||||
AND C.MSG_TYPE = '9'
|
AND C.MSG_TYPE = '9'
|
||||||
) AS ftFailCount ,
|
) AS ftFailCount , -->
|
||||||
|
'0' AS ftSuccessCount,
|
||||||
|
'0' AS ftFailCount,
|
||||||
MSG_NOTICETALK_SENDER_KEY ,
|
MSG_NOTICETALK_SENDER_KEY ,
|
||||||
MSG_NOTICETALK_TMP_KEY,
|
MSG_NOTICETALK_TMP_KEY,
|
||||||
MD.BIZ_UMID,
|
MD.BIZ_UMID,
|
||||||
@ -196,16 +198,16 @@
|
|||||||
AND MD.DEL_FLAG = 'N'
|
AND MD.DEL_FLAG = 'N'
|
||||||
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 -->
|
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 -->
|
||||||
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
||||||
<isNotEmpty property="userId">
|
<isNotEmpty property="userId">
|
||||||
AND MG.USER_ID = #userId#
|
AND MG.USER_ID = #userId#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
AND MG.DEL_FLAG ='N'
|
AND MG.DEL_FLAG ='N'
|
||||||
AND MG.RESERVE_C_YN = 'N'
|
AND MG.RESERVE_C_YN = 'N'
|
||||||
|
AND MG.MSG_TYPE = '8'
|
||||||
)M
|
)M
|
||||||
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
||||||
AND MKPI.USER_ID = M.USER_ID
|
AND MKPI.USER_ID = M.USER_ID
|
||||||
AND MKPI.DELETE_YN = 'N'
|
|
||||||
LEFT JOIN LETTNGNRLMBER LTM
|
LEFT JOIN LETTNGNRLMBER LTM
|
||||||
ON M.USER_ID = LTM.MBER_ID
|
ON M.USER_ID = LTM.MBER_ID
|
||||||
LEFT JOIN BIZ_LOG BL
|
LEFT JOIN BIZ_LOG BL
|
||||||
@ -312,6 +314,319 @@
|
|||||||
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||||
|
SELECT
|
||||||
|
M2.totCnt ,
|
||||||
|
M2.userId ,
|
||||||
|
M2.msgGroupId ,
|
||||||
|
M2.msgGroupCnt ,
|
||||||
|
M2.smsTxt ,
|
||||||
|
M2.subject ,
|
||||||
|
M2.regDate ,
|
||||||
|
M2.reqDate ,
|
||||||
|
M2.rsltDate ,
|
||||||
|
M2.callFrom ,
|
||||||
|
M2.callTo ,
|
||||||
|
M2.totPrice ,
|
||||||
|
M2.eachPrice ,
|
||||||
|
M2.curState ,
|
||||||
|
M2.rsltCode ,
|
||||||
|
M2.rsltCode2 ,
|
||||||
|
M2.orderByrsltCode ,
|
||||||
|
M2.delFlag ,
|
||||||
|
M2.msgType ,
|
||||||
|
M2.fileCnt ,
|
||||||
|
M2.agentCode ,
|
||||||
|
M2.reserveYn ,
|
||||||
|
M2.reserveCYn ,
|
||||||
|
M2.cancelDate ,
|
||||||
|
M2.msgTypeName ,
|
||||||
|
M2.orderByCode ,
|
||||||
|
M2.msgResult ,
|
||||||
|
M2.msgNoticetalkSenderKey ,
|
||||||
|
M2.msgNoticetalkTmpKey ,
|
||||||
|
M2.yellowId ,
|
||||||
|
M2.userNm ,
|
||||||
|
M2.atSmishingYn ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE = '7000'
|
||||||
|
) AS successCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE = '7000'
|
||||||
|
AND C.MSG_TYPE = '8'
|
||||||
|
) AS atSuccessCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE != '7000'
|
||||||
|
AND C.MSG_TYPE = '8'
|
||||||
|
) AS atFailCount ,
|
||||||
|
<!-- ( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
|
AND C.RSLT_CODE = '7000'
|
||||||
|
AND C.MSG_TYPE = '9'
|
||||||
|
) AS ftSuccessCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
|
AND C.RSLT_CODE != '7000'
|
||||||
|
AND C.MSG_TYPE = '9'
|
||||||
|
) AS ftFailCount , -->
|
||||||
|
'0' AS ftSuccessCount,
|
||||||
|
'0' AS ftFailCount,
|
||||||
|
M2.bizUmid,
|
||||||
|
M2.callStatus,
|
||||||
|
M2.bizKakaoResendYn,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM BIZ_LOG BL1,
|
||||||
|
MJ_MSG_DATA MMD1
|
||||||
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
|
AND (
|
||||||
|
CASE
|
||||||
|
WHEN BL1.CALL_STATUS in ('6600','4100')
|
||||||
|
THEN 'S'
|
||||||
|
ELSE 'F'
|
||||||
|
END ) = 'S'
|
||||||
|
) kakaoResendSuccCount,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM BIZ_LOG BL1,
|
||||||
|
MJ_MSG_DATA MMD1
|
||||||
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
|
AND (
|
||||||
|
CASE
|
||||||
|
WHEN BL1.CALL_STATUS in ('6600','4100')
|
||||||
|
THEN 'S'
|
||||||
|
ELSE 'F'
|
||||||
|
END ) = 'F'
|
||||||
|
) kakaoResendFailCount
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
COUNT(M.USER_ID) OVER() AS totCnt ,
|
||||||
|
M.USER_ID AS userId ,
|
||||||
|
MSG_GROUP_ID AS msgGroupId ,
|
||||||
|
MSG_GROUP_CNT AS msgGroupCnt ,
|
||||||
|
SMS_TXT AS smsTxt ,
|
||||||
|
M.SUBJECT AS subject ,
|
||||||
|
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
||||||
|
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
||||||
|
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
||||||
|
CALL_FROM AS callFrom ,
|
||||||
|
CALL_TO AS callTo ,
|
||||||
|
TOT_PRICE AS totPrice ,
|
||||||
|
EACH_PRICE AS eachPrice ,
|
||||||
|
CUR_STATE AS curState ,
|
||||||
|
RSLT_CODE AS rsltCode ,
|
||||||
|
RSLT_CODE2 AS rsltCode2 ,
|
||||||
|
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
||||||
|
DEL_FLAG AS delFlag ,
|
||||||
|
M.MSG_TYPE AS msgType ,
|
||||||
|
FILE_CNT AS fileCnt ,
|
||||||
|
AGENT_CODE AS agentCode ,
|
||||||
|
RESERVE_YN AS reserveYn ,
|
||||||
|
RESERVE_C_YN AS reserveCYn ,
|
||||||
|
CANCELDATE AS cancelDate ,
|
||||||
|
msgTypeName AS msgTypeName ,
|
||||||
|
orderByCode AS orderByCode ,
|
||||||
|
RESULT AS msgResult ,
|
||||||
|
MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey ,
|
||||||
|
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
||||||
|
MKPI.YELLOW_ID AS yellowId ,
|
||||||
|
LTM.MBER_NM AS userNm ,
|
||||||
|
LTM.AT_SMISHING_YN AS atSmishingYn,
|
||||||
|
BIZ_UMID AS bizUmid,
|
||||||
|
BL.CALL_STATUS AS callStatus,
|
||||||
|
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||||
|
FROM (
|
||||||
|
SELECT MG.USER_ID ,
|
||||||
|
MG.MSG_GROUP_ID ,
|
||||||
|
MG.MSG_GROUP_CNT ,
|
||||||
|
MG.SMS_TXT ,
|
||||||
|
MG.SUBJECT ,
|
||||||
|
MG.REGDATE ,
|
||||||
|
MG.REQ_DATE ,
|
||||||
|
MD.RSLT_DATE ,
|
||||||
|
MG.CALL_FROM ,
|
||||||
|
MG.TOT_PRICE ,
|
||||||
|
MG.EACH_PRICE ,
|
||||||
|
MG.DEL_FLAG ,
|
||||||
|
MG.MSG_TYPE ,
|
||||||
|
MG.FILE_CNT ,
|
||||||
|
MG.AGENT_CODE ,
|
||||||
|
MG.RESERVE_YN ,
|
||||||
|
MG.RESERVE_C_YN ,
|
||||||
|
MG.CANCELDATE ,
|
||||||
|
MD.MSG_SEQ ,
|
||||||
|
MD.CALL_TO ,
|
||||||
|
MD.CUR_STATE ,
|
||||||
|
MD.RSLT_CODE ,
|
||||||
|
MD.RSLT_CODE2 ,
|
||||||
|
CASE
|
||||||
|
WHEN MG.MSG_TYPE = '8'
|
||||||
|
THEN '알림톡'
|
||||||
|
WHEN MG.MSG_TYPE = '9'
|
||||||
|
THEN '친구톡'
|
||||||
|
END msgTypeName ,
|
||||||
|
CASE
|
||||||
|
WHEN MG.MSG_TYPE = '8'
|
||||||
|
THEN '1'
|
||||||
|
ELSE '2'
|
||||||
|
END orderByCode ,
|
||||||
|
(
|
||||||
|
CASE
|
||||||
|
WHEN MD.RSLT_CODE = '7000'
|
||||||
|
THEN 'S'
|
||||||
|
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
||||||
|
THEN 'W'
|
||||||
|
ELSE 'F'
|
||||||
|
END
|
||||||
|
) AS result ,
|
||||||
|
MSG_NOTICETALK_SENDER_KEY ,
|
||||||
|
MSG_NOTICETALK_TMP_KEY,
|
||||||
|
MD.BIZ_UMID,
|
||||||
|
MD.BIZ_KAKAO_RESEND_YN
|
||||||
|
FROM MJ_MSG_DATA MD ,
|
||||||
|
MJ_MSG_GROUP_DATA MG
|
||||||
|
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
|
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
||||||
|
AND MD.DEL_FLAG = 'N'
|
||||||
|
<!-- JSPark 2023.03.24 알림톡 전송완료 목록은 (즉시 + 예약 발송완료) 노출 -->
|
||||||
|
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
||||||
|
<isNotEmpty property="userId">
|
||||||
|
AND MG.USER_ID = #userId#
|
||||||
|
</isNotEmpty>
|
||||||
|
AND MG.DEL_FLAG ='N'
|
||||||
|
AND MG.RESERVE_C_YN = 'N'
|
||||||
|
AND MG.MSG_TYPE = '8'
|
||||||
|
)M
|
||||||
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
|
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
||||||
|
AND MKPI.USER_ID = M.USER_ID
|
||||||
|
LEFT JOIN LETTNGNRLMBER LTM
|
||||||
|
ON M.USER_ID = LTM.MBER_ID
|
||||||
|
LEFT JOIN BIZ_LOG BL
|
||||||
|
ON M.BIZ_UMID = BL.CMID
|
||||||
|
WHERE 1=1
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
|
AND (
|
||||||
|
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
)
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="1">
|
||||||
|
AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="2">
|
||||||
|
AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="3">
|
||||||
|
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
|
||||||
|
<isEqual property="searchCondition2" compareValue="" >
|
||||||
|
AND M.RESERVE_YN IN ('Y','N')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="N">
|
||||||
|
AND M.RESERVE_YN = 'N'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="Y">
|
||||||
|
AND M.RESERVE_YN = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
|
||||||
|
<isEmpty property="searchKeyword">
|
||||||
|
<isNotEmpty property="searchCondition">
|
||||||
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
|
AND (
|
||||||
|
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
)
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="1">
|
||||||
|
AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="2">
|
||||||
|
AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="3">
|
||||||
|
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchCondition2">
|
||||||
|
<isEqual property="searchCondition2" compareValue="" >
|
||||||
|
AND M.RESERVE_YN IN ('Y','N')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="N">
|
||||||
|
AND M.RESERVE_YN = 'N'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="Y">
|
||||||
|
AND M.RESERVE_YN = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
|
|
||||||
|
<isNotEmpty property="msgType">
|
||||||
|
<isEqual property="msgType" compareValue="8">
|
||||||
|
AND M.MSG_TYPE = '8'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="msgType" compareValue="9">
|
||||||
|
AND M.MSG_TYPE = '9'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty property="msgType">
|
||||||
|
AND M.MSG_TYPE IN ('8','9')
|
||||||
|
</isEmpty>
|
||||||
|
<isNotEmpty property="ntceBgnde">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="ntceEndde">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
ORDER BY 1=1
|
||||||
|
<isNotEmpty property="searchSortCnd">
|
||||||
|
<isEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
, curState $searchSortOrd$
|
||||||
|
, orderByrsltCode
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
,$searchSortCnd$
|
||||||
|
</isNotEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchSortOrd">
|
||||||
|
$searchSortOrd$
|
||||||
|
</isNotEmpty>
|
||||||
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
|
) M2
|
||||||
|
|
||||||
|
</select>
|
||||||
|
|
||||||
<!-- 알림톡 상세 리스트 조회 -->
|
<!-- 알림톡 상세 리스트 조회 -->
|
||||||
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupDtList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
<select id="mjonKakaoATDAO.selectMjonKakaoATGroupDtList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||||
/* mjonKakaoATDAO.selectMjonKakaoATGroupDtList - 알림톡 전송 개별 리스트 */
|
/* mjonKakaoATDAO.selectMjonKakaoATGroupDtList - 알림톡 전송 개별 리스트 */
|
||||||
@ -349,7 +664,6 @@
|
|||||||
, MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey
|
, MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey
|
||||||
, MKPI.YELLOW_ID AS yellowId
|
, MKPI.YELLOW_ID AS yellowId
|
||||||
, LTM.MBER_NM AS userNm
|
, LTM.MBER_NM AS userNm
|
||||||
, successCount
|
|
||||||
, BIZ_KAKAO_RESEND_YN AS subMsgSendYn
|
, BIZ_KAKAO_RESEND_YN AS subMsgSendYn
|
||||||
, BIZ_KAKAO_RESEND_TYPE AS subMsgType
|
, BIZ_KAKAO_RESEND_TYPE AS subMsgType
|
||||||
, BIZ_KAKAO_RESEND_DATA AS subMsgTxt
|
, BIZ_KAKAO_RESEND_DATA AS subMsgTxt
|
||||||
@ -403,7 +717,6 @@
|
|||||||
ELSE '2'
|
ELSE '2'
|
||||||
END orderByCode
|
END orderByCode
|
||||||
, (<include refid="KakaoSentDAO.selectAgentResultQuery_A"/>) AS RESULT
|
, (<include refid="KakaoSentDAO.selectAgentResultQuery_A"/>) AS RESULT
|
||||||
, (<include refid="mjonKakaoATDAO.selectSuccessResultQuery_C"/>) AS successCount
|
|
||||||
, A.MSG_NOTICETALK_SENDER_KEY
|
, A.MSG_NOTICETALK_SENDER_KEY
|
||||||
, A.MSG_NOTICETALK_TMP_KEY
|
, A.MSG_NOTICETALK_TMP_KEY
|
||||||
, CASE
|
, CASE
|
||||||
@ -442,7 +755,7 @@
|
|||||||
]]>
|
]]>
|
||||||
)M
|
)M
|
||||||
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY AND MKPI.USER_ID = M.USER_ID AND MKPI.DELETE_YN = 'N'
|
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY AND MKPI.USER_ID = M.USER_ID
|
||||||
LEFT JOIN LETTNGNRLMBER LTM
|
LEFT JOIN LETTNGNRLMBER LTM
|
||||||
ON M.USER_ID = LTM.MBER_ID
|
ON M.USER_ID = LTM.MBER_ID
|
||||||
WHERE 1=1
|
WHERE 1=1
|
||||||
@ -714,50 +1027,86 @@
|
|||||||
<select id="mjonKakaoATDAO.selectReserveMjonKakaoATGroupList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
<select id="mjonKakaoATDAO.selectReserveMjonKakaoATGroupList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||||
/* mjonKakaoATDAO.selectMjonKakaoATGroupList - 알림톡 예약조회 */
|
/* mjonKakaoATDAO.selectMjonKakaoATGroupList - 알림톡 예약조회 */
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(M.USER_ID) OVER() AS totCnt ,
|
M2.totCnt ,
|
||||||
M.USER_ID AS userId ,
|
M2.userId ,
|
||||||
MSG_GROUP_ID AS msgGroupId ,
|
M2.msgGroupId ,
|
||||||
MSG_GROUP_CNT AS msgGroupCnt ,
|
M2.msgGroupCnt ,
|
||||||
SMS_TXT AS smsTxt ,
|
M2.smsTxt ,
|
||||||
M.SUBJECT AS subject ,
|
M2.subject ,
|
||||||
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
M2.regDate ,
|
||||||
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
M2.reqDate ,
|
||||||
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
M2.rsltDate ,
|
||||||
CALL_FROM AS callFrom ,
|
M2.callFrom ,
|
||||||
CALL_TO AS callTo ,
|
M2.callTo ,
|
||||||
TOT_PRICE AS totPrice ,
|
M2.totPrice ,
|
||||||
EACH_PRICE AS eachPrice ,
|
M2.eachPrice ,
|
||||||
CUR_STATE AS curState ,
|
M2.curState ,
|
||||||
RSLT_CODE AS rsltCode ,
|
M2.rsltCode ,
|
||||||
RSLT_CODE2 AS rsltCode2 ,
|
M2.rsltCode2 ,
|
||||||
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
M2.orderByrsltCode ,
|
||||||
DEL_FLAG AS delFlag ,
|
M2.delFlag ,
|
||||||
M.MSG_TYPE AS msgType ,
|
M2.msgType ,
|
||||||
FILE_CNT AS fileCnt ,
|
M2.fileCnt ,
|
||||||
AGENT_CODE AS agentCode ,
|
M2.agentCode ,
|
||||||
RESERVE_YN AS reserveYn ,
|
M2.reserveYn ,
|
||||||
RESERVE_C_YN AS reserveCYn ,
|
M2.reserveCYn ,
|
||||||
CANCELDATE AS cancelDate ,
|
M2.cancelDate ,
|
||||||
msgTypeName AS msgTypeName ,
|
M2.msgTypeName ,
|
||||||
orderByCode AS orderByCode ,
|
M2.orderByCode ,
|
||||||
RESULT AS msgResult ,
|
M2.msgResult ,
|
||||||
MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey ,
|
M2.msgNoticetalkSenderKey ,
|
||||||
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
M2.msgNoticetalkTmpKey ,
|
||||||
MKPI.YELLOW_ID AS yellowId ,
|
M2.yellowId ,
|
||||||
LTM.MBER_NM AS userNm ,
|
M2.userNm ,
|
||||||
successCount,
|
( SELECT COUNT(0)
|
||||||
atSuccessCount,
|
FROM MJ_MSG_DATA C
|
||||||
ftSuccessCount,
|
WHERE C.DEL_FLAG = 'N'
|
||||||
atFailCount,
|
AND C.RESERVE_C_YN = 'N'
|
||||||
ftFailCount,
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
BIZ_UMID AS bizUmid,
|
AND C.RSLT_CODE = '7000'
|
||||||
BL.CALL_STATUS AS callStatus,
|
) AS successCount ,
|
||||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE = '7000'
|
||||||
|
AND C.MSG_TYPE = '8'
|
||||||
|
) AS atSuccessCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE != '7000'
|
||||||
|
AND C.MSG_TYPE = '8'
|
||||||
|
) AS atFailCount ,
|
||||||
|
<!-- ( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE = '7000'
|
||||||
|
AND C.MSG_TYPE = '9'
|
||||||
|
) AS ftSuccessCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND C.RSLT_CODE != '7000'
|
||||||
|
AND C.MSG_TYPE = '9'
|
||||||
|
) AS ftFailCount ,-->
|
||||||
|
'0' AS ftSuccessCount,
|
||||||
|
'0' AS ftFailCount,
|
||||||
|
M2.bizUmid,
|
||||||
|
M2.callStatus,
|
||||||
|
M2.bizKakaoResendYn,
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM BIZ_LOG BL1,
|
FROM BIZ_LOG BL1,
|
||||||
MJ_MSG_DATA MMD1
|
MJ_MSG_DATA MMD1
|
||||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
@ -769,8 +1118,8 @@
|
|||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM BIZ_LOG BL1,
|
FROM BIZ_LOG BL1,
|
||||||
MJ_MSG_DATA MMD1
|
MJ_MSG_DATA MMD1
|
||||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
@ -780,143 +1129,110 @@
|
|||||||
END ) = 'F'
|
END ) = 'F'
|
||||||
) kakaoResendFailCount
|
) kakaoResendFailCount
|
||||||
FROM (
|
FROM (
|
||||||
SELECT MG.USER_ID ,
|
SELECT
|
||||||
MG.MSG_GROUP_ID ,
|
COUNT(M.USER_ID) OVER() AS totCnt ,
|
||||||
MG.MSG_GROUP_CNT ,
|
M.USER_ID AS userId ,
|
||||||
MG.SMS_TXT ,
|
MSG_GROUP_ID AS msgGroupId ,
|
||||||
MG.SUBJECT ,
|
MSG_GROUP_CNT AS msgGroupCnt ,
|
||||||
MG.REGDATE ,
|
SMS_TXT AS smsTxt ,
|
||||||
MG.REQ_DATE ,
|
M.SUBJECT AS subject ,
|
||||||
MD.RSLT_DATE ,
|
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
||||||
MG.CALL_FROM ,
|
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
||||||
MG.TOT_PRICE ,
|
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
||||||
MG.EACH_PRICE ,
|
CALL_FROM AS callFrom ,
|
||||||
MG.DEL_FLAG ,
|
CALL_TO AS callTo ,
|
||||||
MG.MSG_TYPE ,
|
TOT_PRICE AS totPrice ,
|
||||||
MG.FILE_CNT ,
|
EACH_PRICE AS eachPrice ,
|
||||||
MG.AGENT_CODE ,
|
CUR_STATE AS curState ,
|
||||||
MG.RESERVE_YN ,
|
RSLT_CODE AS rsltCode ,
|
||||||
MG.RESERVE_C_YN ,
|
RSLT_CODE2 AS rsltCode2 ,
|
||||||
MG.CANCELDATE ,
|
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
||||||
MD.MSG_SEQ ,
|
DEL_FLAG AS delFlag ,
|
||||||
MD.CALL_TO ,
|
M.MSG_TYPE AS msgType ,
|
||||||
MD.CUR_STATE ,
|
FILE_CNT AS fileCnt ,
|
||||||
MD.RSLT_CODE ,
|
AGENT_CODE AS agentCode ,
|
||||||
MD.RSLT_CODE2 ,
|
RESERVE_YN AS reserveYn ,
|
||||||
CASE
|
RESERVE_C_YN AS reserveCYn ,
|
||||||
WHEN MG.MSG_TYPE = '8'
|
CANCELDATE AS cancelDate ,
|
||||||
THEN '알림톡'
|
msgTypeName AS msgTypeName ,
|
||||||
WHEN MG.MSG_TYPE = '9'
|
orderByCode AS orderByCode ,
|
||||||
THEN '친구톡'
|
RESULT AS msgResult ,
|
||||||
END msgTypeName ,
|
MSG_NOTICETALK_SENDER_KEY AS msgNoticetalkSenderKey ,
|
||||||
CASE
|
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
||||||
WHEN MG.MSG_TYPE = '8'
|
MKPI.YELLOW_ID AS yellowId ,
|
||||||
THEN '1'
|
LTM.MBER_NM AS userNm ,
|
||||||
ELSE '2'
|
BIZ_UMID AS bizUmid,
|
||||||
END orderByCode ,
|
BL.CALL_STATUS AS callStatus,
|
||||||
(
|
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||||
|
FROM (
|
||||||
|
SELECT MG.USER_ID ,
|
||||||
|
MG.MSG_GROUP_ID ,
|
||||||
|
MG.MSG_GROUP_CNT ,
|
||||||
|
MG.SMS_TXT ,
|
||||||
|
MG.SUBJECT ,
|
||||||
|
MG.REGDATE ,
|
||||||
|
MG.REQ_DATE ,
|
||||||
|
MD.RSLT_DATE ,
|
||||||
|
MG.CALL_FROM ,
|
||||||
|
MG.TOT_PRICE ,
|
||||||
|
MG.EACH_PRICE ,
|
||||||
|
MG.DEL_FLAG ,
|
||||||
|
MG.MSG_TYPE ,
|
||||||
|
MG.FILE_CNT ,
|
||||||
|
MG.AGENT_CODE ,
|
||||||
|
MG.RESERVE_YN ,
|
||||||
|
MG.RESERVE_C_YN ,
|
||||||
|
MG.CANCELDATE ,
|
||||||
|
MD.MSG_SEQ ,
|
||||||
|
MD.CALL_TO ,
|
||||||
|
MD.CUR_STATE ,
|
||||||
|
MD.RSLT_CODE ,
|
||||||
|
MD.RSLT_CODE2 ,
|
||||||
CASE
|
CASE
|
||||||
WHEN MD.RSLT_CODE = '7000'
|
WHEN MG.MSG_TYPE = '8'
|
||||||
THEN 'S'
|
THEN '알림톡'
|
||||||
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
WHEN MG.MSG_TYPE = '9'
|
||||||
THEN 'W'
|
THEN '친구톡'
|
||||||
ELSE 'F'
|
END msgTypeName ,
|
||||||
END
|
CASE
|
||||||
) AS result ,
|
WHEN MG.MSG_TYPE = '8'
|
||||||
( SELECT COUNT(0)
|
THEN '1'
|
||||||
FROM MJ_MSG_DATA C
|
ELSE '2'
|
||||||
WHERE C.DEL_FLAG = 'N'
|
END orderByCode ,
|
||||||
AND C.RESERVE_C_YN = 'N'
|
(
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
CASE
|
||||||
AND C.RSLT_CODE = '7000'
|
WHEN MD.RSLT_CODE = '7000'
|
||||||
) AS successCount ,
|
THEN 'S'
|
||||||
( SELECT COUNT(0)
|
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
||||||
FROM MJ_MSG_DATA C
|
THEN 'W'
|
||||||
WHERE C.DEL_FLAG = 'N'
|
ELSE 'F'
|
||||||
AND C.RESERVE_C_YN = 'N'
|
END
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
) AS result ,
|
||||||
AND C.RSLT_CODE = '7000'
|
MSG_NOTICETALK_SENDER_KEY ,
|
||||||
AND C.MSG_TYPE = '8'
|
MSG_NOTICETALK_TMP_KEY,
|
||||||
) AS atSuccessCount ,
|
MD.BIZ_UMID,
|
||||||
( SELECT COUNT(0)
|
MD.BIZ_KAKAO_RESEND_YN
|
||||||
FROM MJ_MSG_DATA C
|
FROM MJ_MSG_DATA MD ,
|
||||||
WHERE C.DEL_FLAG = 'N'
|
MJ_MSG_GROUP_DATA MG
|
||||||
AND C.RESERVE_C_YN = 'N'
|
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
||||||
AND C.RSLT_CODE = '7000'
|
AND MD.DEL_FLAG = 'N'
|
||||||
AND C.MSG_TYPE = '9'
|
<isNotEmpty property="userId">
|
||||||
) AS ftSuccessCount ,
|
AND MG.USER_ID = #userId#
|
||||||
( SELECT COUNT(0)
|
</isNotEmpty>
|
||||||
FROM MJ_MSG_DATA C
|
AND MG.DEL_FLAG ='N'
|
||||||
WHERE C.DEL_FLAG = 'N'
|
AND MG.RESERVE_C_YN = 'N'
|
||||||
AND C.RESERVE_C_YN = 'N'
|
AND MG.MSG_TYPE = '8'
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
)M
|
||||||
AND C.RSLT_CODE != '7000'
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
AND C.MSG_TYPE = '8'
|
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
||||||
) AS atFailCount ,
|
AND MKPI.USER_ID = M.USER_ID
|
||||||
( SELECT COUNT(0)
|
LEFT JOIN LETTNGNRLMBER LTM
|
||||||
FROM MJ_MSG_DATA C
|
ON M.USER_ID = LTM.MBER_ID
|
||||||
WHERE C.DEL_FLAG = 'N'
|
LEFT JOIN BIZ_LOG BL
|
||||||
AND C.RESERVE_C_YN = 'N'
|
ON M.BIZ_UMID = BL.CMID
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
WHERE 1=1
|
||||||
AND C.RSLT_CODE != '7000'
|
<isNotEmpty property="searchKeyword">
|
||||||
AND C.MSG_TYPE = '9'
|
|
||||||
) AS ftFailCount ,
|
|
||||||
MSG_NOTICETALK_SENDER_KEY ,
|
|
||||||
MSG_NOTICETALK_TMP_KEY,
|
|
||||||
MD.BIZ_UMID,
|
|
||||||
MD.BIZ_KAKAO_RESEND_YN
|
|
||||||
FROM MJ_MSG_DATA MD ,
|
|
||||||
MJ_MSG_GROUP_DATA MG
|
|
||||||
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
|
||||||
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
|
||||||
AND MD.DEL_FLAG = 'N'
|
|
||||||
<isNotEmpty property="userId">
|
|
||||||
AND MG.USER_ID = #userId#
|
|
||||||
</isNotEmpty>
|
|
||||||
AND MG.DEL_FLAG ='N'
|
|
||||||
AND MG.RESERVE_C_YN = 'N'
|
|
||||||
)M
|
|
||||||
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
|
||||||
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
|
||||||
AND MKPI.USER_ID = M.USER_ID
|
|
||||||
AND MKPI.DELETE_YN = 'N'
|
|
||||||
LEFT JOIN LETTNGNRLMBER LTM
|
|
||||||
ON M.USER_ID = LTM.MBER_ID
|
|
||||||
LEFT JOIN BIZ_LOG BL
|
|
||||||
ON M.BIZ_UMID = BL.CMID
|
|
||||||
WHERE 1=1
|
|
||||||
<isNotEmpty property="searchKeyword">
|
|
||||||
<isEqual property="searchCondition" compareValue="" >
|
|
||||||
AND (
|
|
||||||
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
||||||
OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
||||||
OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
||||||
)
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="searchCondition" compareValue="1">
|
|
||||||
AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="searchCondition" compareValue="2">
|
|
||||||
AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="searchCondition" compareValue="3">
|
|
||||||
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
|
||||||
</isEqual>
|
|
||||||
|
|
||||||
<isEqual property="searchCondition2" compareValue="" >
|
|
||||||
AND M.RESERVE_YN IN ('Y','N')
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="searchCondition2" compareValue="N">
|
|
||||||
AND M.RESERVE_YN = 'N'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="searchCondition2" compareValue="Y">
|
|
||||||
AND M.RESERVE_YN = 'Y'
|
|
||||||
</isEqual>
|
|
||||||
</isNotEmpty>
|
|
||||||
|
|
||||||
<isEmpty property="searchKeyword">
|
|
||||||
<isNotEmpty property="searchCondition">
|
|
||||||
<isEqual property="searchCondition" compareValue="" >
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
AND (
|
AND (
|
||||||
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
@ -933,8 +1249,7 @@
|
|||||||
<isEqual property="searchCondition" compareValue="3">
|
<isEqual property="searchCondition" compareValue="3">
|
||||||
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
</isEqual>
|
</isEqual>
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="searchCondition2">
|
|
||||||
<isEqual property="searchCondition2" compareValue="" >
|
<isEqual property="searchCondition2" compareValue="" >
|
||||||
AND M.RESERVE_YN IN ('Y','N')
|
AND M.RESERVE_YN IN ('Y','N')
|
||||||
</isEqual>
|
</isEqual>
|
||||||
@ -945,45 +1260,77 @@
|
|||||||
AND M.RESERVE_YN = 'Y'
|
AND M.RESERVE_YN = 'Y'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
</isEmpty>
|
|
||||||
|
<isEmpty property="searchKeyword">
|
||||||
|
<isNotEmpty property="searchCondition">
|
||||||
|
<isEqual property="searchCondition" compareValue="" >
|
||||||
|
AND (
|
||||||
|
M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
OR MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
OR M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
)
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="1">
|
||||||
|
AND M.USER_ID LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="2">
|
||||||
|
AND MKPI.YELLOW_ID LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition" compareValue="3">
|
||||||
|
AND M.SMS_TXT LIKE CONCAT ('%', #searchKeyword#,'%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="searchCondition2">
|
||||||
|
<isEqual property="searchCondition2" compareValue="" >
|
||||||
|
AND M.RESERVE_YN IN ('Y','N')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="N">
|
||||||
|
AND M.RESERVE_YN = 'N'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="searchCondition2" compareValue="Y">
|
||||||
|
AND M.RESERVE_YN = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
</isEmpty>
|
||||||
|
|
||||||
|
|
||||||
<isNotEmpty property="msgType">
|
<isNotEmpty property="msgType">
|
||||||
<isEqual property="msgType" compareValue="8">
|
<isEqual property="msgType" compareValue="8">
|
||||||
AND M.MSG_TYPE = '8'
|
AND M.MSG_TYPE = '8'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="msgType" compareValue="9">
|
<isEqual property="msgType" compareValue="9">
|
||||||
AND M.MSG_TYPE = '9'
|
AND M.MSG_TYPE = '9'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty property="msgType">
|
||||||
|
AND M.MSG_TYPE IN ('8','9')
|
||||||
|
</isEmpty>
|
||||||
|
<isNotEmpty property="ntceBgnde">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="ntceEndde">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
ORDER BY 1=1
|
||||||
|
<isNotEmpty property="searchSortCnd">
|
||||||
|
<isEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
, curState $searchSortOrd$
|
||||||
|
, orderByrsltCode
|
||||||
</isEqual>
|
</isEqual>
|
||||||
|
<isNotEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
,$searchSortCnd$
|
||||||
|
</isNotEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isEmpty property="msgType">
|
<isNotEmpty property="searchSortOrd">
|
||||||
AND M.MSG_TYPE IN ('8','9')
|
$searchSortOrd$
|
||||||
</isEmpty>
|
|
||||||
<isNotEmpty property="ntceBgnde">
|
|
||||||
<![CDATA[
|
|
||||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#ntceBgnde#, '%Y-%m-%d')
|
|
||||||
]]>
|
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotEmpty property="ntceEndde">
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
<![CDATA[
|
) M2
|
||||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#ntceEndde#, '%Y-%m-%d')
|
|
||||||
]]>
|
|
||||||
</isNotEmpty>
|
|
||||||
GROUP BY MSG_GROUP_ID
|
|
||||||
ORDER BY 1=1
|
|
||||||
<isNotEmpty property="searchSortCnd">
|
|
||||||
<isEqual property="searchSortCnd" compareValue="curState">
|
|
||||||
, curState $searchSortOrd$
|
|
||||||
, orderByrsltCode
|
|
||||||
</isEqual>
|
|
||||||
<isNotEqual property="searchSortCnd" compareValue="curState">
|
|
||||||
,$searchSortCnd$
|
|
||||||
</isNotEqual>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="searchSortOrd">
|
|
||||||
$searchSortOrd$
|
|
||||||
</isNotEmpty>
|
|
||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<!-- 알림톡 상세 리스트 조회 -->
|
<!-- 알림톡 상세 리스트 조회 -->
|
||||||
|
|||||||
@ -202,45 +202,70 @@
|
|||||||
<!-- 전체 발송결과 조회 (그룹별)-->
|
<!-- 전체 발송결과 조회 (그룹별)-->
|
||||||
<select id="KakaoSentDAO.selectAllKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
<select id="KakaoSentDAO.selectAllKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
|
M2.totMsgCnt ,
|
||||||
M.USER_ID AS userId ,
|
M2.userId ,
|
||||||
MSG_GROUP_ID AS msgGroupId ,
|
M2.msgGroupId ,
|
||||||
MSG_GROUP_CNT AS msgGroupCnt ,
|
M2.msgGroupCnt ,
|
||||||
SMS_TXT AS smsTxt ,
|
M2.smsTxt ,
|
||||||
M.SUBJECT AS subject ,
|
M2.subject ,
|
||||||
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
M2.regDate ,
|
||||||
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
M2.reqDate ,
|
||||||
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
M2.rsltDate ,
|
||||||
CALL_FROM AS callFrom ,
|
M2.callFrom ,
|
||||||
CALL_TO AS callTo ,
|
M2.callTo ,
|
||||||
IFNULL(ADDR_NM, '-') AS addrNm ,
|
M2.addrNm ,
|
||||||
TOT_PRICE AS totPrice ,
|
M2.totPrice ,
|
||||||
EACH_PRICE AS eachPrice ,
|
M2.eachPrice ,
|
||||||
CUR_STATE AS curState ,
|
M2.curState ,
|
||||||
RSLT_CODE AS rsltCode ,
|
M2.rsltCode ,
|
||||||
RSLT_CODE2 AS rsltCode2 ,
|
M2.rsltCode2 ,
|
||||||
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
M2.orderByrsltCode ,
|
||||||
DEL_FLAG AS delFlag ,
|
M2.delFlag ,
|
||||||
M.MSG_TYPE AS msgType ,
|
M2.msgType ,
|
||||||
FILE_CNT AS fileCnt ,
|
M2.fileCnt ,
|
||||||
AGENT_CODE AS agentCode ,
|
M2.agentCode ,
|
||||||
RESERVE_YN AS reserveYn ,
|
M2.reserveYn ,
|
||||||
RESERVE_C_YN AS reserveCYn ,
|
M2.reserveCYn ,
|
||||||
CANCELDATE AS cancelDate ,
|
M2.cancelDate ,
|
||||||
msgTypeName AS msgTypeName ,
|
M2.msgTypeName ,
|
||||||
orderByCode AS orderByCode ,
|
M2.orderByCode ,
|
||||||
RESULT AS msgResult ,
|
M2.msgResult ,
|
||||||
successCount,
|
( SELECT COUNT(0)
|
||||||
waitCount,
|
FROM MJ_MSG_DATA C
|
||||||
failCount,
|
WHERE C.DEL_FLAG = 'N'
|
||||||
BIZ_UMID AS bizUmid,
|
AND C.RESERVE_C_YN = 'N'
|
||||||
BL.CALL_STATUS AS callStatus,
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
AND C.RSLT_CODE = '7000'
|
||||||
|
) AS successCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND (
|
||||||
|
C.RSLT_CODE IS NULL
|
||||||
|
AND C.SENT_DATE IS NULL
|
||||||
|
AND C.RSLT_DATE IS NULL
|
||||||
|
)
|
||||||
|
) AS waitCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND (
|
||||||
|
C.RSLT_CODE != '7000'
|
||||||
|
AND C.RSLT_CODE IS NOT NULL
|
||||||
|
)
|
||||||
|
) AS failCount ,
|
||||||
|
M2.bizUmid,
|
||||||
|
M2.callStatus,
|
||||||
|
M2.bizKakaoResendYn,
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM BIZ_LOG BL1,
|
FROM BIZ_LOG BL1,
|
||||||
MJ_MSG_DATA MMD1
|
MJ_MSG_DATA MMD1
|
||||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
@ -252,8 +277,8 @@
|
|||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM BIZ_LOG BL1,
|
FROM BIZ_LOG BL1,
|
||||||
MJ_MSG_DATA MMD1
|
MJ_MSG_DATA MMD1
|
||||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
@ -263,184 +288,190 @@
|
|||||||
END ) = 'F'
|
END ) = 'F'
|
||||||
) kakaoResendFailCount
|
) kakaoResendFailCount
|
||||||
FROM (
|
FROM (
|
||||||
SELECT MG.USER_ID ,
|
SELECT
|
||||||
MG.MSG_GROUP_ID ,
|
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
|
||||||
MG.MSG_GROUP_CNT ,
|
M.USER_ID AS userId ,
|
||||||
MG.SMS_TXT ,
|
MSG_GROUP_ID AS msgGroupId ,
|
||||||
MG.SUBJECT ,
|
MSG_GROUP_CNT AS msgGroupCnt ,
|
||||||
MG.REGDATE ,
|
SMS_TXT AS smsTxt ,
|
||||||
MG.REQ_DATE ,
|
M.SUBJECT AS subject ,
|
||||||
MD.RSLT_DATE ,
|
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
||||||
MG.CALL_FROM ,
|
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
||||||
MG.TOT_PRICE ,
|
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
||||||
MG.EACH_PRICE ,
|
CALL_FROM AS callFrom ,
|
||||||
MG.DEL_FLAG ,
|
CALL_TO AS callTo ,
|
||||||
MG.MSG_TYPE ,
|
IFNULL(ADDR_NM, '-') AS addrNm ,
|
||||||
MG.FILE_CNT ,
|
TOT_PRICE AS totPrice ,
|
||||||
MG.AGENT_CODE ,
|
EACH_PRICE AS eachPrice ,
|
||||||
MG.RESERVE_YN ,
|
CUR_STATE AS curState ,
|
||||||
MG.RESERVE_C_YN ,
|
RSLT_CODE AS rsltCode ,
|
||||||
MG.CANCELDATE ,
|
RSLT_CODE2 AS rsltCode2 ,
|
||||||
MD.MSG_SEQ ,
|
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
||||||
MD.CALL_TO ,
|
DEL_FLAG AS delFlag ,
|
||||||
MD.CUR_STATE ,
|
M.MSG_TYPE AS msgType ,
|
||||||
MD.RSLT_CODE ,
|
FILE_CNT AS fileCnt ,
|
||||||
MD.RSLT_CODE2 ,
|
AGENT_CODE AS agentCode ,
|
||||||
CASE
|
RESERVE_YN AS reserveYn ,
|
||||||
WHEN MG.MSG_TYPE = '8'
|
RESERVE_C_YN AS reserveCYn ,
|
||||||
THEN '알림톡'
|
CANCELDATE AS cancelDate ,
|
||||||
WHEN MG.MSG_TYPE = '9'
|
msgTypeName AS msgTypeName ,
|
||||||
THEN '친구톡'
|
orderByCode AS orderByCode ,
|
||||||
END msgTypeName ,
|
RESULT AS msgResult ,
|
||||||
CASE
|
BIZ_UMID AS bizUmid,
|
||||||
WHEN MG.MSG_TYPE = '8'
|
BL.CALL_STATUS AS callStatus,
|
||||||
THEN '1'
|
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||||
ELSE '2'
|
FROM (
|
||||||
END orderByCode , (
|
SELECT MG.USER_ID ,
|
||||||
CASE
|
MG.MSG_GROUP_ID ,
|
||||||
WHEN MD.RSLT_CODE = '7000'
|
MG.MSG_GROUP_CNT ,
|
||||||
THEN 'S'
|
MG.SMS_TXT ,
|
||||||
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
MG.SUBJECT ,
|
||||||
THEN 'W'
|
MG.REGDATE ,
|
||||||
ELSE 'F'
|
MG.REQ_DATE ,
|
||||||
END ) AS result ,
|
MD.RSLT_DATE ,
|
||||||
( SELECT COUNT(0)
|
MG.CALL_FROM ,
|
||||||
FROM MJ_MSG_DATA C
|
MG.TOT_PRICE ,
|
||||||
WHERE C.DEL_FLAG = 'N'
|
MG.EACH_PRICE ,
|
||||||
AND C.RESERVE_C_YN = 'N'
|
MG.DEL_FLAG ,
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
MG.MSG_TYPE ,
|
||||||
AND C.RSLT_CODE = '7000'
|
MG.FILE_CNT ,
|
||||||
) AS successCount ,
|
MG.AGENT_CODE ,
|
||||||
( SELECT COUNT(0)
|
MG.RESERVE_YN ,
|
||||||
FROM MJ_MSG_DATA C
|
MG.RESERVE_C_YN ,
|
||||||
WHERE C.DEL_FLAG = 'N'
|
MG.CANCELDATE ,
|
||||||
AND C.RESERVE_C_YN = 'N'
|
MD.MSG_SEQ ,
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
MD.CALL_TO ,
|
||||||
AND (
|
MD.CUR_STATE ,
|
||||||
C.RSLT_CODE IS NULL
|
MD.RSLT_CODE ,
|
||||||
AND C.SENT_DATE IS NULL
|
MD.RSLT_CODE2 ,
|
||||||
AND C.RSLT_DATE IS NULL
|
CASE
|
||||||
)
|
WHEN MG.MSG_TYPE = '8'
|
||||||
) AS waitCount ,
|
THEN '알림톡'
|
||||||
( SELECT COUNT(0)
|
WHEN MG.MSG_TYPE = '9'
|
||||||
FROM MJ_MSG_DATA C
|
THEN '친구톡'
|
||||||
WHERE C.DEL_FLAG = 'N'
|
END msgTypeName ,
|
||||||
AND C.RESERVE_C_YN = 'N'
|
CASE
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
WHEN MG.MSG_TYPE = '8'
|
||||||
AND (
|
THEN '1'
|
||||||
C.RSLT_CODE != '7000'
|
ELSE '2'
|
||||||
AND C.RSLT_CODE IS NOT NULL
|
END orderByCode , (
|
||||||
)
|
CASE
|
||||||
) AS failCount ,
|
WHEN MD.RSLT_CODE = '7000'
|
||||||
MSG_NOTICETALK_SENDER_KEY ,
|
THEN 'S'
|
||||||
MSG_NOTICETALK_TMP_KEY,
|
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
||||||
MD.BIZ_UMID,
|
THEN 'W'
|
||||||
MD.BIZ_KAKAO_RESEND_YN
|
ELSE 'F'
|
||||||
FROM MJ_MSG_DATA MD ,
|
END ) AS result ,
|
||||||
MJ_MSG_GROUP_DATA MG
|
MSG_NOTICETALK_SENDER_KEY ,
|
||||||
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
MSG_NOTICETALK_TMP_KEY,
|
||||||
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
MD.BIZ_UMID,
|
||||||
AND MD.DEL_FLAG = 'N'
|
MD.BIZ_KAKAO_RESEND_YN
|
||||||
AND MG.USER_ID = #userId#
|
FROM MJ_MSG_DATA MD ,
|
||||||
AND MG.DEL_FLAG ='N'
|
MJ_MSG_GROUP_DATA MG
|
||||||
/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
|
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
/* AND MG.RESERVE_YN = 'N' */
|
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
||||||
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
AND MD.DEL_FLAG = 'N'
|
||||||
|
AND MG.USER_ID = #userId#
|
||||||
|
AND MG.DEL_FLAG ='N'
|
||||||
|
/* JSPark 2023.03.23 => 예약건중 발송완료건도 발송결과에 노출되도록 수정 */
|
||||||
|
/* AND MG.RESERVE_YN = 'N' */
|
||||||
|
<![CDATA[ AND MG.REQ_DATE <= NOW() ]]>
|
||||||
|
|
||||||
<isNotEmpty property="reserveCYn">
|
<isNotEmpty property="reserveCYn">
|
||||||
AND MG.RESERVE_C_YN = #reserveCYn#
|
AND MG.RESERVE_C_YN = #reserveCYn#
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
|
|
||||||
<isNotEmpty property="stateType">
|
<isNotEmpty property="stateType">
|
||||||
<isEqual property="stateType" compareValue="all">
|
<isEqual property="stateType" compareValue="all">
|
||||||
AND MD.CUR_STATE IN ('0','1','2','3')
|
AND MD.CUR_STATE IN ('0','1','2','3')
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="stateType" compareValue="ready">
|
<isEqual property="stateType" compareValue="ready">
|
||||||
AND MD.CUR_STATE = '0'
|
AND MD.CUR_STATE = '0'
|
||||||
AND MD.RESERVE_C_YN = 'N'
|
AND MD.RESERVE_C_YN = 'N'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="stateType" compareValue="complete">
|
<isEqual property="stateType" compareValue="complete">
|
||||||
AND MD.CUR_STATE IN ('2','3')
|
AND MD.CUR_STATE IN ('2','3')
|
||||||
AND MD.RSLT_CODE = '7000'
|
AND MD.RSLT_CODE = '7000'
|
||||||
AND MD.RESERVE_C_YN = 'N'
|
AND MD.RESERVE_C_YN = 'N'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="stateType" compareValue="fail">
|
<isEqual property="stateType" compareValue="fail">
|
||||||
AND MD.RESERVE_C_YN = 'N'
|
AND MD.RESERVE_C_YN = 'N'
|
||||||
AND MD.RSLT_CODE != '7000'
|
AND MD.RSLT_CODE != '7000'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotEmpty property="tabType">
|
<isNotEmpty property="tabType">
|
||||||
<isEqual property="tabType" compareValue="at">
|
<isEqual property="tabType" compareValue="at">
|
||||||
AND MD.MSG_TYPE = '8'
|
AND MD.MSG_TYPE = '8'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="tabType" compareValue="ft">
|
<isEqual property="tabType" compareValue="ft">
|
||||||
AND MD.MSG_TYPE = '9'
|
AND MD.MSG_TYPE = '9'
|
||||||
</isEqual>
|
</isEqual>
|
||||||
<isEqual property="tabType" compareValue="all">
|
<isEqual property="tabType" compareValue="all">
|
||||||
AND MD.MSG_TYPE IN ('8','9')
|
AND MD.MSG_TYPE IN ('8','9')
|
||||||
</isEqual>
|
</isEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isEmpty property="tabType">
|
<isEmpty property="tabType">
|
||||||
AND MD.MSG_TYPE IN ('8','9')
|
AND MD.MSG_TYPE IN ('8','9')
|
||||||
</isEmpty>
|
</isEmpty>
|
||||||
|
|
||||||
|
|
||||||
<!-- <isEmpty property="reserveYn">
|
<!-- <isEmpty property="reserveYn">
|
||||||
<![CDATA[
|
|
||||||
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
|
|
||||||
]]>
|
|
||||||
</isEmpty> -->
|
|
||||||
)M
|
|
||||||
LEFT JOIN
|
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
ADDR_PHONE_NO
|
|
||||||
, ADDR_NM
|
|
||||||
FROM
|
|
||||||
MJ_ADDR
|
|
||||||
WHERE 1=1
|
|
||||||
AND MBER_ID = #userId#
|
|
||||||
GROUP BY ADDR_PHONE_NO
|
|
||||||
)MA
|
|
||||||
ON M.CALL_TO = MA.ADDR_PHONE_NO
|
|
||||||
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
|
||||||
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
|
||||||
AND MKPI.DELETE_YN = 'N'
|
|
||||||
LEFT JOIN LETTNGNRLMBER LTM
|
|
||||||
ON M.USER_ID = LTM.MBER_ID
|
|
||||||
LEFT JOIN BIZ_LOG BL
|
|
||||||
ON M.BIZ_UMID = BL.CMID
|
|
||||||
WHERE 1=1
|
|
||||||
<isNotEmpty property="searchKeyword">
|
|
||||||
<isEqual property="searchCondition" compareValue="3" >
|
|
||||||
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
||||||
</isEqual>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="startDate">
|
|
||||||
<![CDATA[
|
<![CDATA[
|
||||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
AND MG.REQ_DATE <= DATE_ADD(NOW(), INTERVAL 60 MINUTE)
|
||||||
]]>
|
]]>
|
||||||
|
</isEmpty> -->
|
||||||
|
)M
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
ADDR_PHONE_NO
|
||||||
|
, ADDR_NM
|
||||||
|
FROM
|
||||||
|
MJ_ADDR
|
||||||
|
WHERE 1=1
|
||||||
|
AND MBER_ID = #userId#
|
||||||
|
GROUP BY ADDR_PHONE_NO
|
||||||
|
)MA
|
||||||
|
ON M.CALL_TO = MA.ADDR_PHONE_NO
|
||||||
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
|
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
||||||
|
AND MKPI.DELETE_YN = 'N'
|
||||||
|
LEFT JOIN LETTNGNRLMBER LTM
|
||||||
|
ON M.USER_ID = LTM.MBER_ID
|
||||||
|
LEFT JOIN BIZ_LOG BL
|
||||||
|
ON M.BIZ_UMID = BL.CMID
|
||||||
|
WHERE 1=1
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
<isEqual property="searchCondition" compareValue="3" >
|
||||||
|
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="startDate">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="endDate">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
ORDER BY 1=1
|
||||||
|
<isNotEmpty property="searchSortCnd">
|
||||||
|
<isEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
, curState $searchSortOrd$
|
||||||
|
, orderByrsltCode
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
,$searchSortCnd$
|
||||||
|
</isNotEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotEmpty property="endDate">
|
<isNotEmpty property="searchSortOrd">
|
||||||
<![CDATA[
|
$searchSortOrd$
|
||||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
|
|
||||||
]]>
|
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
GROUP BY MSG_GROUP_ID
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
ORDER BY 1=1
|
) M2
|
||||||
<isNotEmpty property="searchSortCnd">
|
|
||||||
<isEqual property="searchSortCnd" compareValue="curState">
|
|
||||||
, curState $searchSortOrd$
|
|
||||||
, orderByrsltCode
|
|
||||||
</isEqual>
|
|
||||||
<isNotEqual property="searchSortCnd" compareValue="curState">
|
|
||||||
,$searchSortCnd$
|
|
||||||
</isNotEqual>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="searchSortOrd">
|
|
||||||
$searchSortOrd$
|
|
||||||
</isNotEmpty>
|
|
||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
||||||
@ -956,46 +987,71 @@
|
|||||||
<!-- 전체 예약결과 조회 (그룹별)-->
|
<!-- 전체 예약결과 조회 (그룹별)-->
|
||||||
<select id="KakaoSentDAO.selectReservKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
<select id="KakaoSentDAO.selectReservKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||||
SELECT
|
SELECT
|
||||||
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
|
M2.totMsgCnt ,
|
||||||
M.USER_ID AS userId ,
|
M2.userId ,
|
||||||
MSG_GROUP_ID AS msgGroupId ,
|
M2.msgGroupId ,
|
||||||
MSG_GROUP_CNT AS msgGroupCnt ,
|
M2.msgGroupCnt ,
|
||||||
SMS_TXT AS smsTxt ,
|
M2.smsTxt ,
|
||||||
M.SUBJECT AS subject ,
|
M2.subject ,
|
||||||
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
M2.regDate ,
|
||||||
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
M2.reqDate ,
|
||||||
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
M2.rsltDate ,
|
||||||
TIMESTAMPDIFF(MINUTE,DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T'), DATE_FORMAT(NOW(), '%Y-%m-%d %T')) AS diffMin,
|
M2.diffMin,
|
||||||
CALL_FROM AS callFrom ,
|
M2.callFrom ,
|
||||||
CALL_TO AS callTo ,
|
M2.callTo ,
|
||||||
IFNULL(ADDR_NM, '-') AS addrNm ,
|
M2.addrNm ,
|
||||||
TOT_PRICE AS totPrice ,
|
M2.totPrice ,
|
||||||
EACH_PRICE AS eachPrice ,
|
M2.eachPrice ,
|
||||||
CUR_STATE AS curState ,
|
M2.curState ,
|
||||||
RSLT_CODE AS rsltCode ,
|
M2.rsltCode ,
|
||||||
RSLT_CODE2 AS rsltCode2 ,
|
M2.rsltCode2 ,
|
||||||
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
M2.orderByrsltCode ,
|
||||||
DEL_FLAG AS delFlag ,
|
M2.delFlag ,
|
||||||
M.MSG_TYPE AS msgType ,
|
M2.msgType ,
|
||||||
FILE_CNT AS fileCnt ,
|
M2.fileCnt ,
|
||||||
AGENT_CODE AS agentCode ,
|
M2.agentCode ,
|
||||||
RESERVE_YN AS reserveYn ,
|
M2.reserveYn ,
|
||||||
RESERVE_C_YN AS reserveCYn ,
|
M2.reserveCYn ,
|
||||||
CANCELDATE AS cancelDate ,
|
M2.cancelDate ,
|
||||||
msgTypeName AS msgTypeName ,
|
M2.msgTypeName ,
|
||||||
orderByCode AS orderByCode ,
|
M2.orderByCode ,
|
||||||
RESULT AS msgResult ,
|
M2.msgResult ,
|
||||||
successCount,
|
( SELECT COUNT(0)
|
||||||
waitCount,
|
FROM MJ_MSG_DATA C
|
||||||
failCount,
|
WHERE C.DEL_FLAG = 'N'
|
||||||
BIZ_UMID AS bizUmid,
|
AND C.RESERVE_C_YN = 'N'
|
||||||
BL.CALL_STATUS AS callStatus,
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
AND C.RSLT_CODE = '7000'
|
||||||
|
) AS successCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND (
|
||||||
|
C.RSLT_CODE IS NULL
|
||||||
|
AND C.SENT_DATE IS NULL
|
||||||
|
AND C.RSLT_DATE IS NULL
|
||||||
|
)
|
||||||
|
) AS waitCount ,
|
||||||
|
( SELECT COUNT(0)
|
||||||
|
FROM MJ_MSG_DATA C
|
||||||
|
WHERE C.DEL_FLAG = 'N'
|
||||||
|
AND C.RESERVE_C_YN = 'N'
|
||||||
|
AND C.MSG_GROUP_ID = M2.msgGroupId
|
||||||
|
AND (
|
||||||
|
C.RSLT_CODE != '7000'
|
||||||
|
AND C.RSLT_CODE IS NOT NULL
|
||||||
|
)
|
||||||
|
) AS failCount ,
|
||||||
|
M2.bizUmid,
|
||||||
|
M2.callStatus,
|
||||||
|
M2.bizKakaoResendYn,
|
||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM BIZ_LOG BL1,
|
FROM BIZ_LOG BL1,
|
||||||
MJ_MSG_DATA MMD1
|
MJ_MSG_DATA MMD1
|
||||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
@ -1007,8 +1063,8 @@
|
|||||||
( SELECT COUNT(0)
|
( SELECT COUNT(0)
|
||||||
FROM BIZ_LOG BL1,
|
FROM BIZ_LOG BL1,
|
||||||
MJ_MSG_DATA MMD1
|
MJ_MSG_DATA MMD1
|
||||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
WHERE M2.bizKakaoResendYn = 'Y'
|
||||||
AND M.MSG_GROUP_ID = MMD1.MSG_GROUP_ID
|
AND M2.msgGroupId = MMD1.MSG_GROUP_ID
|
||||||
AND MMD1.BIZ_UMID = BL1.CMID
|
AND MMD1.BIZ_UMID = BL1.CMID
|
||||||
AND (
|
AND (
|
||||||
CASE
|
CASE
|
||||||
@ -1018,175 +1074,182 @@
|
|||||||
END ) = 'F'
|
END ) = 'F'
|
||||||
) kakaoResendFailCount
|
) kakaoResendFailCount
|
||||||
FROM (
|
FROM (
|
||||||
SELECT MG.USER_ID ,
|
SELECT
|
||||||
MG.MSG_GROUP_ID ,
|
COUNT(M.USER_ID) OVER() AS totMsgCnt ,
|
||||||
MG.MSG_GROUP_CNT ,
|
M.USER_ID AS userId ,
|
||||||
MG.SMS_TXT ,
|
MSG_GROUP_ID AS msgGroupId ,
|
||||||
MG.SUBJECT ,
|
MSG_GROUP_CNT AS msgGroupCnt ,
|
||||||
MG.REGDATE ,
|
SMS_TXT AS smsTxt ,
|
||||||
MG.REQ_DATE ,
|
M.SUBJECT AS subject ,
|
||||||
MD.RSLT_DATE ,
|
DATE_FORMAT(REGDATE, '%Y-%m-%d %T') AS regDate ,
|
||||||
MG.CALL_FROM ,
|
DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T') AS reqDate ,
|
||||||
MG.TOT_PRICE ,
|
DATE_FORMAT(RSLT_DATE, '%Y-%m-%d %T') AS rsltDate ,
|
||||||
MG.EACH_PRICE ,
|
TIMESTAMPDIFF(MINUTE,DATE_FORMAT(REQ_DATE, '%Y-%m-%d %T'), DATE_FORMAT(NOW(), '%Y-%m-%d %T')) AS diffMin,
|
||||||
MG.DEL_FLAG ,
|
CALL_FROM AS callFrom ,
|
||||||
MG.MSG_TYPE ,
|
CALL_TO AS callTo ,
|
||||||
MG.FILE_CNT ,
|
IFNULL(ADDR_NM, '-') AS addrNm ,
|
||||||
MG.AGENT_CODE ,
|
TOT_PRICE AS totPrice ,
|
||||||
MG.RESERVE_YN ,
|
EACH_PRICE AS eachPrice ,
|
||||||
MG.RESERVE_C_YN ,
|
CUR_STATE AS curState ,
|
||||||
MG.CANCELDATE ,
|
RSLT_CODE AS rsltCode ,
|
||||||
MD.MSG_SEQ ,
|
RSLT_CODE2 AS rsltCode2 ,
|
||||||
MD.CALL_TO ,
|
IF((RSLT_CODE != '7000'),'1','0') AS orderByrsltCode ,
|
||||||
MD.CUR_STATE ,
|
DEL_FLAG AS delFlag ,
|
||||||
MD.RSLT_CODE ,
|
M.MSG_TYPE AS msgType ,
|
||||||
MD.RSLT_CODE2 ,
|
FILE_CNT AS fileCnt ,
|
||||||
CASE
|
AGENT_CODE AS agentCode ,
|
||||||
WHEN MG.MSG_TYPE = '8'
|
RESERVE_YN AS reserveYn ,
|
||||||
THEN '알림톡'
|
RESERVE_C_YN AS reserveCYn ,
|
||||||
WHEN MG.MSG_TYPE = '9'
|
CANCELDATE AS cancelDate ,
|
||||||
THEN '친구톡'
|
msgTypeName AS msgTypeName ,
|
||||||
END msgTypeName ,
|
orderByCode AS orderByCode ,
|
||||||
CASE
|
RESULT AS msgResult ,
|
||||||
WHEN MG.MSG_TYPE = '8'
|
BIZ_UMID AS bizUmid,
|
||||||
THEN '1'
|
BL.CALL_STATUS AS callStatus,
|
||||||
ELSE '2'
|
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||||
END orderByCode , (
|
FROM (
|
||||||
CASE
|
SELECT MG.USER_ID ,
|
||||||
WHEN MD.RSLT_CODE = '7000'
|
MG.MSG_GROUP_ID ,
|
||||||
THEN 'S'
|
MG.MSG_GROUP_CNT ,
|
||||||
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL AND MD.RESERVE_C_YN = 'Y')
|
MG.SMS_TXT ,
|
||||||
THEN 'C'
|
MG.SUBJECT ,
|
||||||
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
MG.REGDATE ,
|
||||||
THEN 'W'
|
MG.REQ_DATE ,
|
||||||
ELSE 'F'
|
MD.RSLT_DATE ,
|
||||||
END ) AS result ,
|
MG.CALL_FROM ,
|
||||||
( SELECT COUNT(0)
|
MG.TOT_PRICE ,
|
||||||
FROM MJ_MSG_DATA C
|
MG.EACH_PRICE ,
|
||||||
WHERE C.DEL_FLAG = 'N'
|
MG.DEL_FLAG ,
|
||||||
AND C.RESERVE_C_YN = 'N'
|
MG.MSG_TYPE ,
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
MG.FILE_CNT ,
|
||||||
AND C.RSLT_CODE = '7000'
|
MG.AGENT_CODE ,
|
||||||
) AS successCount ,
|
MG.RESERVE_YN ,
|
||||||
( SELECT COUNT(0)
|
MG.RESERVE_C_YN ,
|
||||||
FROM MJ_MSG_DATA C
|
MG.CANCELDATE ,
|
||||||
WHERE C.DEL_FLAG = 'N'
|
MD.MSG_SEQ ,
|
||||||
AND C.RESERVE_C_YN = 'N'
|
MD.CALL_TO ,
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
MD.CUR_STATE ,
|
||||||
AND (
|
MD.RSLT_CODE ,
|
||||||
C.RSLT_CODE IS NULL
|
MD.RSLT_CODE2 ,
|
||||||
AND C.SENT_DATE IS NULL
|
CASE
|
||||||
AND C.RSLT_DATE IS NULL
|
WHEN MG.MSG_TYPE = '8'
|
||||||
)
|
THEN '알림톡'
|
||||||
) AS waitCount ,
|
WHEN MG.MSG_TYPE = '9'
|
||||||
( SELECT COUNT(0)
|
THEN '친구톡'
|
||||||
FROM MJ_MSG_DATA C
|
END msgTypeName ,
|
||||||
WHERE C.DEL_FLAG = 'N'
|
CASE
|
||||||
AND C.RESERVE_C_YN = 'N'
|
WHEN MG.MSG_TYPE = '8'
|
||||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
THEN '1'
|
||||||
AND (
|
ELSE '2'
|
||||||
C.RSLT_CODE != '7000'
|
END orderByCode , (
|
||||||
AND C.RSLT_CODE IS NOT NULL
|
CASE
|
||||||
)
|
WHEN MD.RSLT_CODE = '7000'
|
||||||
) AS failCount ,
|
THEN 'S'
|
||||||
MSG_NOTICETALK_SENDER_KEY ,
|
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL AND MD.RESERVE_C_YN = 'Y')
|
||||||
MSG_NOTICETALK_TMP_KEY,
|
THEN 'C'
|
||||||
MD.BIZ_UMID,
|
WHEN (MD.RSLT_CODE IS NULL AND MD.SENT_DATE IS NULL AND MD.RSLT_DATE IS NULL)
|
||||||
MD.BIZ_KAKAO_RESEND_YN
|
THEN 'W'
|
||||||
FROM MJ_MSG_DATA MD ,
|
ELSE 'F'
|
||||||
MJ_MSG_GROUP_DATA MG
|
END ) AS result ,
|
||||||
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
MSG_NOTICETALK_SENDER_KEY ,
|
||||||
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
MSG_NOTICETALK_TMP_KEY,
|
||||||
AND MD.DEL_FLAG = 'N'
|
MD.BIZ_UMID,
|
||||||
AND MG.USER_ID = #userId#
|
MD.BIZ_KAKAO_RESEND_YN
|
||||||
AND MG.DEL_FLAG ='N'
|
FROM MJ_MSG_DATA MD ,
|
||||||
AND MG.RESERVE_YN = 'Y'
|
MJ_MSG_GROUP_DATA MG
|
||||||
<isNotEmpty property="reserveCYn">
|
WHERE MD.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||||
AND MG.RESERVE_C_YN = #reserveCYn#
|
AND IFNULL(MG.DEL_FLAG, 'N') = 'N'
|
||||||
|
AND MD.DEL_FLAG = 'N'
|
||||||
|
AND MG.USER_ID = #userId#
|
||||||
|
AND MG.DEL_FLAG ='N'
|
||||||
|
AND MG.RESERVE_YN = 'Y'
|
||||||
|
<isNotEmpty property="reserveCYn">
|
||||||
|
AND MG.RESERVE_C_YN = #reserveCYn#
|
||||||
|
</isNotEmpty>
|
||||||
|
)M
|
||||||
|
LEFT JOIN
|
||||||
|
(
|
||||||
|
SELECT
|
||||||
|
ADDR_PHONE_NO
|
||||||
|
, ADDR_NM
|
||||||
|
FROM
|
||||||
|
MJ_ADDR
|
||||||
|
WHERE 1=1
|
||||||
|
AND MBER_ID = #userId#
|
||||||
|
GROUP BY ADDR_PHONE_NO
|
||||||
|
)MA
|
||||||
|
ON M.CALL_TO = MA.ADDR_PHONE_NO
|
||||||
|
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
||||||
|
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
||||||
|
AND MKPI.DELETE_YN = 'N'
|
||||||
|
LEFT JOIN LETTNGNRLMBER LTM
|
||||||
|
ON M.USER_ID = LTM.MBER_ID
|
||||||
|
LEFT JOIN BIZ_LOG BL
|
||||||
|
ON M.BIZ_UMID = BL.CMID
|
||||||
|
WHERE 1=1
|
||||||
|
<isNotEmpty property="stateType">
|
||||||
|
<isEqual property="stateType" compareValue="all">
|
||||||
|
AND CUR_STATE IN ('0','1','2','3')
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="stateType" compareValue="ready">
|
||||||
|
AND CUR_STATE = '0'
|
||||||
|
AND RESERVE_C_YN = 'N'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="stateType" compareValue="complete">
|
||||||
|
AND CUR_STATE IN ('2','3')
|
||||||
|
AND RESERVE_C_YN = 'N'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="stateType" compareValue="fail">
|
||||||
|
AND RESERVE_C_YN = 'N'
|
||||||
|
AND RSLT_CODE != '7000'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="stateType" compareValue="cancel">
|
||||||
|
AND RESERVE_C_YN = 'Y'
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="tabType">
|
||||||
|
<isEqual property="tabType" compareValue="at">
|
||||||
|
AND M.MSG_TYPE = '8'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="tabType" compareValue="ft">
|
||||||
|
AND M.MSG_TYPE = '9'
|
||||||
|
</isEqual>
|
||||||
|
<isEqual property="tabType" compareValue="all">
|
||||||
|
AND M.MSG_TYPE IN ('8','9')
|
||||||
|
</isEqual>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isEmpty property="tabType">
|
||||||
|
AND M.MSG_TYPE IN ('8','9')
|
||||||
|
</isEmpty>
|
||||||
|
<isNotEmpty property="searchKeyword">
|
||||||
|
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="startDate">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
<isNotEmpty property="endDate">
|
||||||
|
<![CDATA[
|
||||||
|
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
|
||||||
|
]]>
|
||||||
|
</isNotEmpty>
|
||||||
|
GROUP BY MSG_GROUP_ID
|
||||||
|
ORDER BY 1=1
|
||||||
|
<isNotEmpty property="searchSortCnd">
|
||||||
|
<isEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
, curState $searchSortOrd$
|
||||||
|
, orderByrsltCode
|
||||||
|
</isEqual>
|
||||||
|
<isNotEqual property="searchSortCnd" compareValue="curState">
|
||||||
|
,$searchSortCnd$
|
||||||
|
</isNotEqual>
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
)M
|
<isNotEmpty property="searchSortOrd">
|
||||||
LEFT JOIN
|
$searchSortOrd$
|
||||||
(
|
|
||||||
SELECT
|
|
||||||
ADDR_PHONE_NO
|
|
||||||
, ADDR_NM
|
|
||||||
FROM
|
|
||||||
MJ_ADDR
|
|
||||||
WHERE 1=1
|
|
||||||
AND MBER_ID = #userId#
|
|
||||||
GROUP BY ADDR_PHONE_NO
|
|
||||||
)MA
|
|
||||||
ON M.CALL_TO = MA.ADDR_PHONE_NO
|
|
||||||
LEFT JOIN MJ_KAKAO_PROFILE_INFO MKPI
|
|
||||||
ON M.MSG_NOTICETALK_SENDER_KEY = MKPI.SENDER_KEY
|
|
||||||
AND MKPI.DELETE_YN = 'N'
|
|
||||||
LEFT JOIN LETTNGNRLMBER LTM
|
|
||||||
ON M.USER_ID = LTM.MBER_ID
|
|
||||||
LEFT JOIN BIZ_LOG BL
|
|
||||||
ON M.BIZ_UMID = BL.CMID
|
|
||||||
WHERE 1=1
|
|
||||||
<isNotEmpty property="stateType">
|
|
||||||
<isEqual property="stateType" compareValue="all">
|
|
||||||
AND CUR_STATE IN ('0','1','2','3')
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="stateType" compareValue="ready">
|
|
||||||
AND CUR_STATE = '0'
|
|
||||||
AND RESERVE_C_YN = 'N'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="stateType" compareValue="complete">
|
|
||||||
AND CUR_STATE IN ('2','3')
|
|
||||||
AND RESERVE_C_YN = 'N'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="stateType" compareValue="fail">
|
|
||||||
AND RESERVE_C_YN = 'N'
|
|
||||||
AND RSLT_CODE != '7000'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="stateType" compareValue="cancel">
|
|
||||||
AND RESERVE_C_YN = 'Y'
|
|
||||||
</isEqual>
|
|
||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
<isNotEmpty property="tabType">
|
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||||
<isEqual property="tabType" compareValue="at">
|
) M2
|
||||||
AND M.MSG_TYPE = '8'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="tabType" compareValue="ft">
|
|
||||||
AND M.MSG_TYPE = '9'
|
|
||||||
</isEqual>
|
|
||||||
<isEqual property="tabType" compareValue="all">
|
|
||||||
AND M.MSG_TYPE IN ('8','9')
|
|
||||||
</isEqual>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isEmpty property="tabType">
|
|
||||||
AND M.MSG_TYPE IN ('8','9')
|
|
||||||
</isEmpty>
|
|
||||||
<isNotEmpty property="searchKeyword">
|
|
||||||
AND CALL_TO LIKE CONCAT('%', #searchKeyword#, '%')
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="startDate">
|
|
||||||
<![CDATA[
|
|
||||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') >= DATE_FORMAT(#startDate#, '%Y-%m-%d')
|
|
||||||
]]>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="endDate">
|
|
||||||
<![CDATA[
|
|
||||||
AND DATE_FORMAT(REGDATE, '%Y-%m-%d') <= DATE_FORMAT(#endDate#, '%Y-%m-%d')
|
|
||||||
]]>
|
|
||||||
</isNotEmpty>
|
|
||||||
GROUP BY MSG_GROUP_ID
|
|
||||||
ORDER BY 1=1
|
|
||||||
<isNotEmpty property="searchSortCnd">
|
|
||||||
<isEqual property="searchSortCnd" compareValue="curState">
|
|
||||||
, curState $searchSortOrd$
|
|
||||||
, orderByrsltCode
|
|
||||||
</isEqual>
|
|
||||||
<isNotEqual property="searchSortCnd" compareValue="curState">
|
|
||||||
,$searchSortCnd$
|
|
||||||
</isNotEqual>
|
|
||||||
</isNotEmpty>
|
|
||||||
<isNotEmpty property="searchSortOrd">
|
|
||||||
$searchSortOrd$
|
|
||||||
</isNotEmpty>
|
|
||||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
@ -572,6 +572,26 @@
|
|||||||
|
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<delete id="MjonReservMsgDAO.deleteJJB01MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
||||||
|
|
||||||
|
DELETE FROM MTMSG_B1_DATA
|
||||||
|
WHERE 1=1
|
||||||
|
<iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
||||||
|
#userDataList[]#
|
||||||
|
</iterate>
|
||||||
|
|
||||||
|
</delete>
|
||||||
|
|
||||||
|
<delete id="MjonReservMsgDAO.deleteJJB02MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
||||||
|
|
||||||
|
DELETE FROM MTMSG_B2_DATA
|
||||||
|
WHERE 1=1
|
||||||
|
<iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
||||||
|
#userDataList[]#
|
||||||
|
</iterate>
|
||||||
|
|
||||||
|
</delete>
|
||||||
|
|
||||||
<select id="MjonReservMsgDAO.selectFileNmToAtchFileIdInfo" parameterClass="fileVO" resultClass="fileVO">
|
<select id="MjonReservMsgDAO.selectFileNmToAtchFileIdInfo" parameterClass="fileVO" resultClass="fileVO">
|
||||||
|
|
||||||
SELECT ATCH_FILE_ID AS atchFileId,
|
SELECT ATCH_FILE_ID AS atchFileId,
|
||||||
@ -663,6 +683,30 @@
|
|||||||
|
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="MjonReservMsgDAO.updateRealTimeJJB01MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
||||||
|
|
||||||
|
UPDATE MTMSG_B1_DATA
|
||||||
|
SET INPUT_DATE = NOW() ,
|
||||||
|
RES_DATE = NOW()
|
||||||
|
WHERE 1=1
|
||||||
|
<iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
||||||
|
#userDataList[]#
|
||||||
|
</iterate>
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
|
<update id="MjonReservMsgDAO.updateRealTimeJJB02MsgSeqListByMsgSeq" parameterClass="mjonMsgResvVO">
|
||||||
|
|
||||||
|
UPDATE MTMSG_B2_DATA
|
||||||
|
SET INPUT_DATE = NOW() ,
|
||||||
|
RES_DATE = NOW()
|
||||||
|
WHERE 1=1
|
||||||
|
<iterate prepend="AND USERDATA IN" open="(" close=")" conjunction="," property="userDataList">
|
||||||
|
#userDataList[]#
|
||||||
|
</iterate>
|
||||||
|
|
||||||
|
</update>
|
||||||
|
|
||||||
</sqlMap>
|
</sqlMap>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -633,6 +633,30 @@
|
|||||||
</isNotEmpty>
|
</isNotEmpty>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="mberManageDAO.selectMberDelTypeGrpList" parameterClass="userSearchVO" resultClass="egovMap" remapResults="true">
|
||||||
|
SELECT
|
||||||
|
M.deleteType
|
||||||
|
, CASE
|
||||||
|
WHEN M.deleteType = '01' THEN '기업회원 전환'
|
||||||
|
WHEN M.deleteType = '02' THEN '사용할 일이 없어서'
|
||||||
|
WHEN M.deleteType = '03' THEN '문자 단가 높음'
|
||||||
|
WHEN M.deleteType = '04' THEN '사이트 이용 불만'
|
||||||
|
WHEN M.deleteType = '05' THEN '개인정보 유출 우려'
|
||||||
|
WHEN M.deleteType = '06' THEN '다른 사이트 이용'
|
||||||
|
ELSE '해지사유 직접 입력'
|
||||||
|
END deleteTypeName
|
||||||
|
, M.deleteTypeCnt
|
||||||
|
FROM (
|
||||||
|
SELECT
|
||||||
|
DELETE_TYPE AS deleteType
|
||||||
|
, COUNT(0) deleteTypeCnt
|
||||||
|
FROM lettngnrlmber
|
||||||
|
WHERE MBER_STTUS = 'N'
|
||||||
|
GROUP BY DELETE_TYPE
|
||||||
|
) M
|
||||||
|
ORDER BY M.deleteTypeCnt DESC
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="mberManageDAO.selectEmailSendMberList" parameterClass="userSearchVO" resultClass="egovMap" remapResults="true">
|
<select id="mberManageDAO.selectEmailSendMberList" parameterClass="userSearchVO" resultClass="egovMap" remapResults="true">
|
||||||
SELECT
|
SELECT
|
||||||
MBER_ID userId
|
MBER_ID userId
|
||||||
@ -729,7 +753,8 @@
|
|||||||
A.SMISHING_YN smishingYn,
|
A.SMISHING_YN smishingYn,
|
||||||
A.VIP_YN vipYn,
|
A.VIP_YN vipYn,
|
||||||
A.EXCEPT_SPAM_YN AS exceptSpamYn,
|
A.EXCEPT_SPAM_YN AS exceptSpamYn,
|
||||||
A.HOTLINE_AGENT_CODE AS hotlineAgentCode
|
A.HOTLINE_AGENT_CODE AS hotlineAgentCode,
|
||||||
|
A.AT_SMISHING_YN atSmishingYn
|
||||||
FROM LETTNGNRLMBER A
|
FROM LETTNGNRLMBER A
|
||||||
LEFT JOIN MJ_CANDIDATE_INFO MCI
|
LEFT JOIN MJ_CANDIDATE_INFO MCI
|
||||||
ON A.MBER_ID = MCI.MBER_ID
|
ON A.MBER_ID = MCI.MBER_ID
|
||||||
|
|||||||
@ -1328,6 +1328,15 @@
|
|||||||
WHERE MBER_ID = #mberId#
|
WHERE MBER_ID = #mberId#
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="userManageDAO.selectAtSmishingYnUserInfo" parameterClass="userVO" resultClass="userVO">
|
||||||
|
SELECT
|
||||||
|
MBER_ID AS mberId,
|
||||||
|
MBER_NM AS mberNm,
|
||||||
|
AT_SMISHING_YN AS atSmishingYn
|
||||||
|
FROM LETTNGNRLMBER
|
||||||
|
WHERE MBER_ID = #mberId#
|
||||||
|
</select>
|
||||||
|
|
||||||
<update id="userManageDAO.updateUserSmishingYn" parameterClass="userVO">
|
<update id="userManageDAO.updateUserSmishingYn" parameterClass="userVO">
|
||||||
UPDATE
|
UPDATE
|
||||||
LETTNGNRLMBER
|
LETTNGNRLMBER
|
||||||
@ -1337,6 +1346,15 @@
|
|||||||
AND MBER_ID = #mberId#
|
AND MBER_ID = #mberId#
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
|
<update id="userManageDAO.updateUserAtSmishingYn" parameterClass="userVO">
|
||||||
|
UPDATE
|
||||||
|
LETTNGNRLMBER
|
||||||
|
SET
|
||||||
|
AT_SMISHING_YN = #atSmishingYn#
|
||||||
|
WHERE 1=1
|
||||||
|
AND MBER_ID = #mberId#
|
||||||
|
</update>
|
||||||
|
|
||||||
<update id="userManageDAO.updateUserPrePaymentYn" parameterClass="userVO">
|
<update id="userManageDAO.updateUserPrePaymentYn" parameterClass="userVO">
|
||||||
UPDATE
|
UPDATE
|
||||||
LETTNGNRLMBER
|
LETTNGNRLMBER
|
||||||
|
|||||||
@ -1182,6 +1182,45 @@ function fnMberSmishingYn(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//알림톡 스미싱의심 여부
|
||||||
|
function fnMberAtSmishingYn(){
|
||||||
|
var form = document.mberManageVO;
|
||||||
|
var atSmishingYn = form.atSmishingYn.value;
|
||||||
|
|
||||||
|
if(confirm("알림톡 스미싱의심 여부를 변경하시겠습니까?")){
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/uss/umt/user/EgovGnrlUpdateUserAtSmishingAjax.do",
|
||||||
|
data: {"atSmishingYn" : atSmishingYn, "mberId" : "${mberManageVO.mberId}"},
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success: function (data, status) {
|
||||||
|
if (data.isSuccess) {
|
||||||
|
alert("변경 완료했습니다.");
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
alert(data.msg);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
beforeSend: function () {
|
||||||
|
//로딩창 show
|
||||||
|
$('.loading_layer').addClass('active');
|
||||||
|
},
|
||||||
|
complete: function () {
|
||||||
|
//로딩창 hide
|
||||||
|
$('.loading_layer').removeClass('active');
|
||||||
|
},
|
||||||
|
error: function (e) {
|
||||||
|
alert("에러가 발생했습니다."); console.log("ERROR : ", e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
// VIP 여부
|
// VIP 여부
|
||||||
function fnMberVIPYn(){
|
function fnMberVIPYn(){
|
||||||
var form = document.mberManageVO;
|
var form = document.mberManageVO;
|
||||||
@ -1230,7 +1269,7 @@ function fnMberHotlineAgentYn(){
|
|||||||
$.ajax({
|
$.ajax({
|
||||||
type: "POST",
|
type: "POST",
|
||||||
url: "/uss/umt/user/EgovGnrlUpdateUserHotlineAgentCodeAjax.do",
|
url: "/uss/umt/user/EgovGnrlUpdateUserHotlineAgentCodeAjax.do",
|
||||||
data: {"hotlineAgentCode" : hotlineAgentCode, "mberId" : "${mberManageVO.mberId}"},
|
data: {"hotlineAgentCode" : hotlineAgentCode, "mberId" : "${mberManageVO.mberId}", "hotlineAgentName" : $("select[name=hotlineAgentCode] option:selected").text()},
|
||||||
dataType:'json',
|
dataType:'json',
|
||||||
async: false,
|
async: false,
|
||||||
success: function (data, status) {
|
success: function (data, status) {
|
||||||
@ -2535,6 +2574,20 @@ function fnMberExceptSpamYn(){
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<%--
|
||||||
|
<tr>
|
||||||
|
<th>스미싱 의심(카톡)</th>
|
||||||
|
<td>
|
||||||
|
<select name="atSmishingYn" id="atSmishingYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberAtSmishingYn();">
|
||||||
|
<option value="Y" <c:if test="${mberManageVO.atSmishingYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
|
||||||
|
<option value="N" <c:if test="${mberManageVO.atSmishingYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<th></th>
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
--%>
|
||||||
<tr>
|
<tr>
|
||||||
<th>전용 전송사</th>
|
<th>전용 전송사</th>
|
||||||
<td>
|
<td>
|
||||||
@ -2969,6 +3022,20 @@ function fnMberExceptSpamYn(){
|
|||||||
</select>
|
</select>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<%--
|
||||||
|
<tr>
|
||||||
|
<th>스미싱 의심(카톡)</th>
|
||||||
|
<td>
|
||||||
|
<select name="atSmishingYn" id="atSmishingYn" style="width:150px;" onFocus='this.initialSelect = this.selectedIndex;' onChange="javascript:fnMberAtSmishingYn();">
|
||||||
|
<option value="Y" <c:if test="${mberManageVO.atSmishingYn == 'Y'}">selected="selected"</c:if>>온(On)</option>
|
||||||
|
<option value="N" <c:if test="${mberManageVO.atSmishingYn == 'N'}">selected="selected"</c:if>>오프(Off)</option>
|
||||||
|
</select>
|
||||||
|
</td>
|
||||||
|
<th></th>
|
||||||
|
<td>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
--%>
|
||||||
<tr>
|
<tr>
|
||||||
<th>전용 전송사</th>
|
<th>전용 전송사</th>
|
||||||
<td>
|
<td>
|
||||||
@ -4810,27 +4877,27 @@ function fnMberExceptSpamYn(){
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>단문 금액</th>
|
<th>단문 금액</th>
|
||||||
<td><input type="text" name="shortPrice" id="shortPrice" value="<c:out value='${mberManageVO.shortPrice}'/>"/></td>
|
<td><input type="text" name="shortPrice" id="shortPrice" value="<c:out value='${shortPrice}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>장문 금액</th>
|
<th>장문 금액</th>
|
||||||
<td><input type="text" name="longPrice" id="longPrice" value="<c:out value='${mberManageVO.longPrice}'/>"/></td>
|
<td><input type="text" name="longPrice" id="longPrice" value="<c:out value='${longPrice}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>그림1장 금액</th>
|
<th>그림1장 금액</th>
|
||||||
<td><input type="text" name="picturePrice" id="picturePrice" value="<c:out value='${mberManageVO.picturePrice}'/>"/></td>
|
<td><input type="text" name="picturePrice" id="picturePrice" value="<c:out value='${picturePrice}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>그림2장 금액</th>
|
<th>그림2장 금액</th>
|
||||||
<td><input type="text" name="picture2Price" id="picture2Price" value="<c:out value='${mberManageVO.picture2Price}'/>"/></td>
|
<td><input type="text" name="picture2Price" id="picture2Price" value="<c:out value='${picture2Price}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>그림3장 금액</th>
|
<th>그림3장 금액</th>
|
||||||
<td><input type="text" name="picture3Price" id="picture3Price" value="<c:out value='${mberManageVO.picture3Price}'/>"/></td>
|
<td><input type="text" name="picture3Price" id="picture3Price" value="<c:out value='${picture3Price}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>알림톡 금액</th>
|
<th>알림톡 금액</th>
|
||||||
<td><input type="text" name="kakaoAtPrice" id="kakaoAtPrice" value="<c:out value='${mberManageVO.kakaoAtPrice}'/>"/></td>
|
<td><input type="text" name="kakaoAtPrice" id="kakaoAtPrice" value="<c:out value='${kakaoAtPrice}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
@ -4854,7 +4921,7 @@ function fnMberExceptSpamYn(){
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<th>팩스 금액</th>
|
<th>팩스 금액</th>
|
||||||
<td><input type="text" name="faxPrice" id="faxPrice" value="<c:out value='${mberManageVO.faxPrice}'/>"/></td>
|
<td><input type="text" name="faxPrice" id="faxPrice" value="<c:out value='${faxPrice}'/>"/></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|||||||
@ -295,8 +295,8 @@ function fnSetCalMonth(val) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//스미싱의심 온/오프
|
//알림톡 스미싱의심 온/오프
|
||||||
function fnSmishingUpdate(flag) {
|
function fnAtSmishingUpdate(flag) {
|
||||||
if($("input:checkbox[name='checkField']").is(":checked")==false){
|
if($("input:checkbox[name='checkField']").is(":checked")==false){
|
||||||
alert("선택된 항목이 없습니다.");
|
alert("선택된 항목이 없습니다.");
|
||||||
return;
|
return;
|
||||||
@ -322,15 +322,15 @@ function fnSmishingUpdate(flag) {
|
|||||||
if(checkedIds.length > 0) {
|
if(checkedIds.length > 0) {
|
||||||
var msg = "";
|
var msg = "";
|
||||||
if(flag == 'on') {
|
if(flag == 'on') {
|
||||||
document.listForm.smishingYn.value='Y';
|
document.listForm.atSmishingYn.value='Y';
|
||||||
msg = "선택하신 사용자의 스미싱의심을 On 하시겠습니까?";
|
msg = "선택하신 사용자의 알림톡 스미싱의심을 On 하시겠습니까?";
|
||||||
} else {
|
} else {
|
||||||
document.listForm.smishingYn.value='N';
|
document.listForm.atSmishingYn.value='N';
|
||||||
msg = "선택하신 사용자의 스미싱의심을 Off 하시겠습니까?";
|
msg = "선택하신 사용자의 알림톡 스미싱의심을 Off 하시겠습니까?";
|
||||||
}
|
}
|
||||||
if(confirm(msg)){
|
if(confirm(msg)){
|
||||||
document.listForm.checkedIdForDel.value=checkedIds;
|
document.listForm.checkedIdForDel.value=checkedIds;
|
||||||
document.listForm.action = "<c:url value='/uss/ion/msg/MsgUsersSmishingUpdate.do'/>";
|
document.listForm.action = "<c:url value='/uss/ion/msg/MsgUsersAtSmishingUpdate.do'/>";
|
||||||
document.listForm.submit();
|
document.listForm.submit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -369,7 +369,7 @@ function fnSmishingUpdate(flag) {
|
|||||||
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
||||||
<input type="hidden" name="adminSmsNoticeYn" value=""/>
|
<input type="hidden" name="adminSmsNoticeYn" value=""/>
|
||||||
<input name="checkedIdForDel" type="hidden" />
|
<input name="checkedIdForDel" type="hidden" />
|
||||||
<input type="hidden" name="smishingYn" value=""/>
|
<input type="hidden" name="atSmishingYn" value=""/>
|
||||||
|
|
||||||
<div class="contWrap">
|
<div class="contWrap">
|
||||||
<div class="pageTitle">
|
<div class="pageTitle">
|
||||||
@ -506,7 +506,7 @@ function fnSmishingUpdate(flag) {
|
|||||||
<c:out value="${result.yellowId}"/>
|
<c:out value="${result.yellowId}"/>
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
<%-- <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>>
|
<%-- <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>>
|
||||||
<c:out value="${result.callFrom}"/>
|
<c:out value="${result.callFrom}"/>
|
||||||
</td> --%>
|
</td> --%>
|
||||||
|
|
||||||
@ -552,7 +552,7 @@ function fnSmishingUpdate(flag) {
|
|||||||
<c:out value="${result.msgTypeName}"/>
|
<c:out value="${result.msgTypeName}"/>
|
||||||
</td>
|
</td>
|
||||||
<%-- <td><c:out value="${result.conectMthdTxt}"/></td> --%>
|
<%-- <td><c:out value="${result.conectMthdTxt}"/></td> --%>
|
||||||
<%-- <td <c:if test="${result.smishingYn eq 'Y'}">class="smishing"</c:if>>
|
<%-- <td <c:if test="${result.atSmishingYn eq 'Y'}">class="atSmishingYn"</c:if>>
|
||||||
<c:out value="${result.agentCodeTxt}"/>
|
<c:out value="${result.agentCodeTxt}"/>
|
||||||
</td> --%>
|
</td> --%>
|
||||||
<%-- <td><c:out value="${result.rsltNet}"/></td> --%>
|
<%-- <td><c:out value="${result.rsltNet}"/></td> --%>
|
||||||
@ -565,10 +565,10 @@ function fnSmishingUpdate(flag) {
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
<div class="btnWrap" style="margin-bottom: 15px;">
|
<div class="btnWrap" style="margin-bottom: 15px;">
|
||||||
<!-- <input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmsNotiUpdate('on'); return false;" value="법인폰 ON">
|
<!--
|
||||||
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmsNotiUpdate('off'); return false;" value="법인폰 OFF">
|
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnAtSmishingUpdate('on'); return false;" value="알림톡 스미싱 ON">
|
||||||
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('on'); return false;" value="스미싱 ON">
|
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnAtSmishingUpdate('off'); return false;" value="알림톡 스미싱 OFF">
|
||||||
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('off'); return false;" value="스미싱 OFF"> -->
|
-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- 페이지 네비게이션 시작 -->
|
<!-- 페이지 네비게이션 시작 -->
|
||||||
|
|||||||
@ -212,7 +212,7 @@
|
|||||||
<div class="tableWrap">
|
<div class="tableWrap">
|
||||||
<table class="tbType1">
|
<table class="tbType1">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width:4%;">
|
<col style="width:5%;">
|
||||||
<col style="width:3%;">
|
<col style="width:3%;">
|
||||||
<col style="width:auto;">
|
<col style="width:auto;">
|
||||||
</colgroup>
|
</colgroup>
|
||||||
|
|||||||
@ -77,11 +77,11 @@ $(document).ready(function(){
|
|||||||
<table class="tType4">
|
<table class="tType4">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 40px;">
|
<col style="width: 40px;">
|
||||||
<col style="width: 16%;">
|
<col style="width: 14%;">
|
||||||
<col style="width: 12%;">
|
<col style="width: 7%;">
|
||||||
<col style="width: 10%;">
|
<col style="width: 10%;">
|
||||||
|
<col style="width: 18%;">
|
||||||
<col style="width: 12%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 13%;">
|
|
||||||
<col style="width: 10%;">
|
<col style="width: 10%;">
|
||||||
<col style="width: 12%;">
|
<col style="width: 12%;">
|
||||||
<col style="width: 7%;">
|
<col style="width: 7%;">
|
||||||
|
|||||||
@ -97,6 +97,7 @@ function listSortOrd(obj){
|
|||||||
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
|
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
|
||||||
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
<input type="hidden" name="searchSortCnd" value="<c:out value="${searchVO.searchSortCnd}" />" />
|
||||||
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
<input type="hidden" name="searchSortOrd" value="<c:out value="${searchVO.searchSortOrd}" />" />
|
||||||
|
<input type="hidden" id="msgGroupId" name="msgGroupId" value="${kakaoSentVO.msgGroupId}"/>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -451,6 +451,14 @@ function txtExport(event){
|
|||||||
|
|
||||||
$(document).ready(function (){
|
$(document).ready(function (){
|
||||||
|
|
||||||
|
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N' && blineCodeYn != ''){
|
||||||
|
$('input[name="send_adYn"]').val(['Y']);
|
||||||
|
$(".send_adYnN").css('display', 'none');
|
||||||
|
advMsgInsert();
|
||||||
|
}
|
||||||
|
|
||||||
//미리보기 이미지 영역 숨김 처리
|
//미리보기 이미지 영역 숨김 처리
|
||||||
$('.preiew_img').hide();
|
$('.preiew_img').hide();
|
||||||
$('.prePhoto').hide();
|
$('.prePhoto').hide();
|
||||||
@ -1497,6 +1505,13 @@ $(document).ready(function (){
|
|||||||
//일반문자 라이오 선택해 주기
|
//일반문자 라이오 선택해 주기
|
||||||
$("#send_adYnN").prop("checked", true);
|
$("#send_adYnN").prop("checked", true);
|
||||||
|
|
||||||
|
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N' && blineCodeYn != ''){
|
||||||
|
$('input[name="send_adYn"]').val(['Y']);
|
||||||
|
$(".send_adYnN").css('display', 'none');
|
||||||
|
}
|
||||||
|
|
||||||
$('.delLi').each(function(){
|
$('.delLi').each(function(){
|
||||||
|
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
@ -2948,6 +2963,14 @@ function fnTestSend(){
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N'){
|
||||||
|
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
||||||
|
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||||
//if (getMsgGroupDataErrorCheck() == false) {
|
//if (getMsgGroupDataErrorCheck() == false) {
|
||||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||||
@ -3496,6 +3519,7 @@ $(".btn_event_cash").off().on("click", function(){
|
|||||||
<input type="hidden" id="evnShortMsgCnt" name="evnShortMsgCnt" value="0"/><!-- 치환 이벤트 단문 건수 -->
|
<input type="hidden" id="evnShortMsgCnt" name="evnShortMsgCnt" value="0"/><!-- 치환 이벤트 단문 건수 -->
|
||||||
<input type="hidden" id="evnLongMsgCnt" name="evnLongMsgCnt" value="0"/><!-- 치환 이벤트 장문 건수 -->
|
<input type="hidden" id="evnLongMsgCnt" name="evnLongMsgCnt" value="0"/><!-- 치환 이벤트 장문 건수 -->
|
||||||
|
|
||||||
|
<input type="hidden" id="blineCode" name="blineCode" value="<c:out value="${blineCode}"/>"/>
|
||||||
|
|
||||||
<!-- <div class="top_content current" id="tab1_1"> -->
|
<!-- <div class="top_content current" id="tab1_1"> -->
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
@ -3525,8 +3549,8 @@ $(".btn_event_cash").off().on("click", function(){
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">문자분류</th>
|
<th scope="row">문자분류</th>
|
||||||
<td class="send_cf">
|
<td class="send_cf">
|
||||||
<input id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
<input class="send_adYnN" id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
||||||
<label for="send_adYnN">일반</label>
|
<label class="send_adYnN" for="send_adYnN">일반</label>
|
||||||
<input id="send_adYnY" type="radio" name="send_adYn" value="Y">
|
<input id="send_adYnY" type="radio" name="send_adYn" value="Y">
|
||||||
<label for="send_adYnY">광고</label>
|
<label for="send_adYnY">광고</label>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -857,7 +857,28 @@ function checkConf() {
|
|||||||
|
|
||||||
return confCheck;
|
return confCheck;
|
||||||
}
|
}
|
||||||
|
function blineSendCheck(blineCode) {
|
||||||
|
|
||||||
|
var confCheck = false;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/web/mjon/conf/selectBlineSendCheckAjax.do",
|
||||||
|
data: {"agentCode":blineCode},
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success: function (returnData, status) {
|
||||||
|
if(returnData.result == "fail") {
|
||||||
|
console.log(returnData.message);
|
||||||
|
}else if(returnData.result == "success"){
|
||||||
|
confCheck = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error: function (e) {console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
|
||||||
|
return confCheck;
|
||||||
|
}
|
||||||
|
|
||||||
//문자발송 처리 함수
|
//문자발송 처리 함수
|
||||||
function fn_sendMsgData(){
|
function fn_sendMsgData(){
|
||||||
@ -905,6 +926,15 @@ function fn_sendMsgData(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N'){
|
||||||
|
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
||||||
|
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||||
//if (getMsgGroupDataErrorCheck() == false) {
|
//if (getMsgGroupDataErrorCheck() == false) {
|
||||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||||
|
|||||||
@ -595,8 +595,17 @@ function txtExport(event){
|
|||||||
|
|
||||||
$(document).ready(function (){
|
$(document).ready(function (){
|
||||||
|
|
||||||
|
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N' && blineCodeYn != ''){
|
||||||
|
$('input[name="send_adYn"]').val(['Y']);
|
||||||
|
$(".send_adYnN").css('display', 'none');
|
||||||
|
advMsgInsert();
|
||||||
|
}
|
||||||
|
|
||||||
$('.bottom_content .area_total_count').hide();
|
$('.bottom_content .area_total_count').hide();
|
||||||
|
|
||||||
|
//미리보기 이미지 영역 숨김 처리
|
||||||
$('.preiew_img').hide();
|
$('.preiew_img').hide();
|
||||||
$('.prePhoto').hide();
|
$('.prePhoto').hide();
|
||||||
|
|
||||||
@ -1685,6 +1694,13 @@ $(document).ready(function (){
|
|||||||
//일반문자 라이오 선택해 주기
|
//일반문자 라이오 선택해 주기
|
||||||
$("#send_adYnN").prop("checked", true);
|
$("#send_adYnN").prop("checked", true);
|
||||||
|
|
||||||
|
// Bline 확연 및 라디오 버튼 클릭 이벤트 추가
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N' && blineCodeYn != ''){
|
||||||
|
$('input[name="send_adYn"]').val(['Y']);
|
||||||
|
$(".send_adYnN").css('display', 'none');
|
||||||
|
}
|
||||||
|
|
||||||
$('.delLi').each(function(){
|
$('.delLi').each(function(){
|
||||||
|
|
||||||
$(this).remove();
|
$(this).remove();
|
||||||
@ -2675,6 +2691,13 @@ function fnTestSend(){
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N'){
|
||||||
|
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
||||||
|
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||||
//if (getMsgGroupDataErrorCheck() == false) {
|
//if (getMsgGroupDataErrorCheck() == false) {
|
||||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||||
@ -3014,6 +3037,8 @@ $(".btn_event_cash").off().on("click", function(){
|
|||||||
<input type="hidden" id="evnShortMsgCnt" name="evnShortMsgCnt" value="0"/><!-- 치환 이벤트 단문 건수 -->
|
<input type="hidden" id="evnShortMsgCnt" name="evnShortMsgCnt" value="0"/><!-- 치환 이벤트 단문 건수 -->
|
||||||
<input type="hidden" id="evnLongMsgCnt" name="evnLongMsgCnt" value="0"/><!-- 치환 이벤트 장문 건수 -->
|
<input type="hidden" id="evnLongMsgCnt" name="evnLongMsgCnt" value="0"/><!-- 치환 이벤트 장문 건수 -->
|
||||||
|
|
||||||
|
<input type="hidden" id="blineCode" name="blineCode" value="<c:out value="${blineCode}"/>"/>
|
||||||
|
|
||||||
<!-- <div class="top_content get_excel" id="tab1_2"> -->
|
<!-- <div class="top_content get_excel" id="tab1_2"> -->
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
<h2>대량문자/단체문자 전송</h2>
|
<h2>대량문자/단체문자 전송</h2>
|
||||||
@ -3043,8 +3068,8 @@ $(".btn_event_cash").off().on("click", function(){
|
|||||||
<tr>
|
<tr>
|
||||||
<th scope="row">문자분류</th>
|
<th scope="row">문자분류</th>
|
||||||
<td class="send_cf">
|
<td class="send_cf">
|
||||||
<input id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
<input class="send_adYnN" id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
||||||
<label for="send_adYnN">일반</label>
|
<label class="send_adYnN" for="send_adYnN">일반</label>
|
||||||
<input id="send_adYnY" type="radio" name="send_adYn" value="Y">
|
<input id="send_adYnY" type="radio" name="send_adYn" value="Y">
|
||||||
<label for="send_adYnY">광고</label>
|
<label for="send_adYnY">광고</label>
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
@ -471,6 +471,29 @@ function checkConf() {
|
|||||||
return confCheck;
|
return confCheck;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function blineSendCheck(blineCode) {
|
||||||
|
|
||||||
|
var confCheck = false;
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
type: "POST",
|
||||||
|
url: "/web/mjon/conf/selectBlineSendCheckAjax.do",
|
||||||
|
data: {"agentCode":blineCode},
|
||||||
|
dataType:'json',
|
||||||
|
async: false,
|
||||||
|
success: function (returnData, status) {
|
||||||
|
if(returnData.result == "fail") {
|
||||||
|
console.log(returnData.message);
|
||||||
|
}else if(returnData.result == "success"){
|
||||||
|
confCheck = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
,error: function (e) {console.log("ERROR : ", e); }
|
||||||
|
});
|
||||||
|
|
||||||
|
return confCheck;
|
||||||
|
}
|
||||||
|
|
||||||
//문자발송 처리 함수
|
//문자발송 처리 함수
|
||||||
function fn_sendMsgData(){
|
function fn_sendMsgData(){
|
||||||
|
|
||||||
@ -515,6 +538,14 @@ function fn_sendMsgData(){
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var blineCodeYn = $("#blineCode").val();
|
||||||
|
if(blineCodeYn != 'N'){
|
||||||
|
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
||||||
|
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||||
//if (getMsgGroupDataErrorCheck() == false) {
|
//if (getMsgGroupDataErrorCheck() == false) {
|
||||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||||
|
|||||||
@ -170,7 +170,16 @@ function winPrint() {
|
|||||||
</c:otherwise>
|
</c:otherwise>
|
||||||
</c:choose>
|
</c:choose>
|
||||||
</td>
|
</td>
|
||||||
<td><fmt:formatNumber value="${sList.caseNumber}" pattern=""/></td>
|
<td>
|
||||||
|
<c:choose>
|
||||||
|
<c:when test="${sList.smsItemName eq '팩스'}">
|
||||||
|
<fmt:formatNumber value="${sList.caseNumber * sList.casePage}" pattern=""/>
|
||||||
|
</c:when>
|
||||||
|
<c:otherwise>
|
||||||
|
<fmt:formatNumber value="${sList.caseNumber}" pattern=""/>
|
||||||
|
</c:otherwise>
|
||||||
|
</c:choose>
|
||||||
|
</td>
|
||||||
<td><c:out value="${sList.supplyPrice}"/></td>
|
<td><c:out value="${sList.supplyPrice}"/></td>
|
||||||
<td><c:out value="${sList.vatPrice}"/></td>
|
<td><c:out value="${sList.vatPrice}"/></td>
|
||||||
<td><c:out value="${sList.totPrice}"/></td>
|
<td><c:out value="${sList.totPrice}"/></td>
|
||||||
|
|||||||
@ -176,7 +176,12 @@ function setItemAddHtml() {
|
|||||||
else {
|
else {
|
||||||
sHtml += " <div>" + element.unitPrice + "</div>";
|
sHtml += " <div>" + element.unitPrice + "</div>";
|
||||||
}
|
}
|
||||||
sHtml += " <div>" + numberWithCommas(element.caseNumber) + "</div>";
|
if(element.smsItemName.includes('팩스')){
|
||||||
|
sHtml += " <div>" + numberWithCommas(element.caseNumber * element.casePage) + "</div>";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
sHtml += " <div>" + numberWithCommas(element.caseNumber) + "</div>";
|
||||||
|
}
|
||||||
sHtml += " <div>" + numberWithCommas(element.supplyPrice) + "</div>";
|
sHtml += " <div>" + numberWithCommas(element.supplyPrice) + "</div>";
|
||||||
sHtml += " <div>" + numberWithCommas(element.vatPrice) + "</div>";
|
sHtml += " <div>" + numberWithCommas(element.vatPrice) + "</div>";
|
||||||
sHtml += " <div>" + numberWithCommas(element.totVatPrice) + "</div>";
|
sHtml += " <div>" + numberWithCommas(element.totVatPrice) + "</div>";
|
||||||
|
|||||||
@ -71,10 +71,10 @@ $(document).ready(function(){
|
|||||||
<table class="tType4">
|
<table class="tType4">
|
||||||
<colgroup>
|
<colgroup>
|
||||||
<col style="width: 40px;">
|
<col style="width: 40px;">
|
||||||
|
<col style="width: 8%;">
|
||||||
|
<col style="width: 13%;">
|
||||||
|
<col style="width: 13%;">
|
||||||
<col style="width: 7%;">
|
<col style="width: 7%;">
|
||||||
<col style="width: 11.5%;">
|
|
||||||
<col style="width: 11.5%;">
|
|
||||||
<col style="width: 10%;">
|
|
||||||
<col style="width: 90px;">
|
<col style="width: 90px;">
|
||||||
<col style="width: 8%;">
|
<col style="width: 8%;">
|
||||||
<col style="width: 10%;">
|
<col style="width: 10%;">
|
||||||
@ -92,9 +92,6 @@ $(document).ready(function(){
|
|||||||
<input type="checkbox" id="allCheck" name="allCheck">
|
<input type="checkbox" id="allCheck" name="allCheck">
|
||||||
</th>
|
</th>
|
||||||
<th rowspan="2">발송상태
|
<th rowspan="2">발송상태
|
||||||
<div class="sort_wrap">
|
|
||||||
<input type="button" class="sort sortBtn" id="sort_shipmentStatus">
|
|
||||||
</div>
|
|
||||||
</th>
|
</th>
|
||||||
<th rowspan="2">
|
<th rowspan="2">
|
||||||
접수일자
|
접수일자
|
||||||
|
|||||||
@ -209,6 +209,11 @@
|
|||||||
<td>성공 건수</td>
|
<td>성공 건수</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].test_yn</th>
|
||||||
|
<td>테스트 데이터 여부</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -233,10 +238,12 @@
|
|||||||
<p>, "data":[</p>
|
<p>, "data":[</p>
|
||||||
<div>
|
<div>
|
||||||
<p>"msgGroupId":"MSGGID_0000000000000"</p>
|
<p>"msgGroupId":"MSGGID_0000000000000"</p>
|
||||||
<p>, "msgType":"4"</p>
|
<p>, "msgType":"SMS"</p>
|
||||||
|
<p>, "resultCode":"0"</p>
|
||||||
<p>, "blockCnt":"0"</p>
|
<p>, "blockCnt":"0"</p>
|
||||||
<p>, "failCnt":"0"</p>
|
<p>, "failCnt":"0"</p>
|
||||||
<p>, "successCnt":"3"</p>
|
<p>, "successCnt":"3"</p>
|
||||||
|
<p>, "test_yn":null</p>
|
||||||
</div>
|
</div>
|
||||||
<p>]</p>
|
<p>]</p>
|
||||||
}
|
}
|
||||||
|
|||||||
@ -219,6 +219,11 @@
|
|||||||
<td>성공 건수</td>
|
<td>성공 건수</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].test_yn</th>
|
||||||
|
<td>테스트 데이터 여부</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -239,20 +244,30 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="padding_add">
|
<td class="padding_add">
|
||||||
{
|
{
|
||||||
<p>"resultCode":"0"</p>
|
<p> "resultCode":"0"</p>
|
||||||
<p>, "data":[</p>
|
<p> , "data":[</p>
|
||||||
<div>
|
<p>  "msgGroupIdList":[</p>
|
||||||
<p>"msgGroupIdList":[</p>
|
<p>   {</p>
|
||||||
<p> 0:"MSGGID_0000000000000"</p>
|
<p>    "MSGGID_0000000013451"</p>
|
||||||
<p> 1:"MSGGID_0000000000001"</p>
|
<p>   }</p>
|
||||||
<p> 2:"MSGGID_0000000000002"</p>
|
<p>   ,{</p>
|
||||||
<p>]</p>
|
<p>    "MSGGID_0000000013452"</p>
|
||||||
<p>, "msgType":"LMS"</p>
|
<p>   }</p>
|
||||||
<p>, "blockCnt":"0"</p>
|
<p>  ]</p>
|
||||||
<p>, "failCnt":"0"</p>
|
<p>  ,"msgTypeList":[</p>
|
||||||
<p>, "successCnt":"3"</p>
|
<p>   {</p>
|
||||||
</div>
|
<p>    "SMS"</p>
|
||||||
<p>]</p>
|
<p>   }</p>
|
||||||
|
<p>   ,{</p>
|
||||||
|
<p>    "SMS"</p>
|
||||||
|
<p>   }</p>
|
||||||
|
<p>  ]</p>
|
||||||
|
<p>  ,"resultCode":"0"</p>
|
||||||
|
<p>  ,"successCnt":"2"</p>
|
||||||
|
<p>  ,"failCnt":"0"</p>
|
||||||
|
<p>  ,"blockCnt":"0"</p>
|
||||||
|
<p>  ,"test_yn":null</p>
|
||||||
|
<p> ]</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -4,11 +4,15 @@
|
|||||||
|
|
||||||
<p class="tType1_title">전송내역조회</p>
|
<p class="tType1_title">전송내역조회</p>
|
||||||
<span class="reqTxt4">
|
<span class="reqTxt4">
|
||||||
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
|
최근 요청 및 처리된 전송내역을 조회하실 수 있습니다.
|
||||||
</br>
|
</br>
|
||||||
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
|
사이트 내 전송결과 조회 페이지와 동일한 내역이 조회되며, 날짜 기준으로 조회가 가능합니다.
|
||||||
</br>
|
</br>
|
||||||
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
|
발신번호별 조회 기능은 제공이 되지 않습니다.
|
||||||
|
</br>
|
||||||
|
조회 시작일을 지정하실 수 있으며, 시작일 이전 며칠까지 조회할지 설정이 가능합니다.
|
||||||
|
</br>
|
||||||
|
조회 시 최근 발송내역 순서로 소팅됩니다.
|
||||||
</span>
|
</span>
|
||||||
</br>
|
</br>
|
||||||
</br>
|
</br>
|
||||||
@ -103,7 +107,7 @@
|
|||||||
<th>startDate</th>
|
<th>startDate</th>
|
||||||
<td>시작일자</td>
|
<td>시작일자</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
<td>O</td>
|
<td>X</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>endDate</th>
|
<th>endDate</th>
|
||||||
@ -119,7 +123,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
|
|
||||||
|
|
||||||
|
|
||||||
<ul class="clause_list">
|
<ul class="clause_list">
|
||||||
@ -138,13 +141,13 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="padding_add">
|
<td class="padding_add">
|
||||||
{<br />
|
{<br />
|
||||||
<p>"mberId":"String"</p>
|
<p>"mberId":"홍길동"</p>
|
||||||
<p>,"accessKey":"String"</p>
|
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
|
||||||
<p>,"page":"String"</p>
|
<p>,"page":""</p>
|
||||||
<p>,"pageSize":"String"</p>
|
<p>,"pageSize":""</p>
|
||||||
<p>,"startDate":"String"</p>
|
<p>,"startDate":""</p>
|
||||||
<p>,"endDate":"String"</p>
|
<p>,"endDate":""</p>
|
||||||
<p>,"test_yn":"( YS | YF )"</p>
|
<p>,"test_yn":""</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -185,11 +188,31 @@
|
|||||||
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
|
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
|
||||||
<td>Object</td>
|
<td>Object</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].message</th>
|
||||||
|
<td>문자</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].next_yn</th>
|
||||||
|
<td>다음 페이지 여부</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].objectList</th>
|
||||||
|
<td>결과값 목록</td>
|
||||||
|
<td>Object List</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>[data].msgGroupId</th>
|
<th>[data].msgGroupId</th>
|
||||||
<td>메세지 그룹 ID</td>
|
<td>메세지 그룹 ID</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgId</th>
|
||||||
|
<td>메세지 ID</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>[data].msgTypeName</th>
|
<th>[data].msgTypeName</th>
|
||||||
<td>문자 구분명(단문, 장문, 그림)</td>
|
<td>문자 구분명(단문, 장문, 그림)</td>
|
||||||
@ -206,8 +229,8 @@
|
|||||||
<td>String</td>
|
<td>String</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>[data].msgGroupCnt</th>
|
<th>[data].callTo</th>
|
||||||
<td>문자 발송 건수</td>
|
<td>수신자 번호</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -304,32 +327,65 @@
|
|||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="padding_add">
|
<td class="padding_add">
|
||||||
{
|
{
|
||||||
<p>"resultCode":"0"</p>
|
<p> "resultCode":"0"</p>
|
||||||
<p>, "data":[</p>
|
<p> , "data":[</p>
|
||||||
<div>
|
<p>  {</p>
|
||||||
<p>"msgGroupId":"MSGGID_0000000000000"</p>
|
<p>   "resultCode":"0"</p>
|
||||||
<p>, "msgTypeName":"단문(SMS)"</p>
|
<p>   , "message": null</p>
|
||||||
<p>, "msgType":"4"</p>
|
<p>   , "next_yn":"n"</p>
|
||||||
<p>, "callFrom":"01011112222"</p>
|
<p>   , "msgGroupId":"MSGGID_0000000000000"</p>
|
||||||
<p>, "msgGroupCnt":"2"</p>
|
<p>   , "objectList":[</p>
|
||||||
<p>, "sCnt":"2"</p>
|
<p>    {</p>
|
||||||
<p>, "fCnt":"0"</p>
|
<p>     "msgTypeName":"단문(SMS)"</p>
|
||||||
<p>, "wCnt":"0"</p>
|
<p>     ,"msgType":"4"</p>
|
||||||
<p>, "msgResult":"S"</p>
|
<p>     ,"callFrom":"01011112222"</p>
|
||||||
<p>, "smsTxt":"문자 내용"</p>
|
<p>     ,"callTo":"01011112223"</p>
|
||||||
<p>, "subject":""</p>
|
<p>     ,"msgGroupCnt":"2"</p>
|
||||||
<p>, "reqdate":"2023-04-05 00:00:00"</p>
|
<p>     ,"msgGroupId":"MSGGID_0000000013340"</p>
|
||||||
<p>, "curState":"3"</p>
|
<p>     ,"msgId":"MSGID_0000000000001"</p>
|
||||||
<p>, "userId":"testuser"</p>
|
<p>     ,"scnt":"2"</p>
|
||||||
<p>, "regdate":"3"</p>
|
<p>     ,"fcnt":"0"</p>
|
||||||
<p>, "successCnt":"2023-04-04 16:10:19"</p>
|
<p>     ,"wcnt":"0"</p>
|
||||||
<p>, "reserveCYn":"N"</p>
|
<p>     ,"msgResult":"S"</p>
|
||||||
<p>, "ttlCnt":"4"</p>
|
<p>     ,"smsTxt":"문자 내용 단문 예제"</p>
|
||||||
<p>, "remainMsgCnt":"0"</p>
|
<p>     ,"subject":null</p>
|
||||||
<p>, "totMsgCnt":"3"</p>
|
<p>     ,"reqdate":"2023-06-13 17:48:07"</p>
|
||||||
</div>
|
<p>     ,"curState":"3"</p>
|
||||||
<p>]</p>
|
<p>     ,"userId":"testuser"</p>
|
||||||
|
<p>     ,"regdate":"2023-06-13 17:48:07"</p>
|
||||||
|
<p>     ,"reserveCYn":"N"</p>
|
||||||
|
<p>     ,"ttlCnt":"1"</p>
|
||||||
|
<p>     ,"remainMsgCnt":40"</p>
|
||||||
|
<p>     ,"totMsgCnt":"70"</p>
|
||||||
|
<p>    }</p>
|
||||||
|
<p>    , {</p>
|
||||||
|
<p>     "msgTypeName":"장문(LMS)"</p>
|
||||||
|
<p>     ,"msgType":"6"</p>
|
||||||
|
<p>     ,"callFrom":"01011112222"</p>
|
||||||
|
<p>     ,"callTo":"01011112223"</p>
|
||||||
|
<p>     ,"msgGroupCnt":"1"</p>
|
||||||
|
<p>     ,"msgGroupId":"MSGGID_0000000013341"</p>
|
||||||
|
<p>     ,"msgId":"MSGID_0000000000002"</p>
|
||||||
|
<p>     ,"scnt":"1"</p>
|
||||||
|
<p>     ,"fcnt":"0"</p>
|
||||||
|
<p>     ,"wcnt":"0"</p>
|
||||||
|
<p>     ,"msgResult":"S"</p>
|
||||||
|
<p>     ,"smsTxt":"문자 내용 장문 예제"</p>
|
||||||
|
<p>     ,"subject":null</p>
|
||||||
|
<p>     ,"reqdate":"2023-06-02 11:46:50"</p>
|
||||||
|
<p>     ,"curState":"3"</p>
|
||||||
|
<p>     ,"userId":"testuser"</p>
|
||||||
|
<p>     ,"regdate":"2023-06-02 11:46:49"</p>
|
||||||
|
<p>     ,"reserveCYn":"N"</p>
|
||||||
|
<p>     ,"ttlCnt":"1"</p>
|
||||||
|
<p>     ,"remainMsgCnt":"40"</p>
|
||||||
|
<p>     ,"totMsgCnt":"70"</p>
|
||||||
|
<p>    }</p>
|
||||||
|
<p>   ]</p>
|
||||||
|
|
||||||
|
<p>  }</p>
|
||||||
|
<p> ]</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -355,8 +411,8 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="padding_add">
|
<td class="padding_add">
|
||||||
{
|
{
|
||||||
<p>"resultCode":"1040"</p>
|
<p>"resultCode":"3099"</p>
|
||||||
<p>,"data":"치환 데이터 오류"</p>
|
<p>,"data":"기타 시스템 오류"</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -4,16 +4,18 @@
|
|||||||
|
|
||||||
<p class="tType1_title">전송결과조회(상세)</p>
|
<p class="tType1_title">전송결과조회(상세)</p>
|
||||||
<span class="reqTxt4">
|
<span class="reqTxt4">
|
||||||
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
|
msgGroupId를 사용하여 수신번호별 상태를 조회하실 수 있습니다.
|
||||||
</br>
|
</br>
|
||||||
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
|
수신 전화번호별 전송상태를 조회하실 수 있으며 목록에 없거나 전송 중인 문자는 만 24시간 동안 전송 시도 중인 것입니다.
|
||||||
</br>
|
</br>
|
||||||
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
|
최종 24시간이 경과 후 조회하셔야 완료된 내역을 확인하실 수 있습니다.
|
||||||
</span>
|
</span>
|
||||||
</br>
|
</br>
|
||||||
</br>
|
</br>
|
||||||
|
|
||||||
|
<p class="tType1_title">
|
||||||
|
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
|
||||||
|
</p>
|
||||||
<ul class="clause_list">
|
<ul class="clause_list">
|
||||||
<li class="list_open on">
|
<li class="list_open on">
|
||||||
<div class="clause_list_head">
|
<div class="clause_list_head">
|
||||||
@ -53,9 +55,6 @@
|
|||||||
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
|
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<p class="tType1_title">
|
|
||||||
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자
|
|
||||||
</p>
|
|
||||||
<table class="tType2">
|
<table class="tType2">
|
||||||
<caption></caption>
|
<caption></caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -86,26 +85,20 @@
|
|||||||
<td>O</td>
|
<td>O</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>callFrom</th>
|
<th>msgGroupId</th>
|
||||||
<td>발신자 번호 (아이디에 등록되어 있는 번호)</td>
|
<td>메시지그룹 ID</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
<td>O</td>
|
<td>O</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>callToList</th>
|
<th>page</th>
|
||||||
<td>수신자 번호 (콤마(,) 기준으로 입력)</td>
|
<td>페이지 번호</td>
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
<td>O</td>
|
<td>X</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>smsTxt</th>
|
<th>pageSize</th>
|
||||||
<td>메세지 내용</td>
|
<td>페이지당 출력개수</td>
|
||||||
<td>String (1~2,000Byte)</td>
|
|
||||||
<td>O</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>nameStr</th>
|
|
||||||
<td>메세지 내용에 [*이름*]이 있으면 치환용 이름 입력</td>
|
|
||||||
<td>String</td>
|
<td>String</td>
|
||||||
<td>X</td>
|
<td>X</td>
|
||||||
</tr>
|
</tr>
|
||||||
@ -117,7 +110,6 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
|
|
||||||
|
|
||||||
|
|
||||||
<ul class="clause_list">
|
<ul class="clause_list">
|
||||||
@ -136,14 +128,276 @@
|
|||||||
<tr>
|
<tr>
|
||||||
<td class="padding_add">
|
<td class="padding_add">
|
||||||
{<br />
|
{<br />
|
||||||
<p>"mberId":"String"</p>
|
<p>"mberId":"홍길동"</p>
|
||||||
<p>,"accessKey":"String"</p>
|
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
|
||||||
<p>,"callFrom":"String"</p>
|
<p>,"msgGroupId":"MSGGID_0000000011452"</p>
|
||||||
<p>,"callToList":"String"</p>
|
<p>,"page":""</p>
|
||||||
<p>,"smsTxt":"String"</p>
|
<p>,"pageSize":""</p>
|
||||||
<p>,"nameStr":"String"</p>
|
<p>,"test_yn":""</p>
|
||||||
<p>,"callFrom":"String"</p>
|
}
|
||||||
<p>,"test_yn":"( YS | YF )"</p>
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<p class="tType1_title">
|
||||||
|
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
|
||||||
|
</p>
|
||||||
|
<span class="reqTxt4">
|
||||||
|
JSON 객체로 응답 합니다.
|
||||||
|
</span>
|
||||||
|
<table class="tType2">
|
||||||
|
<caption></caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 13%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>키</th>
|
||||||
|
<th>설명</th>
|
||||||
|
<th>타입</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>resultCode</th>
|
||||||
|
<td>성공 여부 ( "0" 아니면 실패 )</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>data</th>
|
||||||
|
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
|
||||||
|
<td>Object</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].message</th>
|
||||||
|
<td>문자</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].next_yn</th>
|
||||||
|
<td>다음 페이지 여부</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].objectList</th>
|
||||||
|
<td>결과값 목록</td>
|
||||||
|
<td>Object List</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgGroupId</th>
|
||||||
|
<td>메세지 그룹 ID</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgId</th>
|
||||||
|
<td>메세지 ID</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgTypeName</th>
|
||||||
|
<td>문자 구분명(단문, 장문, 그림)</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgType</th>
|
||||||
|
<td>메세지 타입 ( 4: 단문, 5: 장문 )</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].callFrom</th>
|
||||||
|
<td>발신자 번호</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].callTo</th>
|
||||||
|
<td>수신자 번호</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgGroupCnt</th>
|
||||||
|
<td>문자 발송 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].sCnt</th>
|
||||||
|
<td>성공 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].fCnt</th>
|
||||||
|
<td>실패 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].wCnt</th>
|
||||||
|
<td>대기 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].msgResult</th>
|
||||||
|
<td>발송결과( 성공 : S, 실패 : F)</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].smsTxt</th>
|
||||||
|
<td>문자내용</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].subject</th>
|
||||||
|
<td>제목</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].reqdate</th>
|
||||||
|
<td>발송 일자</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].curState</th>
|
||||||
|
<td>전송 처리 결과값</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].userId</th>
|
||||||
|
<td>사용자 ID</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].regdate</th>
|
||||||
|
<td>등록 일자</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].reserveCYn</th>
|
||||||
|
<td>예약 취소 여부</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].ttlCnt</th>
|
||||||
|
<td>전체 요청 수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].remainMsgCnt</th>
|
||||||
|
<td>남은 문자 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].totMsgCnt</th>
|
||||||
|
<td>전체 문자 개수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<span class="reqTxt4">* 성공 예시</span>
|
||||||
|
<ul class="clause_list">
|
||||||
|
<li class="list_open on">
|
||||||
|
<div class="clause_list_head">
|
||||||
|
<div class="list_head_in">
|
||||||
|
<span>Example</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clause_list_body">
|
||||||
|
<table class="">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="padding_add">
|
||||||
|
{
|
||||||
|
<p> "resultCode":"0"</p>
|
||||||
|
<p> , "data":[</p>
|
||||||
|
<p>  {</p>
|
||||||
|
<p>   "resultCode":"0"</p>
|
||||||
|
<p>   , "message":null</p>
|
||||||
|
<p>   , "next_yn":null</p>
|
||||||
|
<p>   , "objectList":[</p>
|
||||||
|
<p>    {</p>
|
||||||
|
<p>     msgTypeName":"단문(SMS)"</p>
|
||||||
|
<p>     ,"msgType":"4"</p>
|
||||||
|
<p>     ,"callFrom":"01011112222"</p>
|
||||||
|
<p>     ,"callTo":"01011112223"</p>
|
||||||
|
<p>     ,"msgGroupCnt":"2"</p>
|
||||||
|
<p>     ,"msgGroupId":"MSGGID_0000000013340"</p>
|
||||||
|
<p>     ,"msgId":"MSGID_0000000000001"</p>
|
||||||
|
<p>     ,"scnt":null</p>
|
||||||
|
<p>     ,"fcnt":null</p>
|
||||||
|
<p>     ,"wcnt":null</p>
|
||||||
|
<p>     ,"msgResult":"S"</p>
|
||||||
|
<p>     ,"smsTxt":"문자 내용 단문 예제"</p>
|
||||||
|
<p>     ,"subject":null</p>
|
||||||
|
<p>     ,"reqdate":"2023-06-13 17:48:08"</p>
|
||||||
|
<p>     ,"curState":"3"</p>
|
||||||
|
<p>     ,"userId":"testuser"</p>
|
||||||
|
<p>     ,"regdate":"2023-06-13 17:48:07"</p>
|
||||||
|
<p>     ,"reserveCYn":"N"</p>
|
||||||
|
<p>     ,"ttlCnt":"10"</p>
|
||||||
|
<p>     ,"remainMsgCnt":"0"</p>
|
||||||
|
<p>     ,"totMsgCnt":"10"</p>
|
||||||
|
<p>    }</p>
|
||||||
|
<p>    , {</p>
|
||||||
|
<p>     msgTypeName":"단문(LMS)"</p>
|
||||||
|
<p>     ,"msgType":"4"</p>
|
||||||
|
<p>     ,"callFrom":"01011112222"</p>
|
||||||
|
<p>     ,"callTo":"01011112224"</p>
|
||||||
|
<p>     ,"msgGroupCnt":"2"</p>
|
||||||
|
<p>     ,"msgGroupId":"MSGGID_0000000013340"</p>
|
||||||
|
<p>     ,"msgId":"MSGID_0000000000002"</p>
|
||||||
|
<p>     ,"scnt":null</p>
|
||||||
|
<p>     ,"fcnt":null</p>
|
||||||
|
<p>     ,"wcnt":null</p>
|
||||||
|
<p>     ,"msgResult":"S"</p>
|
||||||
|
<p>     ,"smsTxt":"문자 내용 단문 예제"</p>
|
||||||
|
<p>     ,"subject":null</p>
|
||||||
|
<p>     ,"reqdate":"2023-06-13 17:48:09"</p>
|
||||||
|
<p>     ,"curState":"3"</p>
|
||||||
|
<p>     ,"userId":"testuser"</p>
|
||||||
|
<p>     ,"regdate":"2023-06-13 17:48:07"</p>
|
||||||
|
<p>     ,"reserveCYn":"N"</p>
|
||||||
|
<p>     ,"ttlCnt":"10"</p>
|
||||||
|
<p>     ,"remainMsgCnt":"0"</p>
|
||||||
|
<p>     ,"totMsgCnt":"10"</p>
|
||||||
|
<p>    }</p>
|
||||||
|
<p>   ]</p>
|
||||||
|
|
||||||
|
<p>  }</p>
|
||||||
|
<p> ]</p>
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<span class="reqTxt4">* 실패 예시</span>
|
||||||
|
<ul class="clause_list">
|
||||||
|
<li class="list_open on">
|
||||||
|
<div class="clause_list_head">
|
||||||
|
<div class="list_head_in">
|
||||||
|
<span>Example</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clause_list_body">
|
||||||
|
<table class="">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="padding_add">
|
||||||
|
{
|
||||||
|
<p>"resultCode":"4099"</p>
|
||||||
|
<p>,"data":"기타 시스템 오류"</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -4,16 +4,18 @@
|
|||||||
|
|
||||||
<p class="tType1_title">발송가능건수</p>
|
<p class="tType1_title">발송가능건수</p>
|
||||||
<span class="reqTxt4">
|
<span class="reqTxt4">
|
||||||
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
|
보유한 잔여 포인트로 발송 가능한 잔여 건수를 문자 구분(유형) 별로 조회하실 수 있습니다.
|
||||||
</br>
|
</br>
|
||||||
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
|
SMS, LMS, MMS로 발송 시 가능한 잔여 건수이며 남은 충전금을 문자유형별로 보냈을 경우 가능한 잔여 건입니다.
|
||||||
</br>
|
</br>
|
||||||
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
|
예를 들어 단문 발송 가능 건수 : 20 , 장문 발송 가능 건수 : 7 인 경우 단문 전송 시 20건이 가능하고, 장문으로 전송 시 7건이 가능합니다.
|
||||||
</span>
|
</span>
|
||||||
</br>
|
</br>
|
||||||
</br>
|
</br>
|
||||||
|
|
||||||
|
<p class="tType1_title">
|
||||||
|
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
|
||||||
|
</p>
|
||||||
<ul class="clause_list">
|
<ul class="clause_list">
|
||||||
<li class="list_open on">
|
<li class="list_open on">
|
||||||
<div class="clause_list_head">
|
<div class="clause_list_head">
|
||||||
@ -53,9 +55,6 @@
|
|||||||
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
|
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
<p class="tType1_title">
|
|
||||||
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자
|
|
||||||
</p>
|
|
||||||
<table class="tType2">
|
<table class="tType2">
|
||||||
<caption></caption>
|
<caption></caption>
|
||||||
<colgroup>
|
<colgroup>
|
||||||
@ -85,40 +84,8 @@
|
|||||||
<td>String</td>
|
<td>String</td>
|
||||||
<td>O</td>
|
<td>O</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
|
||||||
<th>callFrom</th>
|
|
||||||
<td>발신자 번호 (아이디에 등록되어 있는 번호)</td>
|
|
||||||
<td>String</td>
|
|
||||||
<td>O</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>callToList</th>
|
|
||||||
<td>수신자 번호 (콤마(,) 기준으로 입력)</td>
|
|
||||||
<td>String</td>
|
|
||||||
<td>O</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>smsTxt</th>
|
|
||||||
<td>메세지 내용</td>
|
|
||||||
<td>String (1~2,000Byte)</td>
|
|
||||||
<td>O</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>nameStr</th>
|
|
||||||
<td>메세지 내용에 [*이름*]이 있으면 치환용 이름 입력</td>
|
|
||||||
<td>String</td>
|
|
||||||
<td>X</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<th>test_yn</th>
|
|
||||||
<td>테스트 데이터 여부</td>
|
|
||||||
<td>String</td>
|
|
||||||
<td>X</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
|
|
||||||
|
|
||||||
|
|
||||||
<ul class="clause_list">
|
<ul class="clause_list">
|
||||||
<li class="list_open on">
|
<li class="list_open on">
|
||||||
@ -138,12 +105,146 @@
|
|||||||
{<br />
|
{<br />
|
||||||
<p>"mberId":"String"</p>
|
<p>"mberId":"String"</p>
|
||||||
<p>,"accessKey":"String"</p>
|
<p>,"accessKey":"String"</p>
|
||||||
<p>,"callFrom":"String"</p>
|
}
|
||||||
<p>,"callToList":"String"</p>
|
</td>
|
||||||
<p>,"smsTxt":"String"</p>
|
</tr>
|
||||||
<p>,"nameStr":"String"</p>
|
</tbody>
|
||||||
<p>,"callFrom":"String"</p>
|
</table>
|
||||||
<p>,"test_yn":"( YS | YF )"</p>
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p class="tType1_title">
|
||||||
|
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Response]
|
||||||
|
</p>
|
||||||
|
<span class="reqTxt4">
|
||||||
|
JSON 객체로 응답 합니다.
|
||||||
|
</span>
|
||||||
|
<table class="tType2">
|
||||||
|
<caption></caption>
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: 13%;">
|
||||||
|
<col style="width: auto;">
|
||||||
|
<col style="width: 20%;">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th>키</th>
|
||||||
|
<th>설명</th>
|
||||||
|
<th>타입</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<th>resultCode</th>
|
||||||
|
<td>성공 여부 ( "0" 아니면 실패 )</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>data</th>
|
||||||
|
<td>결과값 객체 ( 성공 : 데이터, 실패 : 메세지 )</td>
|
||||||
|
<td>Object</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].longPrice</th>
|
||||||
|
<td>장문 단가</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].longSendPsbltEa</th>
|
||||||
|
<td>장문 발송 가능 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].mberMoney</th>
|
||||||
|
<td>현재 보유 금액</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].message</th>
|
||||||
|
<td>문자</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].picturePrice</th>
|
||||||
|
<td>그림문자 단가</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].pictureSendPsbltEa</th>
|
||||||
|
<td>그림문자 발송 가능 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].shortPrice</th>
|
||||||
|
<td>단문 단가</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th>[data].shortSendPsbltEa</th>
|
||||||
|
<td>단문 발송 가능 건수</td>
|
||||||
|
<td>String</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
<span class="reqTxt4">* 성공 예시</span>
|
||||||
|
<ul class="clause_list">
|
||||||
|
<li class="list_open on">
|
||||||
|
<div class="clause_list_head">
|
||||||
|
<div class="list_head_in">
|
||||||
|
<span>Example</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clause_list_body">
|
||||||
|
<table class="">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="padding_add">
|
||||||
|
{
|
||||||
|
<p> "resultCode":"0"</p>
|
||||||
|
<p> , "data":[</p>
|
||||||
|
<p>  {</p>
|
||||||
|
<p>   "longPrice":"50"</p>
|
||||||
|
<p>   , "longSendPsbltEa": "19651"</p>
|
||||||
|
<p>   , "mberMoney": "982586.7"</p>
|
||||||
|
<p>   , "message": null</p>
|
||||||
|
<p>   , "picturePrice": "90"</p>
|
||||||
|
<p>   , "pictureSendPsbltEa": "10917"</p>
|
||||||
|
<p>   , "shortPrice": "18"</p>
|
||||||
|
<p>   , "shortSendPsbltEa": "54588"</p>
|
||||||
|
<p>  }</p>
|
||||||
|
<p> ]</p>
|
||||||
|
}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
<span class="reqTxt4">* 실패 예시</span>
|
||||||
|
<ul class="clause_list">
|
||||||
|
<li class="list_open on">
|
||||||
|
<div class="clause_list_head">
|
||||||
|
<div class="list_head_in">
|
||||||
|
<span>Example</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="clause_list_body">
|
||||||
|
<table class="">
|
||||||
|
<colgroup>
|
||||||
|
<col style="width: auto;">
|
||||||
|
</colgroup>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="padding_add">
|
||||||
|
{
|
||||||
|
<p>"resultCode":"5099"</p>
|
||||||
|
<p>,"data":"기타 시스템 오류"</p>
|
||||||
}
|
}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|||||||
@ -2,141 +2,75 @@
|
|||||||
<script type="text/javascript" src="./jquery-3.5.0.js"></script>
|
<script type="text/javascript" src="./jquery-3.5.0.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
|
|
||||||
//문자발송
|
//문자발송 함수
|
||||||
$("#ajax_select_price").click(function(){
|
$("#ajax_select_price").click(function(){
|
||||||
|
|
||||||
$("span#mgi").text("");
|
//문자발송 결과 데이터 수신 전 기존 데이터 초기화
|
||||||
$("span#sc").text("");
|
$("span#mgi").text("");
|
||||||
$("span#fc").text("");
|
$("span#sc").text("");
|
||||||
$("span#bc").text("");
|
$("span#fc").text("");
|
||||||
$("span#mt").text("");
|
$("span#bc").text("");
|
||||||
|
$("span#mt").text("");
|
||||||
|
|
||||||
//document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do';
|
//문자발송 API로 전송할 데이터
|
||||||
//document.updatePasswordForm.submit();
|
var searchWebParam = {
|
||||||
|
'p_mberId' : $('#mberId').val() //회원 아이디
|
||||||
|
, 'p_apiKey' : $('#apiKey').val() //api 키
|
||||||
|
, 'p_callFrom' : $('#callFrom').val() //발신자 번호
|
||||||
|
, 'p_callToList' : $('#callToList').val()//수신자 번호
|
||||||
|
, 'p_smsTxt' : $('#smsTxt').val() //문자 내용
|
||||||
|
, 'p_nameStr' : $('#nameStr').val() //치환용 이름
|
||||||
|
, 'p_testYn' : $('#testYn').val() //테스트 데이터 여부
|
||||||
|
};
|
||||||
|
|
||||||
var searchWebParam = {
|
//문자발송 REST API를 Ajax로 이용하기 위한 호출
|
||||||
'p_mberId' : $('#mberId').val()
|
$.ajax({
|
||||||
, 'p_apiKey' : $('#apiKey').val()
|
url : "./jsp_example_send_msg_r1.jsp", //요청 URL
|
||||||
, 'p_callFrom' : $('#callFrom').val()
|
dataType : "json", //요청 값을 json으로 수신
|
||||||
, 'p_callToList' : $('#callToList').val()
|
async : false,
|
||||||
, 'p_smsTxt' : $('#smsTxt').val()
|
type : "POST", //POST 방식
|
||||||
, 'p_nameStr' : $('#nameStr').val()
|
|
||||||
, 'p_testYn' : $('#testYn').val()
|
|
||||||
//, 'p_eachPrice' : $('#eachPrice').val()
|
|
||||||
//, 'p_sPrice' : $('#sPrice').val()
|
|
||||||
|
|
||||||
};
|
data : searchWebParam,
|
||||||
|
|
||||||
//검색 API를 Ajax로 이용 하기 위한 호출
|
success: function (returnData, status) {
|
||||||
$.ajax({
|
console.log('returnData :: ', returnData);
|
||||||
url : "./jsp_example_send_msg_r1.jsp",
|
|
||||||
//형식을 json으로 받을 것이기 때문에 지정하여 주었습니다.
|
|
||||||
dataType : "json",
|
|
||||||
async : false,
|
|
||||||
type : "POST",
|
|
||||||
|
|
||||||
data : searchWebParam,
|
if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
||||||
|
|
||||||
success: function (returnData, status) {
|
$("span#mgi").text(returnData.data.msgGroupId);
|
||||||
console.log('returnData :: ', returnData);
|
$("span#sc").text(returnData.data.successCnt);
|
||||||
|
$("span#fc").text(returnData.data.failCnt);
|
||||||
|
$("span#bc").text(returnData.data.blockCnt);
|
||||||
|
$("span#mt").text(returnData.data.msgType);
|
||||||
|
|
||||||
if (returnData.resultCode=="0"){
|
} else{ //결과가 실패인 경우 원인 노출
|
||||||
//makeResult(returnData);
|
alert(returnData.resultCode+" : "+returnData.data);
|
||||||
|
}
|
||||||
|
|
||||||
$("span#mgi").text(returnData.data.msgGroupId);
|
},
|
||||||
$("span#sc").text(returnData.data.successCnt);
|
|
||||||
$("span#fc").text(returnData.data.failCnt);
|
|
||||||
$("span#bc").text(returnData.data.blockCnt);
|
|
||||||
$("span#mt").text(returnData.data.msgType);
|
|
||||||
|
|
||||||
} else{
|
error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
||||||
alert(returnData.resultCode+" : "+returnData.data);
|
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
||||||
}
|
console.log("AJAX_ERROR");
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error : function(request, status, error){
|
|
||||||
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
|
||||||
console.log("AJAX_ERROR");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
function makeResult(p_returnData){
|
|
||||||
|
|
||||||
var v_html = "";
|
|
||||||
|
|
||||||
try {
|
|
||||||
for (var i=0;i<p_returnData.objectList.length;i++){
|
|
||||||
v_html += "<tr>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].msgGroupId;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].msgTypeName;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].callFrom;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].ttlCnt;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].sCnt;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].fCnt;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].wCnt;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].msgResult;
|
|
||||||
v_html += "</td>";
|
|
||||||
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].smsTxt.substring(1,20);
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].regdate;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].reqdate;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "<td>";
|
|
||||||
v_html += p_returnData.objectList[i].remainMsgCnt;
|
|
||||||
v_html += "</td>";
|
|
||||||
v_html += "</tr>";
|
|
||||||
}
|
|
||||||
|
|
||||||
} catch (error) {
|
|
||||||
console.error(error);
|
|
||||||
// Expected output: ReferenceError: nonExistentFunction is not defined
|
|
||||||
// (Note: the exact output may be browser-dependent)
|
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
v_html += "";
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
//$('#divResult').append("aaaaaa");
|
|
||||||
$('#dynamicTbody').html(v_html);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<!-- send top -->
|
|
||||||
<div class="send_top">
|
<div class="send_top">
|
||||||
|
|
||||||
<div class="mypage_content current" id="tab5_3">
|
<div class="mypage_content current" id="tab5_3">
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2>
|
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2>
|
||||||
<br/>
|
<br/>
|
||||||
|
<!-- 문자발송 설명 및 입력 영역 시작 -->
|
||||||
<h2>문자발송(샘플-문자온)</h2>
|
<h2>문자발송(샘플-문자온)</h2>
|
||||||
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요
|
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요
|
||||||
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.)
|
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.)
|
||||||
@ -156,53 +90,49 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 발신자 번호 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">callFrom
|
<div class="input_left">callFrom
|
||||||
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/>
|
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 수신자 번호 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">callToList
|
<div class="input_left">callToList
|
||||||
<input type="text" class="list_inputType1" id="callToList" maxlength="100" value="01022265487,01063170387,01011112222" size="100"/>
|
<input type="text" class="list_inputType1" id="callToList" maxlength="100" value="01022265487,01063170387,01011112222" size="100"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 문자 내용 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">smsTxt
|
<div class="input_left">smsTxt
|
||||||
<input type="text" class="list_inputType1" id="smsTxt" maxlength="100" value="문자 테스트~![*이름*]" size="100"/>
|
<input type="text" class="list_inputType1" id="smsTxt" maxlength="100" value="문자 테스트~![*이름*]" size="100"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 치환용 이름 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">nameStr
|
<div class="input_left">nameStr
|
||||||
<input type="text" class="list_inputType1" id="nameStr" maxlength="100" value="홍길동1|홍길동2|홍길동3" size="100"/>
|
<input type="text" class="list_inputType1" id="nameStr" maxlength="100" value="홍길동1|홍길동2|홍길동3" size="100"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 테스트 여부 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">테스트여부
|
<div class="input_left">테스트여부
|
||||||
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공)
|
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--
|
<!-- 문자발송 설명 및 입력 영역 끝 -->
|
||||||
<div class="input_list_item">
|
|
||||||
<div class="input_left">eachPrice
|
|
||||||
<input type="text" class="list_inputType1" id="eachPrice" maxlength="100" value="" size="100"/>(기본값 내일)
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="input_list_item">
|
|
||||||
<div class="input_left">sPrice
|
|
||||||
<input type="text" class="list_inputType1" id="sPrice" maxlength="100" value="" size="100"/>(기본값 내일)
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
-->
|
|
||||||
|
|
||||||
|
|
||||||
<div class="mem_btnWrap2">
|
<div class="mem_btnWrap2">
|
||||||
<button type="button" class="mem_btn3" style="width: 100%;" id="ajax_select_price" onclick="return false;">문자발송</button>
|
<button type="button" class="mem_btn3" style="width: 100%;" id="ajax_select_price" onclick="return false;">문자발송</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 문자 발송 결과값 노출 영역 시작 -->
|
||||||
<div class="mem_cont_in">
|
<div class="mem_cont_in">
|
||||||
<div class="input_list">
|
<div class="input_list">
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
@ -220,17 +150,13 @@
|
|||||||
|
|
||||||
<div class="input_left">메세지타입 : <span class="input_left" id="mt"></span>
|
<div class="input_left">메세지타입 : <span class="input_left" id="mt"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 문자발송 결과값 노출 영역 끝 -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!--// 마이페이지 - 비밀번호 변경 -->
|
|
||||||
</div>
|
</div>
|
||||||
<!--// send top -->
|
</div>
|
||||||
</div>
|
|
||||||
<!--// content 영역 -->
|
|
||||||
|
|
||||||
|
|||||||
@ -19,62 +19,45 @@
|
|||||||
<%
|
<%
|
||||||
try{
|
try{
|
||||||
//기본 설정값
|
//기본 설정값
|
||||||
//final String encodingType = "utf-8";
|
|
||||||
final String encodingType = "UTF-8";
|
final String encodingType = "UTF-8";
|
||||||
final String boundary = "____boundary____";
|
final String boundary = "____boundary____";
|
||||||
|
|
||||||
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용해주세요
|
/******************** 전송 요청 URL ********************/
|
||||||
|
//final String apiUrl = "http://localhost:8088/api/send/sendMsg";
|
||||||
|
final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg"; //개발테스트용 URL
|
||||||
|
//final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL
|
||||||
|
|
||||||
|
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
|
||||||
//실제서비스용
|
//실제서비스용
|
||||||
//final String mberId = "goodgkdus"; //문자온 로그인 아이디
|
//final String mberId = "goodgkdus"; //문자온 로그인 아이디
|
||||||
//final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key
|
//final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key
|
||||||
|
|
||||||
//테스트용
|
//테스트용
|
||||||
String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
||||||
String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
||||||
|
|
||||||
|
/******************** 전송 정보 ********************/
|
||||||
|
//필수 값
|
||||||
|
String p_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
||||||
|
String p_callToList = request.getParameter("p_callToList"); //수신자 번호
|
||||||
|
String p_smsTxt = request.getParameter("p_smsTxt"); //문자 내용
|
||||||
|
|
||||||
/**************** 문자전송하기 예제 ******************/
|
//선택 값
|
||||||
/* "result_code":결과코드,"message":결과문구, */
|
String p_nameStr = request.getParameter("p_nameStr"); //치환용 이름
|
||||||
/* "msg_id":메세지ID,"error_cnt":에러갯수,"success_cnt":성공갯수 */
|
String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
||||||
/* 동일내용 > 전송용 입니다.
|
|
||||||
/******************** 인증정보 ********************/
|
|
||||||
//String sms_url = "https://apis.aligo.in/send/"; // 전송요청 URL
|
|
||||||
//String sms_url = "https://api.munjaon.co.kr:9998/api/accessTest/Test"; // 전송요청 URL
|
|
||||||
//String sms_url = "https://api.munjaon.co.kr:9998/api/accessKey/SendMsg"; // 전송요청 URL
|
|
||||||
|
|
||||||
final String apiUrl = "http://localhost:8088/api/send/sendMsg";
|
/* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */
|
||||||
// final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg";
|
|
||||||
|
|
||||||
Map<String, String> params = new HashMap<String, String>();
|
//String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
||||||
/******************** 인증정보 ********************/
|
//String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
||||||
|
//String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
||||||
|
|
||||||
//임시 - 테스트용 시작
|
|
||||||
//String p_mberId = request.getParameter("p_mberId"); //발신번호
|
|
||||||
//String p_accessKey = request.getParameter("p_accessKey"); //수신번호
|
|
||||||
//sms.put("mberId", p_mberId); // SMS 아이디
|
|
||||||
//sms.put("accessKey", p_accessKey); //인증키
|
|
||||||
//임시 - 테스트용 끝
|
|
||||||
/******************** 전송정보 ********************/
|
|
||||||
//전달 받은 값
|
|
||||||
//필수값
|
|
||||||
String p_callFrom = request.getParameter("p_callFrom"); //발신번호
|
|
||||||
String p_callToList = request.getParameter("p_callToList"); //수신번호
|
|
||||||
String p_eachPrice = request.getParameter("p_eachPrice"); //전송문자 개별가격
|
|
||||||
//String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
|
||||||
String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
|
||||||
//String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
|
||||||
//String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
//String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
||||||
//String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함
|
//String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함
|
||||||
//String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
//String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
||||||
//String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
//String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
||||||
//String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함
|
//String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함
|
||||||
String p_smsTxt = request.getParameter("p_smsTxt"); //SMS용 메시지본문
|
|
||||||
String p_nameStr = request.getParameter("p_nameStr"); //치환문자
|
|
||||||
String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS'
|
|
||||||
|
|
||||||
//선택값
|
//String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms단가
|
||||||
//String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms단가
|
|
||||||
//String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
//String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
||||||
//String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
//String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
||||||
|
|
||||||
@ -84,19 +67,23 @@
|
|||||||
//String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
//String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
||||||
//String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
//String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
||||||
|
|
||||||
// 필수 데이터
|
/* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */
|
||||||
params.put("mberId", mberId); // SMS 아이디
|
|
||||||
params.put("accessKey", apiKey); //인증키
|
Map<String, String> params = new HashMap<String, String>();
|
||||||
//추가 전송 데이터
|
|
||||||
params.put("callFrom" , p_callFrom); //발신번호
|
//필수 전송 데이터
|
||||||
params.put("callToList" , p_callToList); //수신번호
|
params.put("mberId", mberId); //회원 아이디
|
||||||
//params.put("eachPrice" , p_eachPrice); //전송문자 개별가격
|
params.put("accessKey", apiKey); //인증키
|
||||||
//params.put("sPrice" , p_sPrice); //단문문자단가
|
params.put("callFrom" , p_callFrom); //발신자 번호
|
||||||
params.put("smsTxt" , p_smsTxt); //SMS용 메시지본문
|
params.put("callToList" , p_callToList); //수신자 번호
|
||||||
params.put("nameStr" , p_nameStr); //페이지당 출력갯수
|
params.put("smsTxt" , p_smsTxt); //문자 내용
|
||||||
params.put("test_yn" , p_testYn); //테스트 여부
|
|
||||||
|
//선택 전송 데이터
|
||||||
|
params.put("nameStr" , p_nameStr); //치환용 이름
|
||||||
|
params.put("test_yn" , p_testYn); //테스트 데이터 여부
|
||||||
|
|
||||||
|
|
||||||
|
//REST API 전송
|
||||||
String result = "";
|
String result = "";
|
||||||
|
|
||||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||||
@ -111,12 +98,10 @@
|
|||||||
//전달값이 없는 경우 오류
|
//전달값이 없는 경우 오류
|
||||||
try{
|
try{
|
||||||
builder.addTextBody(key, params.get(key)
|
builder.addTextBody(key, params.get(key)
|
||||||
, ContentType.create("Multipart/related", encodingType));
|
, ContentType.create("Multipart/related", encodingType));
|
||||||
}catch(Exception ex){
|
}catch(Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}catch(Exception ex){
|
}catch(Exception ex){
|
||||||
ex.printStackTrace();
|
ex.printStackTrace();
|
||||||
@ -146,4 +131,8 @@
|
|||||||
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**************** 문자발송 Response 예제 ******************/
|
||||||
|
/* "result_code": 결과코드, "msgGroupId": 메세지 그룹 ID, "msgType": 메세지 타입 */
|
||||||
|
/* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수*/
|
||||||
%>
|
%>
|
||||||
@ -2,110 +2,100 @@
|
|||||||
<script type="text/javascript" src="./jquery-3.5.0.js"></script>
|
<script type="text/javascript" src="./jquery-3.5.0.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
|
|
||||||
//대량문자발송
|
//대량문자발송
|
||||||
$("#ajax_select_price").click(function(){
|
$("#ajax_select_price").click(function(){
|
||||||
|
|
||||||
$("span#mgi").text("");
|
$("span#mgi").text("");
|
||||||
$("span#sc").text("");
|
$("span#sc").text("");
|
||||||
$("span#fc").text("");
|
$("span#fc").text("");
|
||||||
$("span#bc").text("");
|
$("span#bc").text("");
|
||||||
$("span#mt").text("");
|
$("span#mt").text("");
|
||||||
|
|
||||||
//document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do';
|
//문자발송 API로 전송할 데이터
|
||||||
//document.updatePasswordForm.submit();
|
var searchWebParam = {
|
||||||
|
'p_mberId' : $('#mberId').val()
|
||||||
|
, 'p_apiKey' : $('#apiKey').val()
|
||||||
|
, 'p_callFrom' : $('#callFrom').val()
|
||||||
|
, 'p_testYn' : $('#testYn').val()
|
||||||
|
};
|
||||||
|
|
||||||
var searchWebParam = {
|
var tagId = "";
|
||||||
'p_mberId' : $('#mberId').val()
|
//전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기
|
||||||
, 'p_apiKey' : $('#apiKey').val()
|
$.each($('.input_list input'), function (index, tag){
|
||||||
|
tagId = $(tag).attr('id');
|
||||||
|
if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
||||||
|
searchWebParam[tagId] = $(tag).val();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
, 'p_callFrom' : $('#callFrom').val()
|
//문자발송 REST API를 Ajax로 이용하기 위한 호출
|
||||||
, 'p_testYn' : $('#testYn').val()
|
$.ajax({
|
||||||
|
url : "./jsp_example_send_msgs_r1.jsp", //요청 URL
|
||||||
|
dataType : "json", //요청 값을 json으로 수신
|
||||||
|
async : false,
|
||||||
|
type : "POST", //POST 방식
|
||||||
|
|
||||||
};
|
data : searchWebParam,
|
||||||
|
|
||||||
var tagId = "";
|
success: function (returnData, status) {
|
||||||
$.each($('.input_list input'), function (index, tag){
|
|
||||||
|
|
||||||
tagId = $(tag).attr('id');
|
console.log('returnData : ', returnData);
|
||||||
if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
||||||
|
|
||||||
searchWebParam[tagId] = $(tag).val();
|
if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
||||||
}
|
$("span#mgi").text(returnData.data.msgGroupIdList);
|
||||||
});
|
$("span#sc").text(returnData.data.successCnt);
|
||||||
|
$("span#fc").text(returnData.data.failCnt);
|
||||||
|
$("span#bc").text(returnData.data.blockCnt);
|
||||||
|
$("span#mt").text(returnData.data.msgTypeList);
|
||||||
|
|
||||||
//검색 API를 Ajax로 이용 하기 위한 호출
|
} else{ //결과가 실패인 경우 원인 노출
|
||||||
$.ajax({
|
alert(returnData.resultCode+" : "+returnData.data);
|
||||||
url : "./jsp_example_send_msgs_r1.jsp",
|
}
|
||||||
//형식을 json으로 받을 것이기 때문에 지정하여 주었습니다.
|
|
||||||
dataType : "json",
|
|
||||||
async : false,
|
|
||||||
type : "POST",
|
|
||||||
|
|
||||||
data : searchWebParam,
|
},
|
||||||
|
|
||||||
success: function (returnData, status) {
|
error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
||||||
|
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
||||||
|
console.log("AJAX_ERROR");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
console.log('returnData : ', returnData);
|
});
|
||||||
|
|
||||||
if (returnData.resultCode=="0"){
|
// 수신자 추가 버튼
|
||||||
$("span#mgi").text(returnData.data.msgGroupIdList);
|
$('#sendAdd').click(function(){
|
||||||
$("span#sc").text(returnData.data.successCnt);
|
|
||||||
$("span#fc").text(returnData.data.failCnt);
|
|
||||||
$("span#bc").text(returnData.data.blockCnt);
|
|
||||||
$("span#mt").text(returnData.data.msgTypeList);
|
|
||||||
|
|
||||||
} else{
|
|
||||||
alert(returnData.resultCode+" : "+returnData.data);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error : function(request, status, error){
|
|
||||||
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
|
||||||
console.log("AJAX_ERROR");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// 수신자 추가 버튼
|
|
||||||
$('#sendAdd').click(function(){
|
|
||||||
|
|
||||||
|
|
||||||
var nextId = $('.callTo').length+1;
|
var nextId = $('.callTo').length+1;
|
||||||
var textData = '<div class="input_list_item">'
|
var textData = '<div class="input_list_item">'
|
||||||
+ '<div class="input_left">p_callTo_'+nextId+''
|
+ '<div class="input_left">p_callTo_'+nextId+''
|
||||||
+ '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">'
|
+ '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">'
|
||||||
+ '</div>'
|
+ '</div>'
|
||||||
+'</div>'
|
+'</div>'
|
||||||
+'<div class="input_list_item">'
|
+'<div class="input_list_item">'
|
||||||
+ '<div class="input_left">p_smsTxt_'+nextId+''
|
+ '<div class="input_left">p_smsTxt_'+nextId+''
|
||||||
+ '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">'
|
+ '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">'
|
||||||
+ '</div>'
|
+ '</div>'
|
||||||
+'</div>'
|
+'</div>'
|
||||||
;
|
;
|
||||||
|
$('.input_list').append(textData);
|
||||||
|
|
||||||
$('.input_list').append(textData);
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<!-- send top -->
|
|
||||||
<div class="send_top">
|
<div class="send_top">
|
||||||
|
|
||||||
<div class="mypage_content current" id="tab5_3">
|
<div class="mypage_content current" id="tab5_3">
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2>
|
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2>
|
||||||
<br/>
|
<br/>
|
||||||
|
<!-- 문자발송 설명 및 입력 영역 시작 -->
|
||||||
<h2>대량문자발송(샘플-문자온)</h2>
|
<h2>대량문자발송(샘플-문자온)</h2>
|
||||||
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요
|
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요
|
||||||
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.)
|
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.)
|
||||||
@ -115,7 +105,6 @@
|
|||||||
<div class="mem_cont_in">
|
<div class="mem_cont_in">
|
||||||
|
|
||||||
<div class="mem_btnWrap2">
|
<div class="mem_btnWrap2">
|
||||||
<!-- <button type="button" class="mem_btn3" style="width: 100%;" onclick="insertPw();">변경</button> -->
|
|
||||||
<button type="button" class="mem_btn3" style="width: 50%;" id="sendAdd" onclick="return false;">수신자 추가</button>
|
<button type="button" class="mem_btn3" style="width: 50%;" id="sendAdd" onclick="return false;">수신자 추가</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@ -136,29 +125,37 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 발신자 번호 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">callFrom
|
<div class="input_left">callFrom
|
||||||
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/>
|
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 테스트 여부 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">테스트여부
|
<div class="input_left">테스트여부
|
||||||
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공)
|
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공)
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 수신자 번호 1-->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">p_callTo_1
|
<div class="input_left">p_callTo_1
|
||||||
<input type="text" class="list_inputType1 callTo" id="p_callTo_1" maxlength="100" value="01083584250">
|
<input type="text" class="list_inputType1 callTo" id="p_callTo_1" maxlength="100" value="01083584250">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 문자 내용 1 -->
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">p_smsTxt_1
|
<div class="input_left">p_smsTxt_1
|
||||||
<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_1" maxlength="100" value="testMsg">
|
<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_1" maxlength="100" value="testMsg">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 문자발송 설명 및 입력 영역 끝 -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 문자 발송 결과값 노출 영역 시작 -->
|
||||||
<div class="mem_cont_in">
|
<div class="mem_cont_in">
|
||||||
<div class="input_list_item">
|
<div class="input_list_item">
|
||||||
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span>
|
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span>
|
||||||
@ -178,11 +175,7 @@
|
|||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- 문자발송 결과값 노출 영역 끝 -->
|
||||||
</div>
|
</div>
|
||||||
<!--// 마이페이지 - 비밀번호 변경 -->
|
|
||||||
</div>
|
</div>
|
||||||
<!--// send top -->
|
|
||||||
</div>
|
</div>
|
||||||
<!--// content 영역 -->
|
|
||||||
|
|
||||||
|
|||||||
@ -18,94 +18,76 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=utf-8 " pageEncoding="utf-8"%>
|
<%@ page language="java" contentType="text/html; charset=utf-8 " pageEncoding="utf-8"%>
|
||||||
<%
|
<%
|
||||||
try{
|
try{
|
||||||
//기본 ì¤ì ê°
|
//기본 설정값
|
||||||
//final String encodingType = "utf-8";
|
|
||||||
final String encodingType = "UTF-8";
|
final String encodingType = "UTF-8";
|
||||||
final String boundary = "____boundary____";
|
final String boundary = "____boundary____";
|
||||||
|
|
||||||
//íììì´ë, APIKEY - ë³´ìì ìí´ ì¤ì ìë¹ì¤ ììë ì´ê³³ì mberIdì apiKey ê°ì ì ì´ì ì¬ì©í´ì£¼ì¸ì
|
/******************** 전송 요청 URL ********************/
|
||||||
//ì¤ì ìë¹ì¤ì©
|
//String apiUrl = "http://localhost:8088/api/send/sendMsgs";
|
||||||
//final String mberId = "goodgkdus"; //문ìì¨ ë¡ê·¸ì¸ ìì´ë
|
//final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL
|
||||||
//final String apiKey = "12e749877379aa7426275414050694b953"; //ë°ê¸ë°ì api key
|
String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; //개발테스트용 URL
|
||||||
|
|
||||||
//í
ì¤í¸ì©
|
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
|
||||||
String mberId = request.getParameter("p_mberId"); //문ìì¨ ë¡ê·¸ì¸ ìì´ë
|
//실제서비스용
|
||||||
String apiKey = request.getParameter("p_apiKey"); //ë°ê¸ë°ì api key
|
//final String mberId = "goodgkdus"; //문자온 로그인 아이디
|
||||||
|
//final String apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key
|
||||||
|
|
||||||
|
//테스트용
|
||||||
|
String mberId = request.getParameter("p_mberId"); //문자온 로그인 아이디
|
||||||
|
String apiKey = request.getParameter("p_apiKey"); //발급받은 api key
|
||||||
|
|
||||||
/**************** 문ìì ì¡í기 ìì ******************/
|
/******************** 전송 정보 ********************/
|
||||||
/* "result_code":ê²°ê³¼ì½ë,"message":결과문구, */
|
//필수 값
|
||||||
/* "msg_id":ë©ì¸ì§ID,"error_cnt":ìë¬ê°¯ì,"success_cnt":ì±ê³µê°¯ì */
|
String p_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
||||||
/* ëì¼ë´ì© > ì ì¡ì© ì
ëë¤.
|
String p_callTo_1 = request.getParameter("p_callTo_1"); //수신자 번호 1
|
||||||
/******************** ì¸ì¦ì ë³´ ********************/
|
String p_smsTxt_1 = request.getParameter("p_smsTxt_1"); //문자 내용 1
|
||||||
//String sms_url = "https://apis.aligo.in/send/"; // ì ì¡ìì² URL
|
|
||||||
//String sms_url = "https://api.munjaon.co.kr:9998/api/accessTest/Test"; // ì ì¡ìì² URL
|
|
||||||
//String sms_url = "https://api.munjaon.co.kr:9998/api/accessKey/SendMsg"; // ì ì¡ìì² URL
|
|
||||||
String apiUrl = "http://localhost:8088/api/send/sendMsgs"; // ì ì¡ìì² URL
|
|
||||||
|
|
||||||
// String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; // 전송요청 URL
|
//선택 값
|
||||||
|
String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
||||||
|
|
||||||
|
/* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */
|
||||||
|
|
||||||
|
//String p_nameStr_1 = request.getParameter("p_nameStr_1"); //치환용 이름 1
|
||||||
|
//String p_mmsPrice = request.getParameter("p_mmsPrice"); //mms 단가
|
||||||
|
//String p_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
||||||
|
//String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
||||||
|
|
||||||
|
//String p_eachPrice = request.getParameter("p_eachPrice"); //개별 금액
|
||||||
|
//String p_fileCnt = request.getParameter("p_fileCnt"); //첨부파일갯수
|
||||||
|
//String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
||||||
|
//String p_totPrice = request.getParameter("p_totPrice"); //총결제금액
|
||||||
|
//String p_txtReplYn = request.getParameter("p_txtReplYn"); //치환문자 여부 Y//N
|
||||||
|
//String p_txtReplYn = "N"; //치환문자 여부 - 초기 지원안함
|
||||||
|
//String p_msgType = request.getParameter("p_msgType"); //문자타입 4-단문,5-URL,6-MMS,7-BARCODE,8-카카오알림톡
|
||||||
|
//String p_msgKind = request.getParameter("p_msgKind"); //N-일반,A-광고,C-선거
|
||||||
|
//String p_msgKind = "N"; //N-일반,A-광고,C-선거 - 초기 지원안함
|
||||||
|
|
||||||
|
//예약문자의 경우(선택값)
|
||||||
|
//String p_reserveYn = request.getParameter("p_reserveYn"); //예약문자 여부 N or Y
|
||||||
|
//String p_divideCnt = request.getParameter("p_divideCnt"); //분할문자 건수
|
||||||
|
//String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
||||||
|
//String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
||||||
|
|
||||||
Map<String, String> params = new HashMap<String, String>();
|
Map<String, String> params = new HashMap<String, String>();
|
||||||
params.put("mberId", mberId); // SMS ìì´ë
|
|
||||||
params.put("accessKey", apiKey); //ì¸ì¦í¤
|
|
||||||
/******************** ì¸ì¦ì ë³´ ********************/
|
|
||||||
|
|
||||||
|
//필수 전송 데이터
|
||||||
//ìì - í
ì¤í¸ì© ìì
|
params.put("mberId", mberId); //회원 아이디
|
||||||
//String p_mberId = request.getParameter("p_mberId"); //ë°ì ë²í¸
|
params.put("accessKey", apiKey); //인증키
|
||||||
//String p_accessKey = request.getParameter("p_accessKey"); //ìì ë²í¸
|
|
||||||
//sms.put("mberId", p_mberId); // SMS ìì´ë
|
|
||||||
//sms.put("accessKey", p_accessKey); //ì¸ì¦í¤
|
|
||||||
//ìì - í
ì¤í¸ì© ë
|
|
||||||
/******************** ì ì¡ì ë³´ ********************/
|
|
||||||
//ì ë¬ ë°ì ê°
|
|
||||||
//íìê°
|
|
||||||
String p_callFrom = request.getParameter("p_callFrom"); //ë°ì ë²í¸
|
|
||||||
String p_callTo_1 = request.getParameter("p_callTo_1"); //ìì ë²í¸
|
|
||||||
//String p_eachPrice = request.getParameter("p_eachPrice"); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
|
||||||
//String p_fileCnt = request.getParameter("p_fileCnt"); //첨ë¶íì¼ê°¯ì
|
|
||||||
//String p_sPrice = request.getParameter("p_sPrice"); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
||||||
//String p_totPrice = request.getParameter("p_totPrice"); //ì´ê²°ì ê¸ì¡
|
|
||||||
//String p_txtReplYn = request.getParameter("p_txtReplYn"); //ì¹í문ì ì¬ë¶ Y//N
|
|
||||||
//String p_txtReplYn = "N"; //ì¹í문ì ì¬ë¶ - ì´ê¸° ì§ììí¨
|
|
||||||
//String p_msgType = request.getParameter("p_msgType"); //문ìíì
4-ë¨ë¬¸,5-URL,6-MMS,7-BARCODE,8-ì¹´ì¹´ì¤ì림í¡
|
|
||||||
//String p_msgKind = request.getParameter("p_msgKind"); //N-ì¼ë°,A-ê´ê³ ,C-ì ê±°
|
|
||||||
//String p_msgKind = "N"; //N-ì¼ë°,A-ê´ê³ ,C-ì ê±° - ì´ê¸° ì§ììí¨
|
|
||||||
String p_smsTxt_1 = request.getParameter("p_smsTxt_1"); //SMSì© ë©ìì§ë³¸ë¬¸
|
|
||||||
String p_testYn = request.getParameter("p_testYn"); //테스트데이터여부 '', 'YF', 'YS'
|
|
||||||
//String p_nameStr_1 = request.getParameter("p_nameStr_1"); //ì¹í문ì
|
|
||||||
|
|
||||||
//ì íê°
|
|
||||||
//String p_mmsPrice = request.getParameter("p_mmsPrice"); //mmsë¨ê°
|
|
||||||
//String p_mPrice = request.getParameter("p_mPrice"); //ì¥ë¬¸ë¬¸ìë¨ê°
|
|
||||||
//String p_spamStatus = request.getParameter("p_spamStatus"); //ì¤í¸ë¬¸ì ì 무
|
|
||||||
|
|
||||||
//ìì½ë¬¸ìì ê²½ì°(ì íê°)
|
|
||||||
//String p_reserveYn = request.getParameter("p_reserveYn"); //ìì½ë¬¸ì ì¬ë¶ N or Y
|
|
||||||
//String p_divideCnt = request.getParameter("p_divideCnt"); //ë¶í 문ì ê±´ì
|
|
||||||
//String p_divideTime = request.getParameter("p_divideTime"); //ë¶í 문ì ê°ê²©
|
|
||||||
//String p_reqDate = request.getParameter("p_reqDate"); //ìì½ìê°
|
|
||||||
|
|
||||||
|
|
||||||
//ì¶ê° ì ì¡ ë°ì´í°
|
|
||||||
params.put("callFrom" , p_callFrom); //ë°ì ë²í¸
|
params.put("callFrom" , p_callFrom); //ë°ì ë²í¸
|
||||||
|
|
||||||
|
//선택 전송 데이터
|
||||||
params.put("test_yn" , p_testYn); //테스트 여부
|
params.put("test_yn" , p_testYn); //테스트 여부
|
||||||
|
|
||||||
//params.put("callTo_1" , p_callTo_1); //ìì ë²í¸
|
//전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기
|
||||||
//params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
for (int i=1;i<101;i++){ //최대 수신자 100명
|
||||||
//params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
|
||||||
//params.put("smsTxt_1" , p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸
|
|
||||||
|
|
||||||
|
|
||||||
for (int i=1;i<101;i++){
|
|
||||||
String p_callTo = "p_callTo_"+Integer.toString(i);
|
String p_callTo = "p_callTo_"+Integer.toString(i);
|
||||||
String p_smsTxt = "p_smsTxt_"+Integer.toString(i);
|
String p_smsTxt = "p_smsTxt_"+Integer.toString(i);
|
||||||
|
|
||||||
String s_callTo = "callTo_"+Integer.toString(i);
|
String s_callTo = "callTo_"+Integer.toString(i);
|
||||||
String s_smsTxt = "smsTxt_"+Integer.toString(i);
|
String s_smsTxt = "smsTxt_"+Integer.toString(i);
|
||||||
|
|
||||||
p_callTo_1 = request.getParameter(p_callTo); //SMSì© ë©ìì§ë³¸ë¬¸
|
p_callTo_1 = request.getParameter(p_callTo);
|
||||||
p_smsTxt_1 = request.getParameter(p_smsTxt); //SMSì© ë©ìì§ë³¸ë¬¸
|
p_smsTxt_1 = request.getParameter(p_smsTxt);
|
||||||
|
|
||||||
|
|
||||||
System.out.println("======i=====");
|
System.out.println("======i=====");
|
||||||
@ -113,18 +95,20 @@
|
|||||||
System.out.println(p_callTo_1);
|
System.out.println(p_callTo_1);
|
||||||
System.out.println(p_smsTxt_1);
|
System.out.println(p_smsTxt_1);
|
||||||
|
|
||||||
|
|
||||||
if (p_callTo_1 != null
|
if (p_callTo_1 != null
|
||||||
&& p_smsTxt_1 != null
|
&& p_smsTxt_1 != null
|
||||||
&& !"".equals(p_callTo_1)
|
&& !"".equals(p_callTo_1)
|
||||||
&& !"".equals(p_smsTxt_1)
|
&& !"".equals(p_smsTxt_1)
|
||||||
){
|
){
|
||||||
params.put(s_callTo, p_callTo_1); //ìì ë²í¸
|
params.put(s_callTo, p_callTo_1); //수신자 추가
|
||||||
//params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
params.put(s_smsTxt, p_smsTxt_1); //문자내용 추가
|
||||||
//params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
} else{
|
||||||
params.put(s_smsTxt, p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//REST API 전송
|
||||||
String result = "";
|
String result = "";
|
||||||
|
|
||||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||||
@ -136,7 +120,7 @@
|
|||||||
try{
|
try{
|
||||||
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
|
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
|
||||||
String key = i.next();
|
String key = i.next();
|
||||||
//ì ë¬ê°ì´ ìë ê²½ì° ì¤ë¥
|
//전달값이 없는 경우 오류
|
||||||
try{
|
try{
|
||||||
builder.addTextBody(key, params.get(key)
|
builder.addTextBody(key, params.get(key)
|
||||||
, ContentType.create("Multipart/related", encodingType));
|
, ContentType.create("Multipart/related", encodingType));
|
||||||
@ -174,4 +158,7 @@
|
|||||||
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**************** 문자발송 Response 예제 ******************/
|
||||||
|
/* "result_code": 결과코드, "msgGroupIdList": 메세지 그룹 ID 리스트, "msgTypeList": 메세지 타입 리스트*/
|
||||||
|
/* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수, "failCnt": 발송실패 건수*/
|
||||||
%>
|
%>
|
||||||
@ -1,102 +1,7 @@
|
|||||||
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
|
||||||
<script type="text/javascript" src="./jquery-3.5.0.js"></script>
|
<script type="text/javascript" src="./jquery-3.5.0.js"></script>
|
||||||
|
|
||||||
<script type="text/javascript">
|
|
||||||
$(document).ready(function(){
|
|
||||||
|
|
||||||
//대량문자발송
|
|
||||||
$("#ajax_select_price").click(function(){
|
|
||||||
|
|
||||||
$("span#mgi").text("");
|
|
||||||
$("span#sc").text("");
|
|
||||||
$("span#fc").text("");
|
|
||||||
$("span#bc").text("");
|
|
||||||
$("span#mt").text("");
|
|
||||||
|
|
||||||
//document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do';
|
|
||||||
//document.updatePasswordForm.submit();
|
|
||||||
|
|
||||||
var searchWebParam = {
|
|
||||||
'p_mberId' : $('#mberId').val()
|
|
||||||
, 'p_apiKey' : $('#apiKey').val()
|
|
||||||
|
|
||||||
, 'p_callFrom' : $('#callFrom').val()
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
var tagId = "";
|
|
||||||
$.each($('.input_list input'), function (index, tag){
|
|
||||||
|
|
||||||
tagId = $(tag).attr('id');
|
|
||||||
if(tagId.startsWith('p_callTo') || tagId.startsWith('p_smsTxt')){
|
|
||||||
|
|
||||||
searchWebParam[tagId] = $(tag).val();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
//검색 API를 Ajax로 이용 하기 위한 호출
|
|
||||||
$.ajax({
|
|
||||||
url : "/jsp_example_send_msgs_r1.jsp",
|
|
||||||
//형식을 json으로 받을 것이기 때문에 지정하여 주었습니다.
|
|
||||||
dataType : "json",
|
|
||||||
async : false,
|
|
||||||
type : "POST",
|
|
||||||
|
|
||||||
data : searchWebParam,
|
|
||||||
|
|
||||||
success: function (returnData, status) {
|
|
||||||
|
|
||||||
if (returnData.resultCode=="0"){
|
|
||||||
$("span#mgi").text(returnData.data.msgGroupId);
|
|
||||||
$("span#sc").text(returnData.data.successCnt);
|
|
||||||
$("span#fc").text(returnData.data.failCnt);
|
|
||||||
$("span#bc").text(returnData.data.blockCnt);
|
|
||||||
$("span#mt").text(returnData.data.msgType);
|
|
||||||
|
|
||||||
} else{
|
|
||||||
alert(returnData.resultCode+" : "+returnData.data);
|
|
||||||
}
|
|
||||||
|
|
||||||
},
|
|
||||||
|
|
||||||
error : function(request, status, error){
|
|
||||||
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
|
||||||
console.log("AJAX_ERROR");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
// 수신자 추가 버튼
|
|
||||||
$('#sendAdd').click(function(){
|
|
||||||
|
|
||||||
|
|
||||||
var nextId = $('.callTo').length+1;
|
|
||||||
var textData = '<div class="input_list_item">'
|
|
||||||
+ '<div class="input_left">p_callTo_'+nextId+''
|
|
||||||
+ '<input type="text" class="list_inputType1 callTo" id="p_callTo_'+nextId+'" maxlength="100" value="">'
|
|
||||||
+ '</div>'
|
|
||||||
+'</div>'
|
|
||||||
+'<div class="input_list_item">'
|
|
||||||
+ '<div class="input_left">p_smsTxt_'+nextId+''
|
|
||||||
+ '<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_'+nextId+'" maxlength="100" value="">'
|
|
||||||
+ '</div>'
|
|
||||||
+'</div>'
|
|
||||||
;
|
|
||||||
|
|
||||||
$('.input_list').append(textData);
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
});
|
|
||||||
|
|
||||||
</script>
|
|
||||||
|
|
||||||
|
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<!-- send top -->
|
|
||||||
<div class="send_top">
|
<div class="send_top">
|
||||||
|
|
||||||
<div class="mypage_content current" id="tab5_3">
|
<div class="mypage_content current" id="tab5_3">
|
||||||
@ -104,6 +9,7 @@
|
|||||||
<h2>REST API(샘플-문자온)</h2>
|
<h2>REST API(샘플-문자온)</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="heading">
|
<div class="heading">
|
||||||
|
<!-- 메뉴별 샘플 이동 링크 -->
|
||||||
<h2><a href="./jsp_example_send_msg_form_r1.jsp">1.문자발송</a></h2>
|
<h2><a href="./jsp_example_send_msg_form_r1.jsp">1.문자발송</a></h2>
|
||||||
<h2><a href="./jsp_example_send_msgs_form_r1.jsp">2.대량문자발송</a></h2>
|
<h2><a href="./jsp_example_send_msgs_form_r1.jsp">2.대량문자발송</a></h2>
|
||||||
<h2><a href="./jsp_example_hstry_form_r1.jsp">3.전체발송내역</a></h2>
|
<h2><a href="./jsp_example_hstry_form_r1.jsp">3.전체발송내역</a></h2>
|
||||||
@ -112,9 +18,6 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<!--// 마이페이지 - 비밀번호 변경 -->
|
|
||||||
</div>
|
</div>
|
||||||
<!--// send top -->
|
|
||||||
</div>
|
</div>
|
||||||
<!--// content 영역 -->
|
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user