--- src/main/java/itn/let/sym/site/service/EgovSiteManagerService.java
+++ src/main/java/itn/let/sym/site/service/EgovSiteManagerService.java
... | ... | @@ -161,5 +161,7 @@ |
| 161 | 161 |
int selectPersnalMemberCnt(String userId) throws Exception; |
| 162 | 162 |
|
| 163 | 163 |
// 첫결제여부 |
| 164 |
- int selectFirstPayCnt(String userId) throws Exception; |
|
| 164 |
+ int selectFirstPayCnt(String userId) throws Exception; |
|
| 165 |
+ |
|
| 166 |
+ void updateInspManage(SiteManagerVO siteManagerVO) throws Exception; |
|
| 165 | 167 |
} |
--- src/main/java/itn/let/sym/site/service/SiteManagerVO.java
+++ src/main/java/itn/let/sym/site/service/SiteManagerVO.java
... | ... | @@ -62,6 +62,8 @@ |
| 62 | 62 |
private String sessionTimeCdText; //세션타임 코드 텍스트 |
| 63 | 63 |
private String sessionTimeUserCd; //세션타임 사용자 코드 텍스트 |
| 64 | 64 |
private String sessionTimeUserCdTxt; //세션타임 사용자 코드 텍스트 |
| 65 |
+ private String sysMaintenance; //점검중페이지 노출여부 |
|
| 66 |
+ private String sysMaintenanceIp; //점검중페이지제외IP |
|
| 65 | 67 |
|
| 66 | 68 |
public static long getSerialversionuid() {
|
| 67 | 69 |
return serialVersionUID; |
... | ... | @@ -332,4 +334,21 @@ |
| 332 | 334 |
this.sessionTimeUserCdTxt = sessionTimeUserCdTxt; |
| 333 | 335 |
} |
| 334 | 336 |
|
| 337 |
+ public String getSysMaintenance() {
|
|
| 338 |
+ return sysMaintenance; |
|
| 339 |
+ } |
|
| 340 |
+ |
|
| 341 |
+ public void setSysMaintenance(String sysMaintenance) {
|
|
| 342 |
+ this.sysMaintenance = sysMaintenance; |
|
| 343 |
+ } |
|
| 344 |
+ |
|
| 345 |
+ public String getSysMaintenanceIp() {
|
|
| 346 |
+ return sysMaintenanceIp; |
|
| 347 |
+ } |
|
| 348 |
+ |
|
| 349 |
+ public void setSysMaintenanceIp(String sysMaintenanceIp) {
|
|
| 350 |
+ this.sysMaintenanceIp = sysMaintenanceIp; |
|
| 351 |
+ } |
|
| 352 |
+ |
|
| 353 |
+ |
|
| 335 | 354 |
} |
--- src/main/java/itn/let/sym/site/service/impl/EgovSiteManagerServiceImpl.java
+++ src/main/java/itn/let/sym/site/service/impl/EgovSiteManagerServiceImpl.java
... | ... | @@ -5,6 +5,7 @@ |
| 5 | 5 |
import javax.annotation.Resource; |
| 6 | 6 |
|
| 7 | 7 |
import org.springframework.stereotype.Service; |
| 8 |
+import org.springframework.util.StringUtils; |
|
| 8 | 9 |
|
| 9 | 10 |
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl; |
| 10 | 11 |
import itn.let.sym.site.service.EgovSiteManagerService; |
... | ... | @@ -388,5 +389,16 @@ |
| 388 | 389 |
@Override |
| 389 | 390 |
public int selectFirstPayCnt(String userId) throws Exception{
|
| 390 | 391 |
return siteManagerDAO.selectFirstPayCnt(userId); |
| 391 |
- } |
|
| 392 |
+ } |
|
| 393 |
+ |
|
| 394 |
+ @Override |
|
| 395 |
+ public void updateInspManage(SiteManagerVO siteManagerVO) throws Exception {
|
|
| 396 |
+ if(!StringUtils.isEmpty(siteManagerVO.getSysMaintenanceIp())) {
|
|
| 397 |
+ siteManagerVO.setSysMaintenanceIp(siteManagerVO.getSysMaintenanceIp().trim().replaceAll(" ", ""));
|
|
| 398 |
+ } |
|
| 399 |
+ |
|
| 400 |
+ siteManagerDAO.updateInspManage(siteManagerVO); |
|
| 401 |
+ } |
|
| 402 |
+ |
|
| 403 |
+ |
|
| 392 | 404 |
} |
--- src/main/java/itn/let/sym/site/service/impl/SiteManagerDAO.java
+++ src/main/java/itn/let/sym/site/service/impl/SiteManagerDAO.java
... | ... | @@ -370,6 +370,10 @@ |
| 370 | 370 |
// 첫결제여부 |
| 371 | 371 |
public int selectFirstPayCnt(String userId) throws Exception{
|
| 372 | 372 |
return (int) select("siteManagerDAO.selectFirstPayCnt", userId);
|
| 373 |
- } |
|
| 373 |
+ } |
|
| 374 |
+ |
|
| 375 |
+ public void updateInspManage(SiteManagerVO siteManagerVO) throws Exception{
|
|
| 376 |
+ update("siteManagerDAO.updateInspManage", siteManagerVO);
|
|
| 377 |
+ } |
|
| 374 | 378 |
|
| 375 | 379 |
} |
--- src/main/java/itn/let/sym/site/web/EgovSiteManagerController.java
+++ src/main/java/itn/let/sym/site/web/EgovSiteManagerController.java
... | ... | @@ -2469,4 +2469,46 @@ |
| 2469 | 2469 |
modelAndView.addObject("msg", msg);
|
| 2470 | 2470 |
return modelAndView; |
| 2471 | 2471 |
} |
| 2472 |
+ |
|
| 2473 |
+ /** |
|
| 2474 |
+ * 관리자 알림 여부 |
|
| 2475 |
+ * |
|
| 2476 |
+ * @param joinSettingVO |
|
| 2477 |
+ * @param model |
|
| 2478 |
+ * @return |
|
| 2479 |
+ * @throws Exception |
|
| 2480 |
+ */ |
|
| 2481 |
+ |
|
| 2482 |
+ @RequestMapping("/sym/site/selectInspManage.do")
|
|
| 2483 |
+ public String selectInspManage(ModelMap model) throws Exception {
|
|
| 2484 |
+ model.addAttribute("model", egovSiteManagerService.selectSiteManagerVO(new SiteManagerVO()));
|
|
| 2485 |
+ return "/sym/site/inspManage"; |
|
| 2486 |
+ } |
|
| 2487 |
+ |
|
| 2488 |
+ @RequestMapping("/sym/site/updateInspManageAjax.do")
|
|
| 2489 |
+ public ModelAndView updateInspManage(SiteManagerVO siteManagerVO, ModelMap model) throws Exception {
|
|
| 2490 |
+ |
|
| 2491 |
+ ModelAndView modelAndView = new ModelAndView(); |
|
| 2492 |
+ modelAndView.setViewName("jsonView");
|
|
| 2493 |
+ |
|
| 2494 |
+ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 2495 |
+ String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 2496 |
+ |
|
| 2497 |
+ siteManagerVO.setLastUpdusrId(userId); |
|
| 2498 |
+ String msg = "저장되었습니다."; |
|
| 2499 |
+ String result = "SUCCESS"; |
|
| 2500 |
+ |
|
| 2501 |
+ try {
|
|
| 2502 |
+ egovSiteManagerService.updateInspManage(siteManagerVO); |
|
| 2503 |
+ } catch (Exception e) {
|
|
| 2504 |
+ System.out.println(e.getMessage()); |
|
| 2505 |
+ msg = "저장에 실패했습니다."; |
|
| 2506 |
+ result = "fail"; |
|
| 2507 |
+ } |
|
| 2508 |
+ |
|
| 2509 |
+ model.addAttribute("msg", msg);
|
|
| 2510 |
+ model.addAttribute("result", result);
|
|
| 2511 |
+ |
|
| 2512 |
+ return modelAndView; |
|
| 2513 |
+ } |
|
| 2472 | 2514 |
} |
--- src/main/java/itn/web/MainController.java
+++ src/main/java/itn/web/MainController.java
... | ... | @@ -13,6 +13,7 @@ |
| 13 | 13 |
import java.security.spec.RSAPublicKeySpec; |
| 14 | 14 |
import java.text.SimpleDateFormat; |
| 15 | 15 |
import java.util.ArrayList; |
| 16 |
+import java.util.Arrays; |
|
| 16 | 17 |
import java.util.Collections; |
| 17 | 18 |
import java.util.Date; |
| 18 | 19 |
import java.util.HashMap; |
... | ... | @@ -50,6 +51,7 @@ |
| 50 | 51 |
import org.springframework.stereotype.Controller; |
| 51 | 52 |
import org.springframework.ui.Model; |
| 52 | 53 |
import org.springframework.ui.ModelMap; |
| 54 |
+import org.springframework.util.StringUtils; |
|
| 53 | 55 |
import org.springframework.web.bind.annotation.ModelAttribute; |
| 54 | 56 |
import org.springframework.web.bind.annotation.PathVariable; |
| 55 | 57 |
import org.springframework.web.bind.annotation.RequestMapping; |
... | ... | @@ -717,6 +719,23 @@ |
| 717 | 719 |
ModelMap model, HttpServletRequest request) |
| 718 | 720 |
throws Exception {
|
| 719 | 721 |
|
| 722 |
+ //점검중 페이지 체크 |
|
| 723 |
+ SiteManagerVO siteManagerVO_ = new SiteManagerVO(); |
|
| 724 |
+ siteManagerVO_ = egovSiteManagerService.selectSiteManagerVO(siteManagerVO_); |
|
| 725 |
+ |
|
| 726 |
+ //1. 사이트 점검중 페이지 노출 |
|
| 727 |
+ //2. siteManager 테이블의 SYS_MAINTENANCE, SYS_MAINTENANCE_IP 를 통해 구분 |
|
| 728 |
+ //3. 점검중페이지 노출 방식 |
|
| 729 |
+ // 미사용 : 점검 중 페이지 미노출 |
|
| 730 |
+ // IP로제어 : 등록 IP를 제외하고 모든 페이지에서 '점검중' 레이어 노출 |
|
| 731 |
+ // PATH로제어 : '/web/main/mainPage.do' 메인페이지에 접근했을때만 점검중페이지로 이동 |
|
| 732 |
+ String userIP = this.getClientIP(request); |
|
| 733 |
+ Boolean result = this.inspPageIp(request, userIP, siteManagerVO_); |
|
| 734 |
+ if(!result) {
|
|
| 735 |
+ model.addAttribute("inspYn", "Y");
|
|
| 736 |
+ } |
|
| 737 |
+ |
|
| 738 |
+ |
|
| 720 | 739 |
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
| 721 | 740 |
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
| 722 | 741 |
|
... | ... | @@ -1296,19 +1315,23 @@ |
| 1296 | 1315 |
//점검중 페이지 체크 |
| 1297 | 1316 |
SiteManagerVO siteManagerVO = new SiteManagerVO(); |
| 1298 | 1317 |
siteManagerVO = egovSiteManagerService.selectSiteManagerVO(siteManagerVO); |
| 1299 |
- if("Y".equals(siteManagerVO.getInspFlag() )){ //점검중
|
|
| 1318 |
+// if("Y".equals(siteManagerVO.getInspFlag() )){ //점검중
|
|
| 1319 |
+// return "web/com/insp"; |
|
| 1320 |
+// } |
|
| 1321 |
+ |
|
| 1322 |
+ |
|
| 1323 |
+ //1. 사이트 점검중 페이지 노출 |
|
| 1324 |
+ //2. siteManager 테이블의 SYS_MAINTENANCE, SYS_MAINTENANCE_IP 를 통해 구분 |
|
| 1325 |
+ //3. 점검중페이지 노출 방식 |
|
| 1326 |
+ // 미사용 : 점검 중 페이지 미노출 |
|
| 1327 |
+ // IP로제어 : 등록 IP를 제외하고 모든 페이지에서 '점검중' 레이어 노출 |
|
| 1328 |
+ // PATH로제어 : '/web/main/mainPage.do' 메인페이지에 접근했을때만 점검중페이지로 이동 |
|
| 1329 |
+ String userIP = this.getClientIP(request); |
|
| 1330 |
+ Boolean result = this.inspPagePath(request, userIP, siteManagerVO); |
|
| 1331 |
+ if(!result) {
|
|
| 1300 | 1332 |
return "web/com/insp"; |
| 1301 | 1333 |
} |
| 1302 | 1334 |
|
| 1303 |
- /*LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 1304 |
- String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); |
|
| 1305 |
- String authority = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getAuthority()); |
|
| 1306 |
- |
|
| 1307 |
- if("ROLE_ADMIN".equals(authority)) {
|
|
| 1308 |
- String referer = request.getHeader("Referer");
|
|
| 1309 |
- request.getSession().invalidate(); |
|
| 1310 |
- return "redirect:/web/main/mainPage.do"; |
|
| 1311 |
- }*/ |
|
| 1312 | 1335 |
|
| 1313 | 1336 |
//자신의 위치 정보 |
| 1314 | 1337 |
List<MenuManageJTreeVO> menuCurrentResultList = new ArrayList<MenuManageJTreeVO>(); //자신의 위치 |
... | ... | @@ -2695,6 +2718,229 @@ |
| 2695 | 2718 |
modelAndView.addObject("msg", msg);
|
| 2696 | 2719 |
|
| 2697 | 2720 |
return modelAndView; |
| 2698 |
- } |
|
| 2721 |
+ } |
|
| 2722 |
+ |
|
| 2723 |
+ @RequestMapping(value = "/web/main/mainPage_insp.do") |
|
| 2724 |
+ public String mainPage_insp(HttpServletRequest request, ModelMap model, HttpSession session, |
|
| 2725 |
+ @RequestParam(value="message", defaultValue="0") String message, LetterVO letterVO) throws Exception{
|
|
| 2726 |
+ //메인이미지 |
|
| 2727 |
+ String referer = (String)request.getHeader("REFERER");
|
|
| 2728 |
+ |
|
| 2729 |
+ //로그인 실패시 메세지 |
|
| 2730 |
+ if(!"0".equals(message)) {
|
|
| 2731 |
+ model.addAttribute("messageflag", "1");
|
|
| 2732 |
+ model.addAttribute("message", message);
|
|
| 2733 |
+ } |
|
| 2734 |
+ |
|
| 2735 |
+ //kisa 사용자 경고 팝업 |
|
| 2736 |
+ LoginVO user = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; |
|
| 2737 |
+ if(EgovUserDetailsHelper.isAuthenticated() && user!=null) {
|
|
| 2738 |
+ KisaVO kisaVO = new KisaVO(); |
|
| 2739 |
+ kisaVO.setMberId(user.getId()); |
|
| 2740 |
+ kisaVO.setKisaPopupYn("Y");
|
|
| 2741 |
+ List<KisaVO> kisaList = kisaService.selectKisaListMberId(kisaVO); |
|
| 2742 |
+ if(kisaList.size() > 0) {
|
|
| 2743 |
+ //kisa 코드 조회 |
|
| 2744 |
+ ComDefaultCodeVO kisacodeVO = new ComDefaultCodeVO(); |
|
| 2745 |
+ kisacodeVO.setCodeId("ITN034");
|
|
| 2746 |
+ List<?> kisacodeResult = cmmUseService.selectCmmCodeDetail(kisacodeVO); |
|
| 2747 |
+ model.addAttribute("kisacodeResult", kisacodeResult);
|
|
| 2748 |
+ |
|
| 2749 |
+ //위반 사항 안내 종합 (아이디별 kisalist의 각각 kisaWarnMessage를 한번에 보여주기 위해) |
|
| 2750 |
+ String[] chk = {};
|
|
| 2751 |
+ ArrayList<String> kisaWarnMessagelist = new ArrayList<String>(); |
|
| 2752 |
+ for(KisaVO tmpVO : kisaList) {
|
|
| 2753 |
+ if(!"".equals(tmpVO.getKisaWarnMessage()) && tmpVO.getKisaWarnMessage() != null) {
|
|
| 2754 |
+ chk = tmpVO.getKisaWarnMessage().split(",");
|
|
| 2755 |
+ for(int i = 0 ; i < chk.length ; i++) {
|
|
| 2756 |
+ if(!kisaWarnMessagelist.contains(chk[i])) {
|
|
| 2757 |
+ kisaWarnMessagelist.add(chk[i]); |
|
| 2758 |
+ } |
|
| 2759 |
+ } |
|
| 2760 |
+ } |
|
| 2761 |
+ } |
|
| 2762 |
+ model.addAttribute("chk", kisaWarnMessagelist);
|
|
| 2763 |
+ model.addAttribute("kisaListSize", kisaList.size());
|
|
| 2764 |
+ model.addAttribute("kisaList", kisaList);
|
|
| 2765 |
+ } |
|
| 2766 |
+ } |
|
| 2767 |
+ |
|
| 2768 |
+ //공지사항 게시글 불러오기 |
|
| 2769 |
+ BoardMasterVO boardMasterVO = new BoardMasterVO(); |
|
| 2770 |
+ //공지사항 url로 전체게시글 불러오기 |
|
| 2771 |
+ boardMasterVO.setUrl("/web/cop/bbs/NoticeList.do");
|
|
| 2772 |
+ BoardMasterVO bmVO = new BoardMasterVO(); |
|
| 2773 |
+ |
|
| 2774 |
+ BoardVO boardVO = new BoardVO(); |
|
| 2775 |
+ boardVO.setPageUnit(7); |
|
| 2776 |
+ boardVO.setPageSize(10); |
|
| 2777 |
+ |
|
| 2778 |
+ if("".equals(boardMasterVO.getSearchSortCnd())){ //최초조회시 최신것 조회List
|
|
| 2779 |
+ boardMasterVO.setSearchSortCnd("nttId");
|
|
| 2780 |
+ boardMasterVO.setSearchSortOrd("desc");
|
|
| 2781 |
+ } |
|
| 2782 |
+ //전체 게시글 불러오기 |
|
| 2783 |
+ Map<String, Object> map = new HashMap<String, Object>(); |
|
| 2784 |
+ |
|
| 2785 |
+ if(boardMasterVO.getPageUnit() != 10) {
|
|
| 2786 |
+ bmVO.setPageUnit(boardMasterVO.getPageUnit()); |
|
| 2787 |
+ } |
|
| 2788 |
+ PaginationInfo paginationInfo = new PaginationInfo(); |
|
| 2789 |
+ paginationInfo.setCurrentPageNo(bmVO.getPageIndex()); |
|
| 2790 |
+ paginationInfo.setRecordCountPerPage(bmVO.getPageUnit()); |
|
| 2791 |
+ paginationInfo.setPageSize(bmVO.getPageSize()); |
|
| 2792 |
+ |
|
| 2793 |
+ paginationInfo.setCurrentPageNo(boardVO.getPageIndex()); |
|
| 2794 |
+ paginationInfo.setRecordCountPerPage(boardVO.getPageUnit()); |
|
| 2795 |
+ paginationInfo.setPageSize(boardVO.getPageSize()); |
|
| 2796 |
+ |
|
| 2797 |
+ boardMasterVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); |
|
| 2798 |
+ boardMasterVO.setLastIndex(paginationInfo.getLastRecordIndex()); |
|
| 2799 |
+ boardMasterVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); |
|
| 2800 |
+ |
|
| 2801 |
+ String temp = boardMasterVO.getUrl(); //Url 패턴에 Ajax 구문 삭제처리 |
|
| 2802 |
+ boardMasterVO.setUrl(temp.replace("Ajax", ""));
|
|
| 2803 |
+ |
|
| 2804 |
+ Map<String, Object> noticeMap = bbsMngService.selectBoardArticlesWebUrl(boardMasterVO, null); |
|
| 2805 |
+ |
|
| 2806 |
+ if(!noticeMap.get("resultCnt").equals("0")){
|
|
| 2807 |
+ @SuppressWarnings("unchecked")
|
|
| 2808 |
+ ArrayList<BoardVO> boardList= (ArrayList<BoardVO>)noticeMap.get("resultList") ; //nttcn 태그 삭제 처리
|
|
| 2809 |
+ for( BoardVO tempBoardVO : boardList){
|
|
| 2810 |
+ if("".equals(tempBoardVO.getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "").split("<")[0].equals(""))){
|
|
| 2811 |
+ tempBoardVO.setNttCn ( tempBoardVO.getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "")) ;
|
|
| 2812 |
+ }else {
|
|
| 2813 |
+ tempBoardVO.setNttCn( tempBoardVO.getNttCn().replaceAll("<(/)?([a-zA-Z]*)(\\s[a-zA-Z]*=[^>]*)?(\\s)*(/)?>", "").split("<")[0] ) ;
|
|
| 2814 |
+ } |
|
| 2815 |
+ } |
|
| 2816 |
+ model.addAttribute("noticeList", noticeMap.get("resultList"));
|
|
| 2817 |
+ } |
|
| 2818 |
+ |
|
| 2819 |
+ // 문자 카테고리 리스트 불러오기 |
|
| 2820 |
+ List<CateCode> cateConfList = letterService.selectCateConfWithList("N");
|
|
| 2821 |
+ model.addAttribute("cateCodeList", cateConfList);
|
|
| 2822 |
+ |
|
| 2823 |
+ // 맞춤문자 카테고리 리스트 불러오기 |
|
| 2824 |
+ List<CateCode> cateConfCustomList = letterService.selectCateConfWithList("C");
|
|
| 2825 |
+ model.addAttribute("cateConfCustomList", cateConfCustomList);
|
|
| 2826 |
+ |
|
| 2827 |
+ {
|
|
| 2828 |
+ /** |
|
| 2829 |
+ * |
|
| 2830 |
+ * 이벤트를 위한 결제내역 조회 |
|
| 2831 |
+ * 결제 내역이 없으면 첫결제 이벤트 팝업 호출 할 수 있도록 함. |
|
| 2832 |
+ * |
|
| 2833 |
+ * */ |
|
| 2834 |
+ String userId = user == null ? "" : EgovStringUtil.isNullToString(user.getId()); |
|
| 2835 |
+ int payCnt = 0; |
|
| 2836 |
+ if(StringUtil.isNotEmpty(userId)) {
|
|
| 2837 |
+ //결제내역 카운트 조회 |
|
| 2838 |
+ payCnt = mjonPayService.selectMemerPayCount(userId); |
|
| 2839 |
+ |
|
| 2840 |
+ } |
|
| 2841 |
+ model.addAttribute("payCount", payCnt);
|
|
| 2842 |
+ model.addAttribute("userId", userId);
|
|
| 2843 |
+ |
|
| 2844 |
+ //현재 진행중 이벤트 조회(최저가 문자발송 이벤트 진행중인지 조회 - like 검색으로 진행중인 이벤트를 1개만 불러온다.) |
|
| 2845 |
+ //일단 테스트로 게시글 제목으로 조회하도록 함. |
|
| 2846 |
+ String nttSj = "[첫결제 이벤트] 첫 결제 시, 누구나 조건 없이 인생 최저가!"; //제목 검색 |
|
| 2847 |
+ BoardVO eventBoardVO = new BoardVO(); |
|
| 2848 |
+ eventBoardVO.setBbsId("BBSMSTR_000000000731");
|
|
| 2849 |
+ eventBoardVO.setNttSj(nttSj); |
|
| 2850 |
+ BoardVO resultEvent = mjonEventService.selectEventInfoByNttSj(eventBoardVO); |
|
| 2851 |
+ |
|
| 2852 |
+ model.addAttribute("resultEvent", resultEvent);
|
|
| 2853 |
+ |
|
| 2854 |
+ String blineCode = "N"; |
|
| 2855 |
+ if(StringUtil.isNotEmpty(userId)) {
|
|
| 2856 |
+ // B선 전송사 사용여부 |
|
| 2857 |
+ MberManageVO mberManageVO = new MberManageVO(); |
|
| 2858 |
+ mberManageVO.setMberId(userId); |
|
| 2859 |
+ blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO); |
|
| 2860 |
+ } |
|
| 2861 |
+ model.addAttribute("blineCode", blineCode);
|
|
| 2862 |
+ } |
|
| 2863 |
+ |
|
| 2864 |
+ return "web/main/mainPage"; |
|
| 2865 |
+ } |
|
| 2866 |
+ |
|
| 2867 |
+ private String getClientIP(HttpServletRequest request) {
|
|
| 2868 |
+ String ip = ""; |
|
| 2869 |
+ |
|
| 2870 |
+ try {
|
|
| 2871 |
+ ip = request.getHeader("X-Forwarded-For");
|
|
| 2872 |
+ //logger.info("> X-FORWARDED-FOR : " + ip);
|
|
| 2873 |
+ //System.out.println("> X-FORWARDED-FOR : " + ip);
|
|
| 2874 |
+ |
|
| 2875 |
+ if (ip == null) {
|
|
| 2876 |
+ ip = request.getHeader("Proxy-Client-IP");
|
|
| 2877 |
+ //System.out.println("> Proxy-Client-IP : " + ip);
|
|
| 2878 |
+ } |
|
| 2879 |
+ if (ip == null) {
|
|
| 2880 |
+ ip = request.getHeader("WL-Proxy-Client-IP");
|
|
| 2881 |
+ //System.out.println("> WL-Proxy-Client-IP : " + ip);
|
|
| 2882 |
+ } |
|
| 2883 |
+ if (ip == null) {
|
|
| 2884 |
+ ip = request.getHeader("HTTP_CLIENT_IP");
|
|
| 2885 |
+ //System.out.println("> HTTP_CLIENT_IP : " + ip);
|
|
| 2886 |
+ } |
|
| 2887 |
+ if (ip == null) {
|
|
| 2888 |
+ ip = request.getHeader("HTTP_X_FORWARDED_FOR");
|
|
| 2889 |
+ //System.out.println("> HTTP_X_FORWARDED_FOR : " + ip);
|
|
| 2890 |
+ } |
|
| 2891 |
+ if (ip == null) {
|
|
| 2892 |
+ ip = request.getRemoteAddr(); |
|
| 2893 |
+ //System.out.println("> getRemoteAddr : "+ip);
|
|
| 2894 |
+ } |
|
| 2895 |
+ //System.out.println("> Result : IP Address : "+ip);
|
|
| 2896 |
+ }catch(Exception ex) |
|
| 2897 |
+ {
|
|
| 2898 |
+ ex.printStackTrace(); |
|
| 2899 |
+ } |
|
| 2900 |
+ |
|
| 2901 |
+ return ip; |
|
| 2902 |
+ } |
|
| 2903 |
+ |
|
| 2904 |
+ private Boolean inspPagePath(HttpServletRequest request, String userIP, SiteManagerVO siteManagerVO) {
|
|
| 2905 |
+// if("IP".equals(siteManagerVO.getSysMaintenance())) {
|
|
| 2906 |
+// if(!StringUtils.isEmpty(siteManagerVO.getSysMaintenanceIp())) {
|
|
| 2907 |
+// if(!Arrays.stream(siteManagerVO.getSysMaintenanceIp().split(",")).anyMatch(userIP::equals)) {
|
|
| 2908 |
+// /* 점검중 */ |
|
| 2909 |
+// return false; |
|
| 2910 |
+// } |
|
| 2911 |
+// } else {
|
|
| 2912 |
+// /* 점검중 */ |
|
| 2913 |
+// return false; |
|
| 2914 |
+// } |
|
| 2915 |
+// } |
|
| 2916 |
+ if("PATH".equals(siteManagerVO.getSysMaintenance())) {
|
|
| 2917 |
+ if("/web/main/mainPage.do".equals(request.getRequestURI())) {
|
|
| 2918 |
+ /* 점검중 */ |
|
| 2919 |
+ return false; |
|
| 2920 |
+ } |
|
| 2921 |
+ } |
|
| 2922 |
+ return true; |
|
| 2923 |
+ } |
|
| 2924 |
+ |
|
| 2925 |
+ private Boolean inspPageIp(HttpServletRequest request, String userIP, SiteManagerVO siteManagerVO) {
|
|
| 2926 |
+ if("IP".equals(siteManagerVO.getSysMaintenance())) {
|
|
| 2927 |
+ if(!StringUtils.isEmpty(siteManagerVO.getSysMaintenanceIp())) {
|
|
| 2928 |
+ if(!Arrays.stream(siteManagerVO.getSysMaintenanceIp().split(",")).anyMatch(userIP::equals)) {
|
|
| 2929 |
+ /* 점검중 */ |
|
| 2930 |
+ return false; |
|
| 2931 |
+ } |
|
| 2932 |
+ } else {
|
|
| 2933 |
+ /* 점검중 */ |
|
| 2934 |
+ return false; |
|
| 2935 |
+ } |
|
| 2936 |
+ } |
|
| 2937 |
+// if("PATH".equals(siteManagerVO.getSysMaintenance())) {
|
|
| 2938 |
+// if("/web/main/mainPage.do".equals(request.getRequestURI())) {
|
|
| 2939 |
+// /* 점검중 */ |
|
| 2940 |
+// return false; |
|
| 2941 |
+// } |
|
| 2942 |
+// } |
|
| 2943 |
+ return true; |
|
| 2944 |
+ } |
|
| 2699 | 2945 |
} |
| 2700 | 2946 |
(No newline at end of file) |
--- src/main/resources/egovframework/sqlmap/let/sym/site/EgovSiteManage_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/site/EgovSiteManage_SQL_Mysql.xml
... | ... | @@ -48,7 +48,9 @@ |
| 48 | 48 |
A.TERMS_YN AS termsYn, |
| 49 | 49 |
A.TERMS_CN AS termsCn, |
| 50 | 50 |
C.CODE_DC AS sessionTimeCdText, |
| 51 |
- D.CODE_DC AS sessionTimeUserCdTxt |
|
| 51 |
+ D.CODE_DC AS sessionTimeUserCdTxt, |
|
| 52 |
+ A.SYS_MAINTENANCE AS sysMaintenance, |
|
| 53 |
+ A.SYS_MAINTENANCE_IP AS sysMaintenanceIp |
|
| 52 | 54 |
FROM SITEMANAGER A |
| 53 | 55 |
LEFT JOIN LETTNFILEDETAIL B ON A.FAVICON_FILE_ID = B.ATCH_FILE_ID |
| 54 | 56 |
LEFT JOIN ( |
... | ... | @@ -1358,5 +1360,15 @@ |
| 1358 | 1360 |
AND PG_STATUS = '1' |
| 1359 | 1361 |
LIMIT 1 |
| 1360 | 1362 |
</select> |
| 1363 |
+ |
|
| 1364 |
+ <update id="siteManagerDAO.updateInspManage" parameterClass="siteManagerVO"> |
|
| 1365 |
+ UPDATE sitemanager |
|
| 1366 |
+ SET LAST_UPDUSR_ID = #lastUpdusrId# |
|
| 1367 |
+ ,LAST_UPDT_PNTTM = now() |
|
| 1368 |
+ ,SYS_MAINTENANCE = #sysMaintenance# |
|
| 1369 |
+ <isEqual property="sysMaintenance" compareValue="IP"> |
|
| 1370 |
+ ,SYS_MAINTENANCE_IP = #sysMaintenanceIp# |
|
| 1371 |
+ </isEqual> |
|
| 1372 |
+ </update> |
|
| 1361 | 1373 |
|
| 1362 | 1374 |
</sqlMap> |
+++ src/main/webapp/WEB-INF/jsp/sym/site/inspManage.jsp
... | ... | @@ -0,0 +1,108 @@ |
| 1 | +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> | |
| 2 | +<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> | |
| 3 | +<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%> | |
| 4 | +<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> | |
| 5 | +<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%> | |
| 6 | +<!DOCTYPE html> | |
| 7 | +<html lang="ko"> | |
| 8 | +<head> | |
| 9 | + <meta charset="UTF-8"> | |
| 10 | + <title>점검중페이지관리</title> | |
| 11 | + <script type="text/javascript"> | |
| 12 | + $(document).ready(function(){ | |
| 13 | + disabledFn("<c:out value='${model.sysMaintenance}'/>"); | |
| 14 | + }); | |
| 15 | + | |
| 16 | + function doUpdate() { | |
| 17 | + var data = new FormData(document.form); | |
| 18 | + var url = "/sym/site/updateInspManageAjax.do"; | |
| 19 | + | |
| 20 | + if (!confirm('수정하시겠습니까?')) | |
| 21 | + return; | |
| 22 | + | |
| 23 | + $.ajax({ | |
| 24 | + type: "POST", | |
| 25 | + url: url, | |
| 26 | + data: data, | |
| 27 | + dataType:'json', | |
| 28 | + async: false, | |
| 29 | + processData: false, | |
| 30 | + contentType: false, | |
| 31 | + cache: false, | |
| 32 | + success: function (returnData, status) { | |
| 33 | + console.log(returnData.result); | |
| 34 | + if(returnData.result == 'SUCCESS'){ | |
| 35 | + alert(returnData.msg); | |
| 36 | + }else{ | |
| 37 | + alert(returnData.msg); | |
| 38 | + } | |
| 39 | + }, | |
| 40 | + error: function (e) { alert("요청에 실패하였습니다."); console.log("ERROR : ", e); } | |
| 41 | + }); | |
| 42 | + } | |
| 43 | + | |
| 44 | + function disabledFn(pram){ | |
| 45 | + if(pram == 'IP'){ | |
| 46 | + $('#ipTable').find('input').removeAttr('disabled') | |
| 47 | + }else{ | |
| 48 | + $('#ipTable').find('input').attr('disabled','disabled') | |
| 49 | + } | |
| 50 | + | |
| 51 | + } | |
| 52 | + | |
| 53 | + </script> | |
| 54 | + <style> | |
| 55 | + .cf_box{border: 2px solid #f5f7fa; border-radius: 5px; padding: 20px; margin: 0 0 20px 0; line-height:1.3;} | |
| 56 | + </style> | |
| 57 | +</head> | |
| 58 | +<body> | |
| 59 | + <div class="contWrap"> | |
| 60 | + <div class="pageTitle"> | |
| 61 | + <div class="pageIcon"><img src="/pb/img/pageTitIcon4.png" alt=""></div> | |
| 62 | + <h2 class="titType1 c_222222 fwBold">점검중페이지관리</h2> | |
| 63 | + <p class="tType6 c_999999">점검중페이지관리 페이지 입니다.</p> | |
| 64 | + </div> | |
| 65 | + <div class="pageCont"> | |
| 66 | + <div class=cf_box> | |
| 67 | +<pre> | |
| 68 | +*방식 설명* | |
| 69 | +미사용 : 점검 중 페이지 미노출 | |
| 70 | +IP로제어 : 등록 IP를 제외하고 모든 페이지에서 '점검중' 레이어 노출 | |
| 71 | +PATH로제어 : '/web/main/mainPage.do' 메인페이지에 접근했을때만 점검중페이지로 이동 | |
| 72 | +</pre> | |
| 73 | + </div> | |
| 74 | + <form name="form" id="form" method="post"> | |
| 75 | + <div class="tableWrap"> | |
| 76 | + <table class="tbType2"> | |
| 77 | + <colgroup> | |
| 78 | + <col width="30%"> | |
| 79 | + <col width="*"> | |
| 80 | + </colgroup> | |
| 81 | + <tbody> | |
| 82 | + <tr> | |
| 83 | + <th>점검중 페이지 방식</th> | |
| 84 | + <td> | |
| 85 | + <select name="sysMaintenance" id="sysMaintenance" onchange="disabledFn(this.value); return false;"> | |
| 86 | + <option value="NONE" <c:if test="${model.sysMaintenance == 'NONE'}">selected</c:if> >미사용</option> | |
| 87 | + <option value="IP" <c:if test="${model.sysMaintenance == 'IP'}">selected</c:if> >IP로 제어</option> | |
| 88 | + <option value="PATH" <c:if test="${model.sysMaintenance == 'PATH'}">selected</c:if> >PATH로 제어</option> | |
| 89 | + </select> | |
| 90 | + </td> | |
| 91 | + </tr> | |
| 92 | + <tr id="ipTable"> | |
| 93 | + <th>IP테이블(IP로 선택 시 제외할 IP ','를 구분자로 기입)</th> | |
| 94 | + <td> | |
| 95 | + <input type="text" id="sysMaintenanceIp" name="sysMaintenanceIp" value="${model.sysMaintenanceIp}"/> | |
| 96 | + </td> | |
| 97 | + </tr> | |
| 98 | + </tbody> | |
| 99 | + </table> | |
| 100 | + </div> | |
| 101 | + </form> | |
| 102 | + <div class="btnWrap"> | |
| 103 | + <input type="button" class="btnType1" value="수정" onclick="javascript:doUpdate(); return false;"> | |
| 104 | + </div> | |
| 105 | + </div> | |
| 106 | + </div> | |
| 107 | +</body> | |
| 108 | +</html>(No newline at end of file) |
--- src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
... | ... | @@ -738,6 +738,17 @@ |
| 738 | 738 |
} |
| 739 | 739 |
</script> |
| 740 | 740 |
<div class="mask"></div> |
| 741 |
+<c:if test="${inspYn == 'Y'}">
|
|
| 742 |
+ <style> |
|
| 743 |
+ .mask_layer{position: fixed; background: white; width: 100%; height: 100%; z-index: 9999; text-align: center;}
|
|
| 744 |
+ .mask_layer .text_area{color: #000; position: relative; top: 50%; left: 50%; transform: translate(-50%, -50%);}
|
|
| 745 |
+ </style> |
|
| 746 |
+ <div class="mask_layer"> |
|
| 747 |
+ <div class="text_area"> |
|
| 748 |
+ 점검중임 |
|
| 749 |
+ </div> |
|
| 750 |
+ </div> |
|
| 751 |
+</c:if> |
|
| 741 | 752 |
<!-- 포인트 교환 팝업 --> |
| 742 | 753 |
<form id="pointForm" name="pointForm" action="/web/member/pay/pointUseAjax.do" > |
| 743 | 754 |
<input type="hidden" name="birthDate" value="000000" /> |
Add a comment
Delete comment
Once you delete this comment, you won't be able to recover it. Are you sure you want to delete this comment?