diff --git a/src/main/java/itn/let/kakao/user/stepInfo/web/KakaoStepInfoController.java b/src/main/java/itn/let/kakao/user/stepInfo/web/KakaoStepInfoController.java index d85d87b5..3dd67af8 100644 --- a/src/main/java/itn/let/kakao/user/stepInfo/web/KakaoStepInfoController.java +++ b/src/main/java/itn/let/kakao/user/stepInfo/web/KakaoStepInfoController.java @@ -43,7 +43,7 @@ public class KakaoStepInfoController { @Resource(name = "EgovFileMngService") private EgovFileMngService fileService; - + /** * @Method Name : selectKaKaoStepInfo * @Project : mjon @@ -122,6 +122,25 @@ public class KakaoStepInfoController { searchVO.setBbsId(boardVO.getBbsId()); BoardMasterVO bbsMasterInfo = bbsAttrbService.selectBBSMasterInf(searchVO); + /** + * FAQ 타이틀 및 내용에 대한 XSS 변환 태그 원복 + * faqUnscript() 를 이용하여 디비에 변환 태그로 되어있는 코드를 다시 원복 시킴 + * ret.replaceAll("<", "<").replaceAll(">", ">"); + * + * */ + for(int i=0; i", ">"); + ret = ret.replaceAll("alert", ""); + ret = ret.replaceAll("iframe", ""); + + ret = ret.replaceAll("<", "<").replaceAll(">", ">"); + ret = ret.replaceAll("(", "\\(").replaceAll(")", "\\)"); + ret = ret.replaceAll("'", "'"); + ret = ret.replaceAll("eval\\((.*)\\)", ""); + ret = ret.replaceAll("[\\\"\\\'][\\s]*javascript:(.*)[\\\"\\\']", "\"\""); + ret = ret.replaceAll("script", ""); + + return ret; + } + + + } diff --git a/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java b/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java index 4445266a..84bb44af 100644 --- a/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java +++ b/src/main/java/itn/let/mjo/msgcampain/web/MjonMsgCampainDataController.java @@ -283,6 +283,7 @@ public class MjonMsgCampainDataController { model.addAttribute("msgResendAllFlag", searchVO.getMsgResendAllFlag()); model.addAttribute("msgResendAllGroupId", searchVO.getMsgResendAllGroupId()); model.addAttribute("msgResendAllAdvertiseYn", searchVO.getMsgResendAllAdvertiseYn()); + model.addAttribute("msgResendAllReplaceYn", searchVO.getMsgResendAllReplaceYn()); return "web/msgcampain/MsgDataView"; } diff --git a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataVO.java b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataVO.java index d4039d1c..10c9854a 100644 --- a/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataVO.java +++ b/src/main/java/itn/let/mjo/msgdata/service/MjonMsgDataVO.java @@ -70,8 +70,15 @@ public class MjonMsgDataVO extends UserDefaultVO{ private String msgResendAllFlag; private String msgResendAllGroupId; private String msgResendAllAdvertiseYn; + private String msgResendAllReplaceYn; private String atchFiles; + public String getMsgResendAllReplaceYn() { + return msgResendAllReplaceYn; + } + public void setMsgResendAllReplaceYn(String msgResendAllReplaceYn) { + this.msgResendAllReplaceYn = msgResendAllReplaceYn; + } public String getAtchFiles() { return atchFiles; } diff --git a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java index 5a64c335..e945d8fb 100644 --- a/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java +++ b/src/main/java/itn/let/mjo/msgdata/web/MjonMsgDataController.java @@ -85,6 +85,8 @@ import itn.let.mjo.msgdata.service.MjonMsgDataService; import itn.let.mjo.msgdata.service.MjonMsgDataVO; import itn.let.mjo.msgdata.service.MjonMsgReturnVO; import itn.let.mjo.msgdata.service.PhoneVO; +import itn.let.mjo.msgsent.service.MjonMsgSentService; +import itn.let.mjo.msgsent.service.MjonMsgSentVO; import itn.let.mjo.pay.service.MjonPayService; import itn.let.mjo.pay.service.MjonPayVO; import itn.let.mjo.spammsg.service.MjonSpamMsgService; @@ -176,6 +178,9 @@ public class MjonMsgDataController { @Resource(name = "mberGrdService") MberGrdService mberGrdService; + @Resource(name = "MjonMsgSentService") + private MjonMsgSentService mjonMsgSentService; + private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class); /** @@ -402,6 +407,7 @@ public class MjonMsgDataController { model.addAttribute("msgResendAllFlag", searchVO.getMsgResendAllFlag()); model.addAttribute("msgResendAllGroupId", searchVO.getMsgResendAllGroupId()); model.addAttribute("msgResendAllAdvertiseYn", searchVO.getMsgResendAllAdvertiseYn()); + model.addAttribute("msgResendAllReplaceYn", searchVO.getMsgResendAllReplaceYn()); }catch(Exception ex) { ex.printStackTrace(); @@ -3754,6 +3760,22 @@ public class MjonMsgDataController { }else {// 그외 단문 mjonMsgVO.setMsgType("4"); } + + if(bytes < 1) {//단문, 장문의 경우 문자 내용이 없는 경우 발송 안되도록 처리 + + System.out.println("===================================fncSendMsg======================================"); + System.out.println("+++++++++++++++++++++++++++++++++++++++++++ 입력 문자 내용이 없습니다. ::: "); + System.out.println("===================================fncSendMsg======================================"); + + modelAndView.addObject("message", "입력 문자 내용을 확인할 수 없습니다. 문자 내용을 입력해 주세요."); + modelAndView.addObject("result", "fail"); + modelAndView.addObject("resultSts", "0"); + modelAndView.addObject("resultBlockSts", "0"); + + return modelAndView; + + } + }else { //최대 문자길이 초과시 modelAndView.addObject("message", "문자 치환 후 전송 문자 길이를 초과하였습니다."); @@ -5964,4 +5986,64 @@ public class MjonMsgDataController { return modelAndView; } + /** + * 문자발송 리스트 화면 불러오기 + * + * @param MjonMsgDataVO + * @param + * @param sessionVO + * @param model + * @return + * @throws Exception + */ + @RequestMapping(value= {"/web/mjon/msgdata/selectMjMsgSentListAjax.do"}) + public String selectMjMsgSentListAjax( + @ModelAttribute("searchVO") MjonMsgSentVO mjonMsgSentVO, + ModelMap model) throws Exception { + + //로그인 권한정보 불러오기 + LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; + String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); + + List mjMsgSentList = null; + /** pageing */ + PaginationInfo paginationInfo = new PaginationInfo(); + + if(loginVO != null) { + mjonMsgSentVO.setStateType("all"); + mjonMsgSentVO.setListType("groupList"); + mjonMsgSentVO.setUserId(userId); + + // 검색 리스트 불러오기 + if(mjonMsgSentVO.getPageUnit() != 10) { + mjonMsgSentVO.setPageUnit(mjonMsgSentVO.getPageUnit()); + } + + //기본 내림차순 정렬 + if(mjonMsgSentVO.getSearchSortOrd().equals("")) { + mjonMsgSentVO.setSearchSortOrd("desc"); + mjonMsgSentVO.setSearchSortCnd("regdate"); + } + + paginationInfo.setCurrentPageNo(mjonMsgSentVO.getPageIndex()); + paginationInfo.setRecordCountPerPage(mjonMsgSentVO.getPageUnit()); + paginationInfo.setPageSize(mjonMsgSentVO.getPageSize()); + + mjonMsgSentVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); + mjonMsgSentVO.setLastIndex(paginationInfo.getLastRecordIndex()); + mjonMsgSentVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); + + //전체 발송 리스트 불러오기 + mjMsgSentList = mjonMsgSentService.selectAllMsgSentSimpleList(mjonMsgSentVO); + + paginationInfo.setTotalRecordCount( mjMsgSentList.size()> 0 ? (Integer.parseInt((mjMsgSentList.get(0)).getTotMsgCnt())) : 0); + } + + model.addAttribute("mjMsgSentList", mjMsgSentList); + model.addAttribute("paginationInfo", paginationInfo); + model.addAttribute("totalRecordCount", paginationInfo.getTotalRecordCount()); + + return "web/msgdata/MsgSentListAjax"; + } + } diff --git a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java index da96abda..c0d73343 100644 --- a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java +++ b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentService.java @@ -16,6 +16,9 @@ public interface MjonMsgSentService { //발송 관리 전체 발송 리스트 불러오기 public List selectAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception; + //발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 + public List selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception; + //발송 관리 발송 성공,실패 건수 리스트 불러오기 public List selectAllMsgSentSucFailList(List resultAllResList, MjonMsgSentVO mjonMsgSentVO) throws Exception; diff --git a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java index 1e84512a..ece24751 100644 --- a/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java +++ b/src/main/java/itn/let/mjo/msgsent/service/MjonMsgSentVO.java @@ -81,7 +81,21 @@ public class MjonMsgSentVO extends UserDefaultVO{ private String callFromComma; private String callToComma; - + private String msgSentType; + private String successCount; + + public String getSuccessCount() { + return successCount; + } + public void setSuccessCount(String successCount) { + this.successCount = successCount; + } + public String getMsgSentType() { + return msgSentType; + } + public void setMsgSentType(String msgSentType) { + this.msgSentType = msgSentType; + } public String getCallFromComma() { return callFromComma; } diff --git a/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java b/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java index c6136e83..bb43a7f0 100644 --- a/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java +++ b/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentDAO.java @@ -49,12 +49,20 @@ public class MjonMsgSentDAO extends EgovAbstractDAO { return result; } + //발송 관리 전체 발송 리스트 불러오기 @SuppressWarnings("unchecked") public List selectAllMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception{ return (List) list("MjonMsgSentDAO.selectAllMsgSentList",mjonMsgSentVO); } + //발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 + @SuppressWarnings("unchecked") + public List selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception{ + + return (List) list("MjonMsgSentDAO.selectAllMsgSentSimpleList",mjonMsgSentVO); + } + @SuppressWarnings("unchecked") public List selectAllPrivateMsgSentList(MjonMsgSentVO mjonMsgSentVO) throws Exception{ diff --git a/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java b/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java index 46f61440..f142d639 100644 --- a/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java +++ b/src/main/java/itn/let/mjo/msgsent/service/impl/MjonMsgSentServiceImpl.java @@ -84,6 +84,15 @@ public class MjonMsgSentServiceImpl extends EgovAbstractServiceImpl implements return resultList; } + //발송 관리 전체 발송 리스트 불러오기 => 주소록 조인 제거버전 + public List selectAllMsgSentSimpleList(MjonMsgSentVO mjonMsgSentVO) throws Exception{ + List resultList = new ArrayList(); + + resultList = mjonMsgSentDAO.selectAllMsgSentSimpleList(mjonMsgSentVO); + + return resultList; + } + //발송 관리 발송 성공,실패 건수 리스트 불러오기 public List selectAllMsgSentSucFailList(List resultAllResList, MjonMsgSentVO mjonMsgSentVO) throws Exception{ diff --git a/src/main/java/itn/web/MainController.java b/src/main/java/itn/web/MainController.java index cc45838a..80ae9fce 100644 --- a/src/main/java/itn/web/MainController.java +++ b/src/main/java/itn/web/MainController.java @@ -677,6 +677,13 @@ public class MainController { List mainMsgTagList = letterService.selectMainMsgTagWebList(letterMsgVO); model.addAttribute("mainMsgTagList", mainMsgTagList); + {//상단 메인배너 롤링 이미지 불러오기 + + List resultMainzoneList = egovPopupManageService.selectMainzoneListRolling(); + model.addAttribute("mainzoneList", resultMainzoneList); + + } + return "web/main/mainPage"; } diff --git a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml index dc2e2342..855321be 100644 --- a/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/msg/MjonMsgSent_SQL_mysql.xml @@ -267,6 +267,7 @@ , orderByCode AS orderByCode , RESULT AS msgResult , sendKind AS sendKind + , MSG_KIND AS msgKind FROM ( SELECT B.USER_ID @@ -291,6 +292,7 @@ , A.RSLT_CODE , A.RSLT_CODE2 , B.SEND_KIND as sendKind + , B.MSG_KIND , CASE WHEN B.MSG_TYPE = '6' AND B.FILE_CNT > 0 @@ -412,7 +414,7 @@ ]]> GROUP BY MSG_GROUP_ID - ORDER BY 1=1, MSG_GROUP_ID DESC + ORDER BY 1=1 , curState $searchSortOrd$ @@ -428,6 +430,148 @@ LIMIT #recordCountPerPage# OFFSET #firstIndex# + + + - - + + + + + + + +
+ +
+ + + +
+ +
+ +