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> selectUserBbsWriteList(BoardVO boardVO) throws Exception;
|
||||
|
||||
public int selectAdminMainNewBoardCnt(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);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
|
||||
return (List<BoardVO>) list("BBSManageDAO.selectUserBbsWriteList", boardVO);
|
||||
}
|
||||
|
||||
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception{
|
||||
return (Integer)select("BBSManageDAO.selectAdminMainNewBoardCnt", boardVO);
|
||||
}
|
||||
|
||||
@ -332,6 +332,11 @@ public class EgovBBSManageServiceImpl extends EgovAbstractServiceImpl implements
|
||||
return bbsMngDAO.selectAdminMainBoardByDash(boardVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<BoardVO> selectUserBbsWriteList(BoardVO boardVO) throws Exception {
|
||||
return bbsMngDAO.selectUserBbsWriteList(boardVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int selectAdminMainNewBoardCnt(BoardVO boardVO) throws Exception {
|
||||
return bbsMngDAO.selectAdminMainNewBoardCnt(boardVO);
|
||||
|
||||
@ -2242,6 +2242,20 @@ public class EgovBBSManageController {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
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())) {
|
||||
redirectAttributes.addFlashAttribute("message", egovMessageSource.getMessage("fail.common.imposbl"));
|
||||
//return "redirect:/web/main/mainPage.do";
|
||||
@ -2622,6 +2636,20 @@ public class EgovBBSManageController {
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
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();
|
||||
bmVO.setBbsId(boardVO.getBbsId());
|
||||
bmVO = bbsAttrbService.selectBBSMasterInf(bmVO);
|
||||
|
||||
@ -9,6 +9,9 @@ public interface MjonKakaoATService {
|
||||
//알림톡 전체 발송 리스트
|
||||
List<KakaoVO> selectMjonKakaoATGroupCompleteList(KakaoVO searchVO) throws Exception;
|
||||
|
||||
//알림톡 전체 발송 리스트(대시보드용)
|
||||
List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(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);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<KakaoVO> selectMjonKakaoATGroupCompleteByUserList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupCompleteByUserList", p_mjonKakaoATVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<KakaoVO> selectMjonKakaoATGroupDtList(KakaoVO p_mjonKakaoATVO) throws Exception{
|
||||
return (List<KakaoVO>)list("mjonKakaoATDAO.selectMjonKakaoATGroupDtList", p_mjonKakaoATVO);
|
||||
|
||||
@ -74,6 +74,23 @@ public class MjonKakaoATServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
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
|
||||
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.service.EgovCmmUseService;
|
||||
import itn.com.cmm.service.FileVO;
|
||||
import itn.com.cmm.util.MJUtil;
|
||||
import itn.com.cmm.util.StringUtil;
|
||||
import itn.let.kakao.admin.kakaoAt.service.ChannelIDVO;
|
||||
import itn.let.kakao.admin.kakaoAt.service.MjonKakaoATService;
|
||||
@ -231,7 +232,15 @@ public class MjonKakaoATController {
|
||||
kakaoVO.setReserveCYn("N");//예약취소건은 제외하기
|
||||
// 문자발송 완료건은 모두 보이도록 처리
|
||||
//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);
|
||||
|
||||
|
||||
@ -813,8 +813,8 @@ public class KakaoAlimTalkTemplateController {
|
||||
searchVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage());
|
||||
|
||||
if("".equals(searchVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
||||
searchVO.setSearchSortCnd("sampleTemplateId");
|
||||
searchVO.setSearchSortOrd("desc");
|
||||
searchVO.setSearchSortCnd("sampleTemplatePriority");
|
||||
searchVO.setSearchSortOrd("asc");
|
||||
}
|
||||
|
||||
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.let.mjo.conf.service.MjonConfService;
|
||||
import itn.let.mjo.conf.service.MjonConfVO;
|
||||
import itn.let.mjo.msgagent.service.MjonMsgAgentStsService;
|
||||
import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO;
|
||||
|
||||
@Controller
|
||||
public class MjonConfController {
|
||||
@ -21,7 +23,8 @@ public class MjonConfController {
|
||||
@Resource(name = "mjonConfService")
|
||||
private MjonConfService mjonConfService;
|
||||
|
||||
|
||||
@Resource(name = "mjonMsgAgentStsService")
|
||||
private MjonMsgAgentStsService mjonMsgAgentStsService;
|
||||
|
||||
|
||||
/**
|
||||
@ -96,5 +99,38 @@ public class MjonConfController {
|
||||
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 JJResult = 0;
|
||||
int IVTResult = 0;
|
||||
int jjBline01Result = 0;
|
||||
int jjBline02Result = 0;
|
||||
|
||||
//아이하트 딜레이문자 삭제
|
||||
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
@ -701,9 +703,14 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
||||
//인비토 딜레이문자 삭제
|
||||
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);
|
||||
|
||||
@ -775,6 +782,9 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
||||
int FHMmsResult = 0;
|
||||
int JJResult = 0;
|
||||
int IVTResult = 0;
|
||||
int JJB01Result = 0;
|
||||
int JJB02Result = 0;
|
||||
|
||||
|
||||
//아이하트 딜레이문자 즉시발송 처리
|
||||
//ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
@ -798,8 +808,14 @@ public class MjonMsgServiceImpl extends EgovAbstractServiceImpl implements MjonM
|
||||
//제이제이 딜레이문자 즉시발송 처리
|
||||
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);
|
||||
|
||||
|
||||
@ -275,6 +275,29 @@ public class MjonMsgController {
|
||||
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 egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import egovframework.rte.fdl.idgnr.EgovIdGnrService;
|
||||
import itn.let.mjo.msgagent.service.MjonMsgAgentStsService;
|
||||
import itn.let.mjo.msgagent.service.MjonMsgAgentStsVO;
|
||||
import itn.let.uat.uia.service.impl.MberManageDAO;
|
||||
@ -26,6 +27,10 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
|
||||
@Resource(name = "mjonMsgAgentStsService")
|
||||
private MjonMsgAgentStsService mjonMsgAgentStsService;
|
||||
|
||||
/** 메모 idgen */
|
||||
@Resource(name="egovGnrlUserSelectMemoIdGnrService")
|
||||
private EgovIdGnrService memoidgenService;
|
||||
|
||||
@Override
|
||||
public List<MjonMsgAgentStsVO> selectMjonMsgAgentStsList() throws Exception{
|
||||
return mjonMsgAgentStsDAO.selectMjonMsgAgentStsList();
|
||||
@ -174,6 +179,14 @@ public class MjonMsgAgentStsServiceImpl extends EgovAbstractServiceImpl implemen
|
||||
// B선라인 일경우 회원테이블 업데이트
|
||||
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) {
|
||||
System.out.println("+++++++++++ updateMberHotlineAgentCodeInfo Service Imple Error!!! " + e);
|
||||
}
|
||||
|
||||
@ -185,12 +185,14 @@ public class MjonMsgDataServiceImpl extends EgovAbstractServiceImpl implements M
|
||||
mberRepAgent = tmp.getRepAgent();
|
||||
String useYn = tmp.getUseYn();
|
||||
|
||||
if(userInfo.getBlineCode().equals("N")) {
|
||||
//회원 전용 전송사의 전송 비율이 0 이면 대표전송사로 전송되도록 셋팅함.
|
||||
if(mberSendRate.equals("0") || useYn.equals("N")) {
|
||||
|
||||
hotlineAgentCode = mberRepAgent;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -504,6 +504,10 @@ public class MjonMsgDataController {
|
||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||
searchVO.setUserId(userId);
|
||||
|
||||
|
||||
model.addAttribute("blineCode", mberManageVO.getBlineCode());
|
||||
|
||||
|
||||
}
|
||||
|
||||
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
||||
@ -904,6 +908,7 @@ public class MjonMsgDataController {
|
||||
|
||||
mberManageVO = mjonMsgDataService.selectMberManageInfo(userId);
|
||||
|
||||
model.addAttribute("blineCode", mberManageVO.getBlineCode());
|
||||
}
|
||||
|
||||
model.addAttribute("exceptSpamYn", mberManageVO.getExceptSpamYn());
|
||||
|
||||
@ -138,6 +138,27 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
||||
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{
|
||||
|
||||
@ -235,4 +256,25 @@ public class MjonReservMsgDAO extends EgovAbstractDAO {
|
||||
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 FHSmsResult = 0;
|
||||
int FHMmsResult = 0;
|
||||
int jjB01Result = 0;
|
||||
int jjB02Result = 0;
|
||||
|
||||
//아이하트 예약취소 삭제
|
||||
ihResult = mjonReservMsgDAO.deleteIHeartMsgSeqListByMsgSeq(mjonResvMsgVO);
|
||||
@ -131,8 +133,14 @@ public class MjonReservMsgServiceImpl extends EgovAbstractServiceImpl implements
|
||||
//인비토 예약취소 삭제
|
||||
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")) { //아이하트 메세지 삭제
|
||||
|
||||
@ -122,6 +122,11 @@ public class EgovMberManageServiceImpl extends EgovAbstractServiceImpl implement
|
||||
return mberManageDAO.selectMberList(userSearchVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO) throws Exception {
|
||||
return mberManageDAO.selectMberDelTypeGrpList(userSearchVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO userSearchVO) throws Exception {
|
||||
return mberManageDAO.selectMberLoginAddList(userSearchVO);
|
||||
|
||||
@ -75,6 +75,11 @@ public class MberManageDAO extends EgovComAbstractDAO{
|
||||
return (List<MberManageVO>) list("mberManageDAO.selectMberList", userSearchVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<MberManageVO> selectMberDelTypeGrpList(UserDefaultVO userSearchVO){
|
||||
return (List<MberManageVO>) list("mberManageDAO.selectMberDelTypeGrpList", userSearchVO);
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
public List<MberManageVO> selectMberLoginAddList(UserDefaultVO 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> selectMberDelTypeGrpList(UserDefaultVO userSearchVO) throws Exception;
|
||||
|
||||
public List<MberManageVO> selectMberLoginAddList(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 selectAtSmishingYnUserInfo(UserManageVO userManageVO) throws Exception;
|
||||
|
||||
// 스미싱의심 온/오프
|
||||
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) 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;
|
||||
|
||||
|
||||
@ -488,9 +488,37 @@ public class MberManageVO extends UserDefaultVO{
|
||||
private String spamKeyword; //스팸 필터링 문자단어들
|
||||
private String spamRegistPnttm; //스팸 문자 발송 내용 등록일자
|
||||
private String exceptSpamYn; //스팸 필터링 예외 처리 여부
|
||||
|
||||
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 recommendId; // 추천아이디
|
||||
|
||||
@ -518,7 +546,14 @@ public class MberManageVO extends UserDefaultVO{
|
||||
|
||||
private String smishingYn; // 스미싱 의심여부
|
||||
private String vipYn; // VIP 여부
|
||||
private String atSmishingYn; // 알림톡 스미싱 의심여부
|
||||
|
||||
public String getAtSmishingYn() {
|
||||
return atSmishingYn;
|
||||
}
|
||||
public void setAtSmishingYn(String atSmishingYn) {
|
||||
this.atSmishingYn = atSmishingYn;
|
||||
}
|
||||
public String getPrePaymentYn() {
|
||||
return prePaymentYn;
|
||||
}
|
||||
|
||||
@ -204,7 +204,14 @@ public class UserManageVO extends UserDefaultVO{
|
||||
private float cash;
|
||||
private String blineCode; // B라인코드
|
||||
private String recommendId; // 추천아이디
|
||||
private String atSmishingYn; // 알림톡 스미싱 의심여부
|
||||
|
||||
public String getAtSmishingYn() {
|
||||
return atSmishingYn;
|
||||
}
|
||||
public void setAtSmishingYn(String atSmishingYn) {
|
||||
this.atSmishingYn = atSmishingYn;
|
||||
}
|
||||
public String getBlineCode() {
|
||||
return blineCode;
|
||||
}
|
||||
|
||||
@ -497,6 +497,11 @@ public class EgovUserManageServiceImpl extends EgovAbstractServiceImpl implement
|
||||
return userManageDAO.selectSmishingYnUserInfo(userManageVO);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
|
||||
return userManageDAO.selectAtSmishingYnUserInfo(userManageVO);
|
||||
}
|
||||
|
||||
// 스미싱의심 온/오프
|
||||
public void updateUserSmishingYn(UserManageVO userManageVO, String checkedIdForUpt) throws Exception {
|
||||
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 {
|
||||
userManageDAO.updateUserPrePaymentYn(userManageVO);
|
||||
|
||||
@ -271,11 +271,20 @@ public class UserManageDAO extends EgovAbstractDAO{
|
||||
return (UserManageVO) select("userManageDAO.selectSmishingYnUserInfo",userManageVO);
|
||||
}
|
||||
|
||||
public UserManageVO selectAtSmishingYnUserInfo(UserManageVO userManageVO) {
|
||||
return (UserManageVO) select("userManageDAO.selectAtSmishingYnUserInfo",userManageVO);
|
||||
}
|
||||
|
||||
// 스미싱의심 온/오프
|
||||
public void updateUserSmishingYn(UserManageVO userManageVO){
|
||||
update("userManageDAO.updateUserSmishingYn",userManageVO);
|
||||
}
|
||||
|
||||
// 알림톡 스미싱의심 온/오프
|
||||
public void updateUserAtSmishingYn(UserManageVO userManageVO){
|
||||
update("userManageDAO.updateUserAtSmishingYn",userManageVO);
|
||||
}
|
||||
|
||||
// 후불제 여부 저장
|
||||
public void updateUserPrePaymentYn(UserManageVO 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.FaxService;
|
||||
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.kakaoComm.KakaoReturnVO;
|
||||
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);
|
||||
model.addAttribute("paginationInfo", paginationInfo);
|
||||
|
||||
// 탈퇴사유별 인원수
|
||||
List<?> resultMberDelTypeGrpList = mberManageService.selectMberDelTypeGrpList(userSearchVO);
|
||||
model.addAttribute("resultMberDelTypeGrpList", resultMberDelTypeGrpList);
|
||||
|
||||
return "cmm/uss/umt/EgovDelUserManage";
|
||||
}
|
||||
@ -1168,8 +1170,8 @@ public class EgovUserManageController {
|
||||
* 최근 알리톡/친구톡 전송 내역
|
||||
* */
|
||||
//최근 발송 문자 내용 불러오기 - 최근 3개 내역만
|
||||
List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
|
||||
model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
|
||||
//List<MjonKakaoATSentVO> mjonKakaoATSentList = mjonKakaoATService.selectMberKakaoATSentLatestList(userId);
|
||||
//model.addAttribute("mjonKakaoATSentList", mjonKakaoATSentList);
|
||||
}
|
||||
|
||||
{
|
||||
@ -1376,7 +1378,7 @@ public class EgovUserManageController {
|
||||
sendKakaoVO.setSearchSortOrd("desc");
|
||||
sendKakaoVO.setFirstIndex(0);
|
||||
List<KakaoVO> kakaoResultList = new ArrayList<KakaoVO>();
|
||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(sendKakaoVO);
|
||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(sendKakaoVO);
|
||||
|
||||
model.addAttribute("kakaoResultList", kakaoResultList);
|
||||
|
||||
@ -1905,7 +1907,7 @@ public class EgovUserManageController {
|
||||
//searchVO.setReserveYn("N");
|
||||
// 문자발송 완료건은 모두 보이도록 처리
|
||||
|
||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteList(searchVO);
|
||||
kakaoResultList = mjonKakaoATService.selectMjonKakaoATGroupCompleteByUserList(searchVO);
|
||||
model.addAttribute("kakaoResultList", kakaoResultList);
|
||||
|
||||
//카카오톡 발송 통계 정보 불러오기
|
||||
@ -2419,6 +2421,38 @@ public class EgovUserManageController {
|
||||
|
||||
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 여부 변경
|
||||
@RequestMapping("/uss/umt/user/EgovGnrlUpdateUserVIPAjax.do")
|
||||
public ModelAndView EgovGnrlUpdateUserVIPAjax(@ModelAttribute("userManageVO") UserManageVO userManageVO) throws Exception {
|
||||
@ -2468,6 +2502,9 @@ public class EgovUserManageController {
|
||||
msg = "로그인이 필요합니다.";
|
||||
}
|
||||
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);
|
||||
|
||||
if(result > 0) {
|
||||
|
||||
@ -73,7 +73,8 @@
|
||||
</select>
|
||||
|
||||
<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#
|
||||
AND MSG_TYPE = 'S'
|
||||
ORDER BY BLINE_YN DESC
|
||||
|
||||
@ -1767,6 +1767,17 @@
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</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" >
|
||||
<![CDATA[
|
||||
SELECT COUNT(*) FROM LETTNBBS A
|
||||
|
||||
@ -162,6 +162,14 @@
|
||||
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 = MG.MSG_GROUP_ID
|
||||
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'
|
||||
@ -169,14 +177,6 @@
|
||||
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 = '8'
|
||||
) AS atFailCount ,
|
||||
( SELECT COUNT(0)
|
||||
FROM MJ_MSG_DATA C
|
||||
WHERE C.DEL_FLAG = 'N'
|
||||
@ -184,7 +184,9 @@
|
||||
AND C.MSG_GROUP_ID = MG.MSG_GROUP_ID
|
||||
AND C.RSLT_CODE != '7000'
|
||||
AND C.MSG_TYPE = '9'
|
||||
) AS ftFailCount ,
|
||||
) AS ftFailCount , -->
|
||||
'0' AS ftSuccessCount,
|
||||
'0' AS ftFailCount,
|
||||
MSG_NOTICETALK_SENDER_KEY ,
|
||||
MSG_NOTICETALK_TMP_KEY,
|
||||
MD.BIZ_UMID,
|
||||
@ -201,11 +203,11 @@
|
||||
</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
|
||||
AND MKPI.DELETE_YN = 'N'
|
||||
LEFT JOIN LETTNGNRLMBER LTM
|
||||
ON M.USER_ID = LTM.MBER_ID
|
||||
LEFT JOIN BIZ_LOG BL
|
||||
@ -312,6 +314,319 @@
|
||||
|
||||
</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">
|
||||
/* mjonKakaoATDAO.selectMjonKakaoATGroupDtList - 알림톡 전송 개별 리스트 */
|
||||
@ -349,7 +664,6 @@
|
||||
, MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey
|
||||
, MKPI.YELLOW_ID AS yellowId
|
||||
, LTM.MBER_NM AS userNm
|
||||
, successCount
|
||||
, BIZ_KAKAO_RESEND_YN AS subMsgSendYn
|
||||
, BIZ_KAKAO_RESEND_TYPE AS subMsgType
|
||||
, BIZ_KAKAO_RESEND_DATA AS subMsgTxt
|
||||
@ -403,7 +717,6 @@
|
||||
ELSE '2'
|
||||
END orderByCode
|
||||
, (<include refid="KakaoSentDAO.selectAgentResultQuery_A"/>) AS RESULT
|
||||
, (<include refid="mjonKakaoATDAO.selectSuccessResultQuery_C"/>) AS successCount
|
||||
, A.MSG_NOTICETALK_SENDER_KEY
|
||||
, A.MSG_NOTICETALK_TMP_KEY
|
||||
, CASE
|
||||
@ -442,7 +755,7 @@
|
||||
]]>
|
||||
)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'
|
||||
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
|
||||
WHERE 1=1
|
||||
@ -713,6 +1026,109 @@
|
||||
<!-- 알림톡 예약 발송 리스트 -->
|
||||
<select id="mjonKakaoATDAO.selectReserveMjonKakaoATGroupList" parameterClass="kakaoVO" resultClass="kakaoVO">
|
||||
/* mjonKakaoATDAO.selectMjonKakaoATGroupList - 알림톡 예약조회 */
|
||||
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 ,
|
||||
( 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 = 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)
|
||||
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 ,
|
||||
@ -745,40 +1161,9 @@
|
||||
MSG_NOTICETALK_TMP_KEY AS msgNoticetalkTmpKey ,
|
||||
MKPI.YELLOW_ID AS yellowId ,
|
||||
LTM.MBER_NM AS userNm ,
|
||||
successCount,
|
||||
atSuccessCount,
|
||||
ftSuccessCount,
|
||||
atFailCount,
|
||||
ftFailCount,
|
||||
BIZ_UMID AS bizUmid,
|
||||
BL.CALL_STATUS AS callStatus,
|
||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
||||
( SELECT COUNT(0)
|
||||
FROM BIZ_LOG BL1,
|
||||
MJ_MSG_DATA MMD1
|
||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||
AND M.MSG_GROUP_ID = 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 M.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||
AND M.MSG_GROUP_ID = 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
|
||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||
FROM (
|
||||
SELECT MG.USER_ID ,
|
||||
MG.MSG_GROUP_ID ,
|
||||
@ -823,45 +1208,6 @@
|
||||
ELSE 'F'
|
||||
END
|
||||
) AS result ,
|
||||
( 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'
|
||||
) 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 = MG.MSG_GROUP_ID
|
||||
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 = 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 = '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 ftFailCount ,
|
||||
MSG_NOTICETALK_SENDER_KEY ,
|
||||
MSG_NOTICETALK_TMP_KEY,
|
||||
MD.BIZ_UMID,
|
||||
@ -876,11 +1222,11 @@
|
||||
</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
|
||||
AND MKPI.DELETE_YN = 'N'
|
||||
LEFT JOIN LETTNGNRLMBER LTM
|
||||
ON M.USER_ID = LTM.MBER_ID
|
||||
LEFT JOIN BIZ_LOG BL
|
||||
@ -984,6 +1330,7 @@
|
||||
$searchSortOrd$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
) M2
|
||||
</select>
|
||||
|
||||
<!-- 알림톡 상세 리스트 조회 -->
|
||||
|
||||
@ -201,6 +201,93 @@
|
||||
|
||||
<!-- 전체 발송결과 조회 (그룹별)-->
|
||||
<select id="KakaoSentDAO.selectAllKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||
SELECT
|
||||
M2.totMsgCnt ,
|
||||
M2.userId ,
|
||||
M2.msgGroupId ,
|
||||
M2.msgGroupCnt ,
|
||||
M2.smsTxt ,
|
||||
M2.subject ,
|
||||
M2.regDate ,
|
||||
M2.reqDate ,
|
||||
M2.rsltDate ,
|
||||
M2.callFrom ,
|
||||
M2.callTo ,
|
||||
M2.addrNm ,
|
||||
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 ,
|
||||
( 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 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)
|
||||
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 totMsgCnt ,
|
||||
M.USER_ID AS userId ,
|
||||
@ -230,38 +317,9 @@
|
||||
msgTypeName AS msgTypeName ,
|
||||
orderByCode AS orderByCode ,
|
||||
RESULT AS msgResult ,
|
||||
successCount,
|
||||
waitCount,
|
||||
failCount,
|
||||
BIZ_UMID AS bizUmid,
|
||||
BL.CALL_STATUS AS callStatus,
|
||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
||||
( SELECT COUNT(0)
|
||||
FROM BIZ_LOG BL1,
|
||||
MJ_MSG_DATA MMD1
|
||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||
AND M.MSG_GROUP_ID = 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 M.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||
AND M.MSG_GROUP_ID = 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
|
||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||
FROM (
|
||||
SELECT MG.USER_ID ,
|
||||
MG.MSG_GROUP_ID ,
|
||||
@ -304,34 +362,6 @@
|
||||
THEN 'W'
|
||||
ELSE 'F'
|
||||
END ) AS result ,
|
||||
( 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'
|
||||
) 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 = MG.MSG_GROUP_ID
|
||||
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 = MG.MSG_GROUP_ID
|
||||
AND (
|
||||
C.RSLT_CODE != '7000'
|
||||
AND C.RSLT_CODE IS NOT NULL
|
||||
)
|
||||
) AS failCount ,
|
||||
MSG_NOTICETALK_SENDER_KEY ,
|
||||
MSG_NOTICETALK_TMP_KEY,
|
||||
MD.BIZ_UMID,
|
||||
@ -441,6 +471,7 @@
|
||||
$searchSortOrd$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
) M2
|
||||
</select>
|
||||
|
||||
|
||||
@ -955,6 +986,94 @@
|
||||
|
||||
<!-- 전체 예약결과 조회 (그룹별)-->
|
||||
<select id="KakaoSentDAO.selectReservKakaoSentList" parameterClass="kakaoSentVO" resultClass="kakaoSentVO">
|
||||
SELECT
|
||||
M2.totMsgCnt ,
|
||||
M2.userId ,
|
||||
M2.msgGroupId ,
|
||||
M2.msgGroupCnt ,
|
||||
M2.smsTxt ,
|
||||
M2.subject ,
|
||||
M2.regDate ,
|
||||
M2.reqDate ,
|
||||
M2.rsltDate ,
|
||||
M2.diffMin,
|
||||
M2.callFrom ,
|
||||
M2.callTo ,
|
||||
M2.addrNm ,
|
||||
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 ,
|
||||
( 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 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)
|
||||
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 totMsgCnt ,
|
||||
M.USER_ID AS userId ,
|
||||
@ -985,38 +1104,9 @@
|
||||
msgTypeName AS msgTypeName ,
|
||||
orderByCode AS orderByCode ,
|
||||
RESULT AS msgResult ,
|
||||
successCount,
|
||||
waitCount,
|
||||
failCount,
|
||||
BIZ_UMID AS bizUmid,
|
||||
BL.CALL_STATUS AS callStatus,
|
||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn,
|
||||
( SELECT COUNT(0)
|
||||
FROM BIZ_LOG BL1,
|
||||
MJ_MSG_DATA MMD1
|
||||
WHERE M.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||
AND M.MSG_GROUP_ID = 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 M.BIZ_KAKAO_RESEND_YN = 'Y'
|
||||
AND M.MSG_GROUP_ID = 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
|
||||
M.BIZ_KAKAO_RESEND_YN AS bizKakaoResendYn
|
||||
FROM (
|
||||
SELECT MG.USER_ID ,
|
||||
MG.MSG_GROUP_ID ,
|
||||
@ -1061,34 +1151,6 @@
|
||||
THEN 'W'
|
||||
ELSE 'F'
|
||||
END ) AS result ,
|
||||
( 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'
|
||||
) 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 = MG.MSG_GROUP_ID
|
||||
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 = MG.MSG_GROUP_ID
|
||||
AND (
|
||||
C.RSLT_CODE != '7000'
|
||||
AND C.RSLT_CODE IS NOT NULL
|
||||
)
|
||||
) AS failCount ,
|
||||
MSG_NOTICETALK_SENDER_KEY ,
|
||||
MSG_NOTICETALK_TMP_KEY,
|
||||
MD.BIZ_UMID,
|
||||
@ -1187,6 +1249,7 @@
|
||||
$searchSortOrd$
|
||||
</isNotEmpty>
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
) M2
|
||||
</select>
|
||||
|
||||
</sqlMap>
|
||||
@ -572,6 +572,26 @@
|
||||
|
||||
</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 ATCH_FILE_ID AS atchFileId,
|
||||
@ -663,6 +683,30 @@
|
||||
|
||||
</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>
|
||||
|
||||
|
||||
|
||||
@ -633,6 +633,30 @@
|
||||
</isNotEmpty>
|
||||
</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
|
||||
MBER_ID userId
|
||||
@ -729,7 +753,8 @@
|
||||
A.SMISHING_YN smishingYn,
|
||||
A.VIP_YN vipYn,
|
||||
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
|
||||
LEFT JOIN MJ_CANDIDATE_INFO MCI
|
||||
ON A.MBER_ID = MCI.MBER_ID
|
||||
|
||||
@ -1328,6 +1328,15 @@
|
||||
WHERE MBER_ID = #mberId#
|
||||
</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
|
||||
LETTNGNRLMBER
|
||||
@ -1337,6 +1346,15 @@
|
||||
AND MBER_ID = #mberId#
|
||||
</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
|
||||
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 여부
|
||||
function fnMberVIPYn(){
|
||||
var form = document.mberManageVO;
|
||||
@ -1230,7 +1269,7 @@ function fnMberHotlineAgentYn(){
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
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',
|
||||
async: false,
|
||||
success: function (data, status) {
|
||||
@ -2535,6 +2574,20 @@ function fnMberExceptSpamYn(){
|
||||
</select>
|
||||
</td>
|
||||
</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>
|
||||
<th>전용 전송사</th>
|
||||
<td>
|
||||
@ -2969,6 +3022,20 @@ function fnMberExceptSpamYn(){
|
||||
</select>
|
||||
</td>
|
||||
</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>
|
||||
<th>전용 전송사</th>
|
||||
<td>
|
||||
@ -4810,27 +4877,27 @@ function fnMberExceptSpamYn(){
|
||||
<tbody>
|
||||
<tr>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
</tbody>
|
||||
</table>
|
||||
@ -4854,7 +4921,7 @@ function fnMberExceptSpamYn(){
|
||||
<tbody>
|
||||
<tr>
|
||||
<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>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -295,8 +295,8 @@ function fnSetCalMonth(val) {
|
||||
|
||||
}
|
||||
|
||||
//스미싱의심 온/오프
|
||||
function fnSmishingUpdate(flag) {
|
||||
//알림톡 스미싱의심 온/오프
|
||||
function fnAtSmishingUpdate(flag) {
|
||||
if($("input:checkbox[name='checkField']").is(":checked")==false){
|
||||
alert("선택된 항목이 없습니다.");
|
||||
return;
|
||||
@ -322,15 +322,15 @@ function fnSmishingUpdate(flag) {
|
||||
if(checkedIds.length > 0) {
|
||||
var msg = "";
|
||||
if(flag == 'on') {
|
||||
document.listForm.smishingYn.value='Y';
|
||||
msg = "선택하신 사용자의 스미싱의심을 On 하시겠습니까?";
|
||||
document.listForm.atSmishingYn.value='Y';
|
||||
msg = "선택하신 사용자의 알림톡 스미싱의심을 On 하시겠습니까?";
|
||||
} else {
|
||||
document.listForm.smishingYn.value='N';
|
||||
msg = "선택하신 사용자의 스미싱의심을 Off 하시겠습니까?";
|
||||
document.listForm.atSmishingYn.value='N';
|
||||
msg = "선택하신 사용자의 알림톡 스미싱의심을 Off 하시겠습니까?";
|
||||
}
|
||||
if(confirm(msg)){
|
||||
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();
|
||||
}
|
||||
}
|
||||
@ -369,7 +369,7 @@ function fnSmishingUpdate(flag) {
|
||||
<input type="hidden" name="ntceEndde" id="ntceEndde" value="">
|
||||
<input type="hidden" name="adminSmsNoticeYn" value=""/>
|
||||
<input name="checkedIdForDel" type="hidden" />
|
||||
<input type="hidden" name="smishingYn" value=""/>
|
||||
<input type="hidden" name="atSmishingYn" value=""/>
|
||||
|
||||
<div class="contWrap">
|
||||
<div class="pageTitle">
|
||||
@ -506,7 +506,7 @@ function fnSmishingUpdate(flag) {
|
||||
<c:out value="${result.yellowId}"/>
|
||||
</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}"/>
|
||||
</td> --%>
|
||||
|
||||
@ -552,7 +552,7 @@ function fnSmishingUpdate(flag) {
|
||||
<c:out value="${result.msgTypeName}"/>
|
||||
</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}"/>
|
||||
</td> --%>
|
||||
<%-- <td><c:out value="${result.rsltNet}"/></td> --%>
|
||||
@ -565,10 +565,10 @@ function fnSmishingUpdate(flag) {
|
||||
</table>
|
||||
</div>
|
||||
<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="fnSmishingUpdate('on'); return false;" value="스미싱 ON">
|
||||
<input type="button" class="btnType2" style="padding:5px 10px" onclick="fnSmishingUpdate('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="fnAtSmishingUpdate('off'); return false;" value="알림톡 스미싱 OFF">
|
||||
-->
|
||||
</div>
|
||||
|
||||
<!-- 페이지 네비게이션 시작 -->
|
||||
|
||||
@ -212,7 +212,7 @@
|
||||
<div class="tableWrap">
|
||||
<table class="tbType1">
|
||||
<colgroup>
|
||||
<col style="width:4%;">
|
||||
<col style="width:5%;">
|
||||
<col style="width:3%;">
|
||||
<col style="width:auto;">
|
||||
</colgroup>
|
||||
|
||||
@ -77,11 +77,11 @@ $(document).ready(function(){
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<col style="width: 40px;">
|
||||
<col style="width: 16%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 14%;">
|
||||
<col style="width: 7%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 18%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 13%;">
|
||||
<col style="width: 10%;">
|
||||
<col style="width: 12%;">
|
||||
<col style="width: 7%;">
|
||||
|
||||
@ -97,6 +97,7 @@ function listSortOrd(obj){
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
|
||||
<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" id="msgGroupId" name="msgGroupId" value="${kakaoSentVO.msgGroupId}"/>
|
||||
</form>
|
||||
|
||||
|
||||
|
||||
@ -451,6 +451,14 @@ function txtExport(event){
|
||||
|
||||
$(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();
|
||||
$('.prePhoto').hide();
|
||||
@ -1497,6 +1505,13 @@ $(document).ready(function (){
|
||||
//일반문자 라이오 선택해 주기
|
||||
$("#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(){
|
||||
|
||||
$(this).remove();
|
||||
@ -2948,6 +2963,14 @@ function fnTestSend(){
|
||||
return false;
|
||||
}
|
||||
|
||||
var blineCodeYn = $("#blineCode").val();
|
||||
if(blineCodeYn != 'N'){
|
||||
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
||||
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||
//if (getMsgGroupDataErrorCheck() == false) {
|
||||
// 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="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="heading">
|
||||
@ -3525,8 +3549,8 @@ $(".btn_event_cash").off().on("click", function(){
|
||||
<tr>
|
||||
<th scope="row">문자분류</th>
|
||||
<td class="send_cf">
|
||||
<input id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
||||
<label for="send_adYnN">일반</label>
|
||||
<input class="send_adYnN" id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
||||
<label class="send_adYnN" for="send_adYnN">일반</label>
|
||||
<input id="send_adYnY" type="radio" name="send_adYn" value="Y">
|
||||
<label for="send_adYnY">광고</label>
|
||||
</td>
|
||||
|
||||
@ -857,7 +857,28 @@ function checkConf() {
|
||||
|
||||
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(){
|
||||
@ -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 누락데이터 체크
|
||||
//if (getMsgGroupDataErrorCheck() == false) {
|
||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||
|
||||
@ -595,8 +595,17 @@ function txtExport(event){
|
||||
|
||||
$(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();
|
||||
|
||||
//미리보기 이미지 영역 숨김 처리
|
||||
$('.preiew_img').hide();
|
||||
$('.prePhoto').hide();
|
||||
|
||||
@ -1685,6 +1694,13 @@ $(document).ready(function (){
|
||||
//일반문자 라이오 선택해 주기
|
||||
$("#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(){
|
||||
|
||||
$(this).remove();
|
||||
@ -2675,6 +2691,13 @@ function fnTestSend(){
|
||||
return false;
|
||||
}
|
||||
|
||||
var blineCodeYn = $("#blineCode").val();
|
||||
if(blineCodeYn != 'N'){
|
||||
if(!blineSendCheck(blineCodeYn)){ //문자온 conf-check
|
||||
alert("현재 문자 발송하기 기능 점검 중입니다.\n\n잠시 후 다시 시도해주세요.");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
//MJ_MSG_GROUP_DATA 누락데이터 체크
|
||||
//if (getMsgGroupDataErrorCheck() == false) {
|
||||
// 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="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="heading">
|
||||
<h2>대량문자/단체문자 전송</h2>
|
||||
@ -3043,8 +3068,8 @@ $(".btn_event_cash").off().on("click", function(){
|
||||
<tr>
|
||||
<th scope="row">문자분류</th>
|
||||
<td class="send_cf">
|
||||
<input id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
||||
<label for="send_adYnN">일반</label>
|
||||
<input class="send_adYnN" id="send_adYnN" type="radio"name="send_adYn" value="N" checked="checked">
|
||||
<label class="send_adYnN" for="send_adYnN">일반</label>
|
||||
<input id="send_adYnY" type="radio" name="send_adYn" value="Y">
|
||||
<label for="send_adYnY">광고</label>
|
||||
</td>
|
||||
|
||||
@ -471,6 +471,29 @@ function checkConf() {
|
||||
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(){
|
||||
|
||||
@ -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 누락데이터 체크
|
||||
//if (getMsgGroupDataErrorCheck() == false) {
|
||||
// alert("고객님께서 발송한 최근문자가 발송결과에 표시되지않아, 문자발송이 임시로 차단되었습니다.\n문자온 고객센터에 문의해주세요.");
|
||||
|
||||
@ -170,7 +170,16 @@ function winPrint() {
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</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.vatPrice}"/></td>
|
||||
<td><c:out value="${sList.totPrice}"/></td>
|
||||
|
||||
@ -176,7 +176,12 @@ function setItemAddHtml() {
|
||||
else {
|
||||
sHtml += " <div>" + element.unitPrice + "</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.vatPrice) + "</div>";
|
||||
sHtml += " <div>" + numberWithCommas(element.totVatPrice) + "</div>";
|
||||
|
||||
@ -71,10 +71,10 @@ $(document).ready(function(){
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<col style="width: 40px;">
|
||||
<col style="width: 8%;">
|
||||
<col style="width: 13%;">
|
||||
<col style="width: 13%;">
|
||||
<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: 8%;">
|
||||
<col style="width: 10%;">
|
||||
@ -92,9 +92,6 @@ $(document).ready(function(){
|
||||
<input type="checkbox" id="allCheck" name="allCheck">
|
||||
</th>
|
||||
<th rowspan="2">발송상태
|
||||
<div class="sort_wrap">
|
||||
<input type="button" class="sort sortBtn" id="sort_shipmentStatus">
|
||||
</div>
|
||||
</th>
|
||||
<th rowspan="2">
|
||||
접수일자
|
||||
|
||||
@ -209,6 +209,11 @@
|
||||
<td>성공 건수</td>
|
||||
<td>String</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>[data].test_yn</th>
|
||||
<td>테스트 데이터 여부</td>
|
||||
<td>String</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -233,10 +238,12 @@
|
||||
<p>, "data":[</p>
|
||||
<div>
|
||||
<p>"msgGroupId":"MSGGID_0000000000000"</p>
|
||||
<p>, "msgType":"4"</p>
|
||||
<p>, "msgType":"SMS"</p>
|
||||
<p>, "resultCode":"0"</p>
|
||||
<p>, "blockCnt":"0"</p>
|
||||
<p>, "failCnt":"0"</p>
|
||||
<p>, "successCnt":"3"</p>
|
||||
<p>, "test_yn":null</p>
|
||||
</div>
|
||||
<p>]</p>
|
||||
}
|
||||
|
||||
@ -219,6 +219,11 @@
|
||||
<td>성공 건수</td>
|
||||
<td>String</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>[data].test_yn</th>
|
||||
<td>테스트 데이터 여부</td>
|
||||
<td>String</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
@ -239,20 +244,30 @@
|
||||
<tr>
|
||||
<td class="padding_add">
|
||||
{
|
||||
<p>"resultCode":"0"</p>
|
||||
<p>, "data":[</p>
|
||||
<div>
|
||||
<p>"msgGroupIdList":[</p>
|
||||
<p> 0:"MSGGID_0000000000000"</p>
|
||||
<p> 1:"MSGGID_0000000000001"</p>
|
||||
<p> 2:"MSGGID_0000000000002"</p>
|
||||
<p>]</p>
|
||||
<p>, "msgType":"LMS"</p>
|
||||
<p>, "blockCnt":"0"</p>
|
||||
<p>, "failCnt":"0"</p>
|
||||
<p>, "successCnt":"3"</p>
|
||||
</div>
|
||||
<p>]</p>
|
||||
<p> "resultCode":"0"</p>
|
||||
<p> , "data":[</p>
|
||||
<p>  "msgGroupIdList":[</p>
|
||||
<p>   {</p>
|
||||
<p>    "MSGGID_0000000013451"</p>
|
||||
<p>   }</p>
|
||||
<p>   ,{</p>
|
||||
<p>    "MSGGID_0000000013452"</p>
|
||||
<p>   }</p>
|
||||
<p>  ]</p>
|
||||
<p>  ,"msgTypeList":[</p>
|
||||
<p>   {</p>
|
||||
<p>    "SMS"</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>
|
||||
</tr>
|
||||
|
||||
@ -4,11 +4,15 @@
|
||||
|
||||
<p class="tType1_title">전송내역조회</p>
|
||||
<span class="reqTxt4">
|
||||
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
|
||||
최근 요청 및 처리된 전송내역을 조회하실 수 있습니다.
|
||||
</br>
|
||||
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
|
||||
사이트 내 전송결과 조회 페이지와 동일한 내역이 조회되며, 날짜 기준으로 조회가 가능합니다.
|
||||
</br>
|
||||
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
|
||||
발신번호별 조회 기능은 제공이 되지 않습니다.
|
||||
</br>
|
||||
조회 시작일을 지정하실 수 있으며, 시작일 이전 며칠까지 조회할지 설정이 가능합니다.
|
||||
</br>
|
||||
조회 시 최근 발송내역 순서로 소팅됩니다.
|
||||
</span>
|
||||
</br>
|
||||
</br>
|
||||
@ -103,7 +107,7 @@
|
||||
<th>startDate</th>
|
||||
<td>시작일자</td>
|
||||
<td>String</td>
|
||||
<td>O</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>endDate</th>
|
||||
@ -119,7 +123,6 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
|
||||
|
||||
|
||||
<ul class="clause_list">
|
||||
@ -138,13 +141,13 @@
|
||||
<tr>
|
||||
<td class="padding_add">
|
||||
{<br />
|
||||
<p>"mberId":"String"</p>
|
||||
<p>,"accessKey":"String"</p>
|
||||
<p>,"page":"String"</p>
|
||||
<p>,"pageSize":"String"</p>
|
||||
<p>,"startDate":"String"</p>
|
||||
<p>,"endDate":"String"</p>
|
||||
<p>,"test_yn":"( YS | YF )"</p>
|
||||
<p>"mberId":"홍길동"</p>
|
||||
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
|
||||
<p>,"page":""</p>
|
||||
<p>,"pageSize":""</p>
|
||||
<p>,"startDate":""</p>
|
||||
<p>,"endDate":""</p>
|
||||
<p>,"test_yn":""</p>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
@ -185,11 +188,31 @@
|
||||
<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>
|
||||
@ -206,8 +229,8 @@
|
||||
<td>String</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>[data].msgGroupCnt</th>
|
||||
<td>문자 발송 건수</td>
|
||||
<th>[data].callTo</th>
|
||||
<td>수신자 번호</td>
|
||||
<td>String</td>
|
||||
</tr>
|
||||
<tr>
|
||||
@ -305,31 +328,64 @@
|
||||
<tr>
|
||||
<td class="padding_add">
|
||||
{
|
||||
<p>"resultCode":"0"</p>
|
||||
<p>, "data":[</p>
|
||||
<div>
|
||||
<p>"msgGroupId":"MSGGID_0000000000000"</p>
|
||||
<p>, "msgTypeName":"단문(SMS)"</p>
|
||||
<p>, "msgType":"4"</p>
|
||||
<p>, "callFrom":"01011112222"</p>
|
||||
<p>, "msgGroupCnt":"2"</p>
|
||||
<p>, "sCnt":"2"</p>
|
||||
<p>, "fCnt":"0"</p>
|
||||
<p>, "wCnt":"0"</p>
|
||||
<p>, "msgResult":"S"</p>
|
||||
<p>, "smsTxt":"문자 내용"</p>
|
||||
<p>, "subject":""</p>
|
||||
<p>, "reqdate":"2023-04-05 00:00:00"</p>
|
||||
<p>, "curState":"3"</p>
|
||||
<p>, "userId":"testuser"</p>
|
||||
<p>, "regdate":"3"</p>
|
||||
<p>, "successCnt":"2023-04-04 16:10:19"</p>
|
||||
<p>, "reserveCYn":"N"</p>
|
||||
<p>, "ttlCnt":"4"</p>
|
||||
<p>, "remainMsgCnt":"0"</p>
|
||||
<p>, "totMsgCnt":"3"</p>
|
||||
</div>
|
||||
<p>]</p>
|
||||
<p> "resultCode":"0"</p>
|
||||
<p> , "data":[</p>
|
||||
<p>  {</p>
|
||||
<p>   "resultCode":"0"</p>
|
||||
<p>   , "message": null</p>
|
||||
<p>   , "next_yn":"n"</p>
|
||||
<p>   , "msgGroupId":"MSGGID_0000000000000"</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":"2"</p>
|
||||
<p>     ,"fcnt":"0"</p>
|
||||
<p>     ,"wcnt":"0"</p>
|
||||
<p>     ,"msgResult":"S"</p>
|
||||
<p>     ,"smsTxt":"문자 내용 단문 예제"</p>
|
||||
<p>     ,"subject":null</p>
|
||||
<p>     ,"reqdate":"2023-06-13 17:48:07"</p>
|
||||
<p>     ,"curState":"3"</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>
|
||||
</tr>
|
||||
@ -355,8 +411,8 @@
|
||||
<tr>
|
||||
<td class="padding_add">
|
||||
{
|
||||
<p>"resultCode":"1040"</p>
|
||||
<p>,"data":"치환 데이터 오류"</p>
|
||||
<p>"resultCode":"3099"</p>
|
||||
<p>,"data":"기타 시스템 오류"</p>
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -4,16 +4,18 @@
|
||||
|
||||
<p class="tType1_title">전송결과조회(상세)</p>
|
||||
<span class="reqTxt4">
|
||||
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
|
||||
msgGroupId를 사용하여 수신번호별 상태를 조회하실 수 있습니다.
|
||||
</br>
|
||||
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
|
||||
수신 전화번호별 전송상태를 조회하실 수 있으며 목록에 없거나 전송 중인 문자는 만 24시간 동안 전송 시도 중인 것입니다.
|
||||
</br>
|
||||
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
|
||||
최종 24시간이 경과 후 조회하셔야 완료된 내역을 확인하실 수 있습니다.
|
||||
</span>
|
||||
</br>
|
||||
</br>
|
||||
|
||||
|
||||
<p class="tType1_title">
|
||||
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
|
||||
</p>
|
||||
<ul class="clause_list">
|
||||
<li class="list_open on">
|
||||
<div class="clause_list_head">
|
||||
@ -53,9 +55,6 @@
|
||||
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
|
||||
</span>
|
||||
|
||||
<p class="tType1_title">
|
||||
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자
|
||||
</p>
|
||||
<table class="tType2">
|
||||
<caption></caption>
|
||||
<colgroup>
|
||||
@ -86,26 +85,20 @@
|
||||
<td>O</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>callFrom</th>
|
||||
<td>발신자 번호 (아이디에 등록되어 있는 번호)</td>
|
||||
<th>msgGroupId</th>
|
||||
<td>메시지그룹 ID</td>
|
||||
<td>String</td>
|
||||
<td>O</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>callToList</th>
|
||||
<td>수신자 번호 (콤마(,) 기준으로 입력)</td>
|
||||
<th>page</th>
|
||||
<td>페이지 번호</td>
|
||||
<td>String</td>
|
||||
<td>O</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>smsTxt</th>
|
||||
<td>메세지 내용</td>
|
||||
<td>String (1~2,000Byte)</td>
|
||||
<td>O</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>nameStr</th>
|
||||
<td>메세지 내용에 [*이름*]이 있으면 치환용 이름 입력</td>
|
||||
<th>pageSize</th>
|
||||
<td>페이지당 출력개수</td>
|
||||
<td>String</td>
|
||||
<td>X</td>
|
||||
</tr>
|
||||
@ -117,7 +110,6 @@
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
|
||||
|
||||
|
||||
<ul class="clause_list">
|
||||
@ -136,14 +128,276 @@
|
||||
<tr>
|
||||
<td class="padding_add">
|
||||
{<br />
|
||||
<p>"mberId":"String"</p>
|
||||
<p>,"accessKey":"String"</p>
|
||||
<p>,"callFrom":"String"</p>
|
||||
<p>,"callToList":"String"</p>
|
||||
<p>,"smsTxt":"String"</p>
|
||||
<p>,"nameStr":"String"</p>
|
||||
<p>,"callFrom":"String"</p>
|
||||
<p>,"test_yn":"( YS | YF )"</p>
|
||||
<p>"mberId":"홍길동"</p>
|
||||
<p>,"accessKey":"XXXXXXXXXXXXXX414050694b953"</p>
|
||||
<p>,"msgGroupId":"MSGGID_0000000011452"</p>
|
||||
<p>,"page":""</p>
|
||||
<p>,"pageSize":""</p>
|
||||
<p>,"test_yn":""</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>
|
||||
</tr>
|
||||
|
||||
@ -4,16 +4,18 @@
|
||||
|
||||
<p class="tType1_title">발송가능건수</p>
|
||||
<span class="reqTxt4">
|
||||
동일한 내용의 문자를 컴마(,)로 분기하여 동시 1천명에게 전송하실 수 있습니다.
|
||||
보유한 잔여 포인트로 발송 가능한 잔여 건수를 문자 구분(유형) 별로 조회하실 수 있습니다.
|
||||
</br>
|
||||
발신번호는 사이트내에서 미리 등록된 번호만 사용하실 수 있습니다.
|
||||
SMS, LMS, MMS로 발송 시 가능한 잔여 건수이며 남은 충전금을 문자유형별로 보냈을 경우 가능한 잔여 건입니다.
|
||||
</br>
|
||||
90byte를 초과하는 메시지 발송 시 LMS(첨부파일 없는 MMS) 형태로 자동 전환됩니다.
|
||||
예를 들어 단문 발송 가능 건수 : 20 , 장문 발송 가능 건수 : 7 인 경우 단문 전송 시 20건이 가능하고, 장문으로 전송 시 7건이 가능합니다.
|
||||
</span>
|
||||
</br>
|
||||
</br>
|
||||
|
||||
|
||||
<p class="tType1_title">
|
||||
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> [Request]
|
||||
</p>
|
||||
<ul class="clause_list">
|
||||
<li class="list_open on">
|
||||
<div class="clause_list_head">
|
||||
@ -53,9 +55,6 @@
|
||||
HTTPS 프로토콜을 사용하여 POST로 요청합니다.
|
||||
</span>
|
||||
|
||||
<p class="tType1_title">
|
||||
<img src="/publish/images/content/icon_fee1.png" alt="문자이미지"> 문자
|
||||
</p>
|
||||
<table class="tType2">
|
||||
<caption></caption>
|
||||
<colgroup>
|
||||
@ -85,40 +84,8 @@
|
||||
<td>String</td>
|
||||
<td>O</td>
|
||||
</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>
|
||||
</table>
|
||||
<span class="reqTxt4">* 텍스트 용량(Byte)에 대한 안내 : 2Byte, 영문·숫자 1Byte를 차지.</span>
|
||||
|
||||
|
||||
<ul class="clause_list">
|
||||
<li class="list_open on">
|
||||
@ -138,12 +105,146 @@
|
||||
{<br />
|
||||
<p>"mberId":"String"</p>
|
||||
<p>,"accessKey":"String"</p>
|
||||
<p>,"callFrom":"String"</p>
|
||||
<p>,"callToList":"String"</p>
|
||||
<p>,"smsTxt":"String"</p>
|
||||
<p>,"nameStr":"String"</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].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>
|
||||
</tr>
|
||||
|
||||
@ -4,46 +4,40 @@
|
||||
<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();
|
||||
|
||||
//문자발송 API로 전송할 데이터
|
||||
var searchWebParam = {
|
||||
'p_mberId' : $('#mberId').val()
|
||||
, 'p_apiKey' : $('#apiKey').val()
|
||||
, 'p_callFrom' : $('#callFrom').val()
|
||||
, 'p_callToList' : $('#callToList').val()
|
||||
, 'p_smsTxt' : $('#smsTxt').val()
|
||||
, 'p_nameStr' : $('#nameStr').val()
|
||||
, 'p_testYn' : $('#testYn').val()
|
||||
//, 'p_eachPrice' : $('#eachPrice').val()
|
||||
//, 'p_sPrice' : $('#sPrice').val()
|
||||
|
||||
'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() //테스트 데이터 여부
|
||||
};
|
||||
|
||||
//검색 API를 Ajax로 이용 하기 위한 호출
|
||||
//문자발송 REST API를 Ajax로 이용하기 위한 호출
|
||||
$.ajax({
|
||||
url : "./jsp_example_send_msg_r1.jsp",
|
||||
//형식을 json으로 받을 것이기 때문에 지정하여 주었습니다.
|
||||
dataType : "json",
|
||||
url : "./jsp_example_send_msg_r1.jsp", //요청 URL
|
||||
dataType : "json", //요청 값을 json으로 수신
|
||||
async : false,
|
||||
type : "POST",
|
||||
type : "POST", //POST 방식
|
||||
|
||||
data : searchWebParam,
|
||||
|
||||
success: function (returnData, status) {
|
||||
console.log('returnData :: ', returnData);
|
||||
|
||||
if (returnData.resultCode=="0"){
|
||||
//makeResult(returnData);
|
||||
if (returnData.resultCode=="0"){ //결과가 성공인 경우 결과값 노출
|
||||
|
||||
$("span#mgi").text(returnData.data.msgGroupId);
|
||||
$("span#sc").text(returnData.data.successCnt);
|
||||
@ -51,13 +45,13 @@
|
||||
$("span#bc").text(returnData.data.blockCnt);
|
||||
$("span#mt").text(returnData.data.msgType);
|
||||
|
||||
} else{
|
||||
} else{ //결과가 실패인 경우 원인 노출
|
||||
alert(returnData.resultCode+" : "+returnData.data);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
error : function(request, status, error){
|
||||
error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
||||
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
||||
console.log("AJAX_ERROR");
|
||||
}
|
||||
@ -66,77 +60,17 @@
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
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 += "";
|
||||
|
||||
|
||||
//$('#divResult').append("aaaaaa");
|
||||
$('#dynamicTbody').html(v_html);
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
|
||||
<div class="mypage_content current" id="tab5_3">
|
||||
<div class="heading">
|
||||
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2>
|
||||
<br/>
|
||||
<!-- 문자발송 설명 및 입력 영역 시작 -->
|
||||
<h2>문자발송(샘플-문자온)</h2>
|
||||
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요
|
||||
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.)
|
||||
@ -156,53 +90,49 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 발신자 번호 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">callFrom
|
||||
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 수신자 번호 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">callToList
|
||||
<input type="text" class="list_inputType1" id="callToList" maxlength="100" value="01022265487,01063170387,01011112222" size="100"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 문자 내용 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">smsTxt
|
||||
<input type="text" class="list_inputType1" id="smsTxt" maxlength="100" value="문자 테스트~![*이름*]" size="100"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 치환용 이름 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">nameStr
|
||||
<input type="text" class="list_inputType1" id="nameStr" maxlength="100" value="홍길동1|홍길동2|홍길동3" size="100"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 테스트 여부 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">테스트여부
|
||||
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공)
|
||||
</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">
|
||||
<button type="button" class="mem_btn3" style="width: 100%;" id="ajax_select_price" onclick="return false;">문자발송</button>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 문자 발송 결과값 노출 영역 시작 -->
|
||||
<div class="mem_cont_in">
|
||||
<div class="input_list">
|
||||
<div class="input_list_item">
|
||||
@ -220,17 +150,13 @@
|
||||
|
||||
<div class="input_left">메세지타입 : <span class="input_left" id="mt"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 문자발송 결과값 노출 영역 끝 -->
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
<!--// 마이페이지 - 비밀번호 변경 -->
|
||||
</div>
|
||||
<!--// send top -->
|
||||
</div>
|
||||
<!--// content 영역 -->
|
||||
|
||||
|
||||
@ -19,11 +19,15 @@
|
||||
<%
|
||||
try{
|
||||
//기본 설정값
|
||||
//final String encodingType = "utf-8";
|
||||
final String encodingType = "UTF-8";
|
||||
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 apiKey = "12e749877379aa7426275414050694b953"; //발급받은 api key
|
||||
@ -32,48 +36,27 @@
|
||||
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 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";
|
||||
// final String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsg";
|
||||
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
/******************** 인증정보 ********************/
|
||||
|
||||
|
||||
//임시 - 테스트용 시작
|
||||
//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_callFrom = request.getParameter("p_callFrom"); //발신자 번호
|
||||
String p_callToList = request.getParameter("p_callToList"); //수신자 번호
|
||||
String p_smsTxt = request.getParameter("p_smsTxt"); //문자 내용
|
||||
|
||||
//선택 값
|
||||
String p_nameStr = request.getParameter("p_nameStr"); //치환용 이름
|
||||
String p_testYn = request.getParameter("p_testYn"); //테스트 데이터 여부 '', 'YF', 'YS'
|
||||
|
||||
/* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */
|
||||
|
||||
//String p_sPrice = request.getParameter("p_sPrice"); //단문문자단가
|
||||
//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 = 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_mPrice = request.getParameter("p_mPrice"); //장문문자단가
|
||||
//String p_spamStatus = request.getParameter("p_spamStatus"); //스팸문자 유무
|
||||
@ -84,19 +67,23 @@
|
||||
//String p_divideTime = request.getParameter("p_divideTime"); //분할문자 간격
|
||||
//String p_reqDate = request.getParameter("p_reqDate"); //예약시간
|
||||
|
||||
// 필수 데이터
|
||||
params.put("mberId", mberId); // SMS 아이디
|
||||
/* 추후 사용을 위하여 주석 상태로 보존 - 사용자 샘플 JSP에는 해당 내용 삭제 */
|
||||
|
||||
Map<String, String> params = new HashMap<String, String>();
|
||||
|
||||
//필수 전송 데이터
|
||||
params.put("mberId", mberId); //회원 아이디
|
||||
params.put("accessKey", apiKey); //인증키
|
||||
//추가 전송 데이터
|
||||
params.put("callFrom" , p_callFrom); //발신번호
|
||||
params.put("callToList" , p_callToList); //수신번호
|
||||
//params.put("eachPrice" , p_eachPrice); //전송문자 개별가격
|
||||
//params.put("sPrice" , p_sPrice); //단문문자단가
|
||||
params.put("smsTxt" , p_smsTxt); //SMS용 메시지본문
|
||||
params.put("nameStr" , p_nameStr); //페이지당 출력갯수
|
||||
params.put("test_yn" , p_testYn); //테스트 여부
|
||||
params.put("callFrom" , p_callFrom); //발신자 번호
|
||||
params.put("callToList" , p_callToList); //수신자 번호
|
||||
params.put("smsTxt" , p_smsTxt); //문자 내용
|
||||
|
||||
//선택 전송 데이터
|
||||
params.put("nameStr" , p_nameStr); //치환용 이름
|
||||
params.put("test_yn" , p_testYn); //테스트 데이터 여부
|
||||
|
||||
|
||||
//REST API 전송
|
||||
String result = "";
|
||||
|
||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||
@ -114,9 +101,7 @@
|
||||
, ContentType.create("Multipart/related", encodingType));
|
||||
}catch(Exception ex){
|
||||
ex.printStackTrace();
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}catch(Exception ex){
|
||||
ex.printStackTrace();
|
||||
@ -146,4 +131,8 @@
|
||||
out.print("{\"resultCode\":99,\"message\":\"WRONG API METHOD\"}");
|
||||
}
|
||||
|
||||
|
||||
/**************** 문자발송 Response 예제 ******************/
|
||||
/* "result_code": 결과코드, "msgGroupId": 메세지 그룹 ID, "msgType": 메세지 타입 */
|
||||
/* "test_yn": 테스트 데이터 여부, "successCnt": 성공 건수 , "blockCnt" : 수신거부 건수*/
|
||||
%>
|
||||
@ -13,35 +13,29 @@
|
||||
$("span#bc").text("");
|
||||
$("span#mt").text("");
|
||||
|
||||
//document.updatePasswordForm.action = '/web/user/sendRESTAPI_test_r1_send.do';
|
||||
//document.updatePasswordForm.submit();
|
||||
|
||||
//문자발송 API로 전송할 데이터
|
||||
var searchWebParam = {
|
||||
'p_mberId' : $('#mberId').val()
|
||||
, 'p_apiKey' : $('#apiKey').val()
|
||||
|
||||
, 'p_callFrom' : $('#callFrom').val()
|
||||
, 'p_testYn' : $('#testYn').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로 이용 하기 위한 호출
|
||||
//문자발송 REST API를 Ajax로 이용하기 위한 호출
|
||||
$.ajax({
|
||||
url : "./jsp_example_send_msgs_r1.jsp",
|
||||
//형식을 json으로 받을 것이기 때문에 지정하여 주었습니다.
|
||||
dataType : "json",
|
||||
url : "./jsp_example_send_msgs_r1.jsp", //요청 URL
|
||||
dataType : "json", //요청 값을 json으로 수신
|
||||
async : false,
|
||||
type : "POST",
|
||||
type : "POST", //POST 방식
|
||||
|
||||
data : searchWebParam,
|
||||
|
||||
@ -49,20 +43,20 @@
|
||||
|
||||
console.log('returnData : ', returnData);
|
||||
|
||||
if (returnData.resultCode=="0"){
|
||||
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);
|
||||
|
||||
} else{
|
||||
} else{ //결과가 실패인 경우 원인 노출
|
||||
alert(returnData.resultCode+" : "+returnData.data);
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
error : function(request, status, error){
|
||||
error : function(request, status, error){ //에러가 발생한 경우 에러 노출
|
||||
alert(request+"///"+error+"///"+status+"///"+"AJAX_ERROR");
|
||||
console.log("AJAX_ERROR");
|
||||
}
|
||||
@ -86,26 +80,22 @@
|
||||
+ '</div>'
|
||||
+'</div>'
|
||||
;
|
||||
|
||||
$('.input_list').append(textData);
|
||||
|
||||
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
<div class="inner">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
|
||||
<div class="mypage_content current" id="tab5_3">
|
||||
<div class="heading">
|
||||
<h2><a href="./jsp_example_start_form_r1.jsp">돌아가기</a></h2>
|
||||
<br/>
|
||||
<!-- 문자발송 설명 및 입력 영역 시작 -->
|
||||
<h2>대량문자발송(샘플-문자온)</h2>
|
||||
*mberId와 accessKey값은 실제 서비스시에는 jsp_example_send_msg_r1.jsp 파일에 작성하여 사용하세요
|
||||
<br/>(샘플 페이지에서는 월활한 테스트를 위해 파라미터 형식으로 제공합니다.)
|
||||
@ -115,7 +105,6 @@
|
||||
<div class="mem_cont_in">
|
||||
|
||||
<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>
|
||||
</div>
|
||||
|
||||
@ -136,29 +125,37 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 발신자 번호 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">callFrom
|
||||
<input type="text" class="list_inputType1" id="callFrom" maxlength="100" value="01035520132" size="100"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 테스트 여부 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">테스트여부
|
||||
<input type="text" class="list_inputType1" id="testYn" maxlength="100" value="" size="100"/>(기본값 없음, YF-테스트(실패), YS-테스트(성공)
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 수신자 번호 1-->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">p_callTo_1
|
||||
<input type="text" class="list_inputType1 callTo" id="p_callTo_1" maxlength="100" value="01083584250">
|
||||
</div>
|
||||
</div>
|
||||
<!-- 문자 내용 1 -->
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">p_smsTxt_1
|
||||
<input type="text" class="list_inputType1 smsTxt" id="p_smsTxt_1" maxlength="100" value="testMsg">
|
||||
</div>
|
||||
</div>
|
||||
<!-- 문자발송 설명 및 입력 영역 끝 -->
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 문자 발송 결과값 노출 영역 시작 -->
|
||||
<div class="mem_cont_in">
|
||||
<div class="input_list_item">
|
||||
<div class="input_left">메세지ID : <span class="input_left" id="mgi"></span>
|
||||
@ -178,11 +175,7 @@
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 문자발송 결과값 노출 영역 끝 -->
|
||||
</div>
|
||||
<!--// 마이페이지 - 비밀번호 변경 -->
|
||||
</div>
|
||||
<!--// send top -->
|
||||
</div>
|
||||
<!--// content 영역 -->
|
||||
|
||||
|
||||
@ -18,94 +18,76 @@
|
||||
<%@ page language="java" contentType="text/html; charset=utf-8 " pageEncoding="utf-8"%>
|
||||
<%
|
||||
try{
|
||||
//기본 ì¤ì ê°
|
||||
//final String encodingType = "utf-8";
|
||||
//기본 설정값
|
||||
final String encodingType = "UTF-8";
|
||||
final String boundary = "____boundary____";
|
||||
|
||||
//íììì´ë, APIKEY - ë³´ìì ìí´ ì¤ì ìë¹ì¤ ììë ì´ê³³ì mberIdì apiKey ê°ì ì ì´ì ì¬ì©í´ì£¼ì¸ì
|
||||
//ì¤ì ìë¹ì¤ì©
|
||||
//final String mberId = "goodgkdus"; //문ìì¨ ë¡ê·¸ì¸ ìì´ë
|
||||
//final String apiKey = "12e749877379aa7426275414050694b953"; //ë°ê¸ë°ì api key
|
||||
/******************** 전송 요청 URL ********************/
|
||||
//String apiUrl = "http://localhost:8088/api/send/sendMsgs";
|
||||
//final String apiUrl = "https://api.munjaon.co.kr:9998/api/send/sendMsg"; //실제 서비스 URL
|
||||
String apiUrl = "https://apidev.munjaon.co.kr:9998/api/send/sendMsgs"; //개발테스트용 URL
|
||||
|
||||
//í
ì¤í¸ì©
|
||||
String mberId = request.getParameter("p_mberId"); //문ìì¨ ë¡ê·¸ì¸ ìì´ë
|
||||
String apiKey = request.getParameter("p_apiKey"); //ë°ê¸ë°ì api key
|
||||
//회원아이디, APIKEY - 보안을 위해 실제 서비스 시에는 이곳에 mberId와 apiKey 값을 적어서 사용
|
||||
//실제서비스용
|
||||
//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 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 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 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>();
|
||||
params.put("mberId", mberId); // SMS ìì´ë
|
||||
params.put("accessKey", apiKey); //ì¸ì¦í¤
|
||||
/******************** ì¸ì¦ì ë³´ ********************/
|
||||
|
||||
|
||||
//ìì - í
ì¤í¸ì© ìì
|
||||
//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_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("mberId", mberId); //회원 아이디
|
||||
params.put("accessKey", apiKey); //인증키
|
||||
params.put("callFrom" , p_callFrom); //ë°ì ë²í¸
|
||||
|
||||
//선택 전송 데이터
|
||||
params.put("test_yn" , p_testYn); //테스트 여부
|
||||
|
||||
//params.put("callTo_1" , p_callTo_1); //ìì ë²í¸
|
||||
//params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
||||
//params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
||||
//params.put("smsTxt_1" , p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸
|
||||
|
||||
|
||||
for (int i=1;i<101;i++){
|
||||
//전송할 데이터에 수신자, 문자내용 개수만큼 추가해주기
|
||||
for (int i=1;i<101;i++){ //최대 수신자 100명
|
||||
String p_callTo = "p_callTo_"+Integer.toString(i);
|
||||
String p_smsTxt = "p_smsTxt_"+Integer.toString(i);
|
||||
|
||||
String s_callTo = "callTo_"+Integer.toString(i);
|
||||
String s_smsTxt = "smsTxt_"+Integer.toString(i);
|
||||
|
||||
p_callTo_1 = request.getParameter(p_callTo); //SMSì© ë©ìì§ë³¸ë¬¸
|
||||
p_smsTxt_1 = request.getParameter(p_smsTxt); //SMSì© ë©ìì§ë³¸ë¬¸
|
||||
p_callTo_1 = request.getParameter(p_callTo);
|
||||
p_smsTxt_1 = request.getParameter(p_smsTxt);
|
||||
|
||||
|
||||
System.out.println("======i=====");
|
||||
@ -113,18 +95,20 @@
|
||||
System.out.println(p_callTo_1);
|
||||
System.out.println(p_smsTxt_1);
|
||||
|
||||
|
||||
if (p_callTo_1 != null
|
||||
&& p_smsTxt_1 != null
|
||||
&& !"".equals(p_callTo_1)
|
||||
&& !"".equals(p_smsTxt_1)
|
||||
){
|
||||
params.put(s_callTo, p_callTo_1); //ìì ë²í¸
|
||||
//params.put("eachPrice" , p_eachPrice); //ì ì¡ë¬¸ì ê°ë³ê°ê²©
|
||||
//params.put("sPrice" , p_sPrice); //ë¨ë¬¸ë¬¸ìë¨ê°
|
||||
params.put(s_smsTxt, p_smsTxt_1); //SMSì© ë©ìì§ë³¸ë¬¸
|
||||
params.put(s_callTo, p_callTo_1); //수신자 추가
|
||||
params.put(s_smsTxt, p_smsTxt_1); //문자내용 추가
|
||||
} else{
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
//REST API 전송
|
||||
String result = "";
|
||||
|
||||
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
|
||||
@ -136,7 +120,7 @@
|
||||
try{
|
||||
for(Iterator<String> i = params.keySet().iterator(); i.hasNext();){
|
||||
String key = i.next();
|
||||
//ì ë¬ê°ì´ ìë ê²½ì° ì¤ë¥
|
||||
//전달값이 없는 경우 오류
|
||||
try{
|
||||
builder.addTextBody(key, params.get(key)
|
||||
, ContentType.create("Multipart/related", encodingType));
|
||||
@ -174,4 +158,7 @@
|
||||
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"%>
|
||||
<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">
|
||||
<!-- send top -->
|
||||
<div class="send_top">
|
||||
|
||||
<div class="mypage_content current" id="tab5_3">
|
||||
@ -104,6 +9,7 @@
|
||||
<h2>REST API(샘플-문자온)</h2>
|
||||
</div>
|
||||
<div class="heading">
|
||||
<!-- 메뉴별 샘플 이동 링크 -->
|
||||
<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_hstry_form_r1.jsp">3.전체발송내역</a></h2>
|
||||
@ -112,9 +18,6 @@
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<!--// 마이페이지 - 비밀번호 변경 -->
|
||||
</div>
|
||||
<!--// send top -->
|
||||
</div>
|
||||
<!--// content 영역 -->
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user