diff --git a/src/main/java/seed/com/gtm/board/CaseBoardController.java b/src/main/java/seed/com/gtm/board/CaseBoardController.java index 189929fd..1b384606 100644 --- a/src/main/java/seed/com/gtm/board/CaseBoardController.java +++ b/src/main/java/seed/com/gtm/board/CaseBoardController.java @@ -15,8 +15,8 @@ import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import seed.com.gtm.seedfile.SeedFileService; -import seed.com.gtm.util.PageMaker; import seed.com.gtm.util.Criteria; +import seed.com.gtm.util.PageMaker; @Controller @RequestMapping("/gtm/case") @@ -56,7 +56,7 @@ public class CaseBoardController { map.put("message", "common.message.reg"); map.put("url", "/gtm/case/board/"+boardIdx+"/list.do"); - return "/seed/_common/jsp/message"; + return "/_common/jsp/message"; } @@ -123,7 +123,7 @@ public class CaseBoardController { "&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page") ); - return "/seed/_common/jsp/message"; + return "/_common/jsp/message"; } @RequestMapping(value="/board/{boardIdx}/edit.do", method=RequestMethod.GET) @@ -158,6 +158,6 @@ public class CaseBoardController { "&fileFuncType=" + paramMap.get("fileFuncType") ); - return "/seed/_common/jsp/message"; + return "/_common/jsp/message"; } } diff --git a/src/main/java/seed/com/user/board/WebBoardController.java b/src/main/java/seed/com/user/board/WebBoardController.java index 091493a5..d727dc91 100644 --- a/src/main/java/seed/com/user/board/WebBoardController.java +++ b/src/main/java/seed/com/user/board/WebBoardController.java @@ -515,6 +515,7 @@ private Logger log = Logger.getLogger(this.getClass()); @RequestMapping(value= {"/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/formList.do" , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/lawList.do" , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/dataList.do" + , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/newsList.do" }, method=RequestMethod.GET) public ModelAndView boardList(ModelMap map, HttpSession session, @RequestParam Map paramMap, Criteria cri, @PathVariable(value="siteIdx") String siteIdx, @@ -681,6 +682,8 @@ private Logger log = Logger.getLogger(this.getClass()); return new ModelAndView("/_extra/web/user/board/lawList"); }else if (siteMenuIdx == 381) { return new ModelAndView("/_extra/web/user/board/dataList"); + }else if (siteMenuIdx == 340) { + return new ModelAndView("/_extra/web/user/board/newsList"); } return new ModelAndView("/_extra/web/user/board/formList"); @@ -690,7 +693,9 @@ private Logger log = Logger.getLogger(this.getClass()); // /user/exam/case/402/162/view.do @RequestMapping(value= {"/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/formDetail.do" , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/lawDetail.do" - , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/dataDetail.do"}, method=RequestMethod.GET) + , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/dataDetail.do" + , "/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/newsDetail.do" + }, method=RequestMethod.GET) public ModelAndView boardView(ModelMap map, HttpSession session, @RequestParam Map paramMap, Criteria cri, @PathVariable(value="siteIdx") String siteIdx, @PathVariable(value="boardIdx") String boardIdx, @@ -846,8 +851,657 @@ private Logger log = Logger.getLogger(this.getClass()); return new ModelAndView("/_extra/web/user/board/lawDetail"); }else if (siteMenuIdx == 381) { return new ModelAndView("/_extra/web/user/board/dataDetail"); + }else if (siteMenuIdx == 340) { + return new ModelAndView("/_extra/web/user/board/newsDetail"); } return new ModelAndView("/_extra/web/user/board/formDetail"); - } + } + + @RequestMapping(value= {"/web/user/faqBbs/{siteIdx}/{setIdx}/{siteMenuIdx}/faqList.do" + , "/web/user/faqBbs/{siteIdx}/{setIdx}/{siteMenuIdx}/faq{setIdx}List.do" + + }, method=RequestMethod.GET) + public ModelAndView faqBbsList(ModelMap map, HttpSession session, @RequestParam Map paramMap, Criteria cri, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="setIdx") String setIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionMessageRemove(session); + + /*----권한체크----*/ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + /* + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + */ + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + + if(setIdx.equals("101")){ + session.setAttribute("menuName", "조정신청"); + }else if(setIdx.equals("102")){ + session.setAttribute("menuName", "절차진행"); + }else if(setIdx.equals("103")){ + session.setAttribute("menuName", "절차종료"); + }else{ + session.setAttribute("menuName", "기타"); + } + + paramMap.put("setIdx", setIdx); + paramMap.put("pageStart", cri.getPageStart()); + paramMap.put("perPageNum", cri.getPerPageNum()); + List> bbsList = service.boardList(paramMap); + + PageMaker pageMaker = new PageMaker(); + pageMaker.setCri(cri); + pageMaker.setTotalCount(service.boardListCnt(paramMap)); + + map.addAttribute("bbsList", bbsList); + map.addAttribute("pageMaker", pageMaker); + + return new ModelAndView("/_extra/web/user/faqBbs/faqList"); + } + + + @RequestMapping(value= {"/web/user/faqBbs/{siteIdx}/{setIdx}/{siteMenuIdx}/faqDetail.do" + , "/web/user/faqBbs/{siteIdx}/{setIdx}/{siteMenuIdx}/faq{setIdx}Detail.do" + }, method=RequestMethod.GET) + public ModelAndView faqBbsView(ModelMap map, HttpSession session, @RequestParam Map paramMap, Criteria cri, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="setIdx") String setIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionMessageRemove(session); + + /*----권한체크----*/ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + /* + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + */ + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + if(setIdx.equals("101")){ + session.setAttribute("menuName", "조정신청"); + }else if(setIdx.equals("102")){ + session.setAttribute("menuName", "절차진행"); + }else if(setIdx.equals("103")){ + session.setAttribute("menuName", "절차종료"); + }else{ + session.setAttribute("menuName", "기타"); + } + + paramMap.put("setIdx", setIdx); + map.addAttribute("bbsView", service.boardView(paramMap)); + map.addAttribute("setIdx", paramMap.get("setIdx")); + map.addAttribute("faqSeq", paramMap.get("faqSeq")); + map.addAttribute("searchType", paramMap.get("searchType")); + //201909 서식 셀렉트박스 + map.addAttribute("searchMenu", paramMap.get("searchMenu")); + map.addAttribute("searchTilte", paramMap.get("searchTilte")); + + service.cntUpdate(paramMap); + + return new ModelAndView("/_extra/web/user/faqBbs/faqDetail"); + } + + + //@RequestMapping(value="/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/list.do", method=RequestMethod.GET) + @RequestMapping(value="/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/noticeList.do", method=RequestMethod.GET) + public ModelAndView noticeList(ModelMap map, HttpSession session, @RequestParam Map paramMap, Criteria cri, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="boardIdx") String boardIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionMessageRemove(session); + + /*----권한체크----*/ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + /* + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + */ + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + String menuName = ""; + if(boardIdx.equals("form")){ + menuName = "분쟁조정 관련 서식"; + }else if(boardIdx.equals("law")){ + menuName = "법령자료실"; + }else if(boardIdx.equals("news")){ + menuName = "뉴스레터 자료"; + }else{ + menuName = "공지사항"; + } + session.setAttribute("menuName", menuName); + + //페이징 관련 + paramMap.put("pageStart", cri.getPageStart()); + paramMap.put("perPageNum", cri.getPerPageNum()); + paramMap.put("boardIdx", boardIdx); + + List> bbsList = service3.boardList(paramMap); + List> selectNotice = service3.selectNotice(paramMap); + + PageMaker pageMaker = new PageMaker(); + pageMaker.setCri(cri); + pageMaker.setTotalCount(service3.boardListCnt(paramMap)); + + map.addAttribute("boardIdx", boardIdx); + map.addAttribute("bbsList", bbsList); + map.addAttribute("selectNotice", selectNotice); + map.addAttribute("pageMaker", pageMaker); + + return new ModelAndView("/_extra/web/user/board/noticeList"); + } + + + // /user/exam/case/402/162/view.do + //@RequestMapping(value="/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/view.do", method=RequestMethod.GET) + @RequestMapping(value="/web/user/board/{siteIdx}/{boardIdx}/{siteMenuIdx}/noticeDetail.do", method=RequestMethod.GET) + public ModelAndView noticeView(ModelMap map, HttpSession session, @RequestParam Map paramMap, Criteria cri, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="boardIdx") String boardIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionMessageRemove(session); + + /*----권한체크----*/ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + /* + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + */ + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + String menuName = ""; + if(boardIdx.equals("form")){ + menuName = "분쟁조정 관련 서식"; + }else if(boardIdx.equals("law")){ + menuName = "법령자료실"; + }else if(boardIdx.equals("news")){ + menuName = "뉴스레터 자료"; + }else{ + menuName = "공지사항"; + } + session.setAttribute("menuName", menuName); + + paramMap.put("dataIdx", paramMap.get("bbsNo")); + + service3.cntUpdate(paramMap); + map.addAttribute("bbsView", service3.boardView(paramMap)); + map.addAttribute("boardIdx", boardIdx); + map.addAttribute("fileList", fileService.fileList(paramMap)); + + return new ModelAndView("/_extra/web/user/board/noticeDetail"); + } } diff --git a/src/main/java/seed/com/user/news/WebNewsController.java b/src/main/java/seed/com/user/news/WebNewsController.java new file mode 100644 index 00000000..69a41874 --- /dev/null +++ b/src/main/java/seed/com/user/news/WebNewsController.java @@ -0,0 +1,226 @@ +package seed.com.user.news; + +import java.text.ParseException; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; + +import com.ibm.icu.text.SimpleDateFormat; + +import seed.manager.group.service.ManagerGroupService; +import seed.manager.member.service.ManagerMemberService; +import seed.manager.site.service.ManagerSiteManagerService; +import seed.manager.site.service.ManagerSiteMenuAuthService; +import seed.manager.site.service.ManagerSiteMenuManagerService; +import seed.manager.site.service.ManagerSiteMenuService; +import seed.utils.FairnetUtils; +import seed.utils.SeedUtils; + +@Controller +public class WebNewsController { + +private Logger log = Logger.getLogger(this.getClass()); + + @Autowired + private ManagerSiteMenuService managerSiteMenuService; + + @Autowired + private ManagerSiteManagerService managerSiteManagerService; + + @Autowired + private ManagerMemberService managerMemberService; + + @Autowired + private ManagerSiteMenuManagerService managerSiteMenuManagerService; + + @Autowired + private ManagerSiteMenuAuthService managerSiteMenuAuthService; + + @Autowired + private ManagerGroupService managerGroupService; + + @Autowired + private NewsService newsService; + + @Value("#{config['member.merge']}") + private String memberMerge; + + @Value("#{config['member.merge.siteIdx']}") + private String memberMergeSiteIdx; + + private void setSessionRemove(HttpSession session){ + session.removeAttribute("memberIdx"); + session.removeAttribute("memberId"); + session.removeAttribute("memberName"); + session.removeAttribute("memberDept"); + session.removeAttribute("memberPosition"); + session.removeAttribute("memberTel"); + session.removeAttribute("memberPhone"); + session.removeAttribute("memberEmail1"); + session.removeAttribute("memberEmail2"); + session.removeAttribute("memberGrant"); + + session.removeAttribute("url"); + session.removeAttribute("message"); + session.removeAttribute("opener"); + session.removeAttribute("append"); + session.removeAttribute("self"); + } + + private void setSessionMessageRemove(HttpSession session){ + session.removeAttribute("url"); + session.removeAttribute("message"); + session.removeAttribute("opener"); + session.removeAttribute("append"); + session.removeAttribute("self"); + } + + ///user/news/case/01/322/write.do + @RequestMapping(value="/web/user/news/{siteIdx}/01/{siteMenuIdx}/newsList.do", method=RequestMethod.GET) + public ModelAndView onlineCounselWrite(ModelMap map, HttpSession session, @RequestParam Map paramMap, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionMessageRemove(session); + + /*----권한체크----*/ + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerSiteMenuManagerService.getSiteMenuManagerListCnt(siteMenuIdx, memberIdx); + + //메뉴 권한설정 + /* + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + */ + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("F") || + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuType")).equals("L")){ + return new ModelAndView("redirect:"+SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuLinkUrl"))); + } + + String siteMenuManager = "N"; + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + + if(!memberIdx.equals(0) && + memberIdx.equals(Integer.parseInt(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx"), "0"))) && + siteMenuManager.equals("N")){ + siteMenuManager = "Y"; + } + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + if(memberGrant.equals("S") || memberAuthM){ + siteMenuManager = "Y"; + } + + //편집 권한 + map.put("siteMenuManager", siteMenuManager); + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + /*----권한체크 종료----*/ + + return new ModelAndView("/_extra/web/user/news/newsList"); + } +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsCategoryService.java b/src/main/java/seed/user/bbs/service/UserBbsCategoryService.java new file mode 100644 index 00000000..8b50d2c7 --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsCategoryService.java @@ -0,0 +1,11 @@ +package seed.user.bbs.service; + +import java.util.List; + +import seed.map.T_BBS_CATEGORY; + +public interface UserBbsCategoryService { + + //UserBbsController + public List getBbsCategoryListt(Integer bbsSetIdx, String[] qryColumns); +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsCategoryServiceImpl.java b/src/main/java/seed/user/bbs/service/UserBbsCategoryServiceImpl.java new file mode 100644 index 00000000..c746dc96 --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsCategoryServiceImpl.java @@ -0,0 +1,24 @@ +package seed.user.bbs.service; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.AbstractServiceImpl; + +import seed.dao.BbsCategoryDAO; +import seed.map.T_BBS_CATEGORY; + +@Service +public class UserBbsCategoryServiceImpl extends AbstractServiceImpl implements UserBbsCategoryService{ + + @Autowired + private BbsCategoryDAO bbsCategoryDAO; + + //UserBbsController + public List getBbsCategoryListt(Integer bbsSetIdx, String[] qryColumns){ + + return bbsCategoryDAO.getBbsCategoryListt(bbsSetIdx, qryColumns); + } +} \ No newline at end of file diff --git a/src/main/java/seed/user/bbs/service/UserBbsCommentService.java b/src/main/java/seed/user/bbs/service/UserBbsCommentService.java new file mode 100644 index 00000000..23b350ea --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsCommentService.java @@ -0,0 +1,20 @@ +package seed.user.bbs.service; + +import java.util.List; + +import seed.map.T_BBS_COMMENT; + +public interface UserBbsCommentService { + + //UserBbsController + public Long getBbsCommentListCnt(Integer bbsDataIdx); + + //UserBbsController + public List getBbsCommentList(Integer bbsDataIdx, int page, int row, String[] qryColumns); + + //UserBbsController + public boolean setBbsCommentRegProc(T_BBS_COMMENT tBbsComment, Integer memberIdx, String memberIp); + + //UserBbsController + public boolean setBbsCommentDelProc(Integer bbsCommentIdx); +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsCommentServiceImpl.java b/src/main/java/seed/user/bbs/service/UserBbsCommentServiceImpl.java new file mode 100644 index 00000000..da3c9b50 --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsCommentServiceImpl.java @@ -0,0 +1,97 @@ +package seed.user.bbs.service; + +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import egovframework.rte.fdl.cmmn.AbstractServiceImpl; + +import seed.dao.BbsCommentDAO; +import seed.dao.BbsDataDAO; +import seed.map.T_BBS_COMMENT; +import seed.map.T_BBS_DATA; +import seed.map.T_MEMBER; +import seed.map.T_POINT; +import seed.utils.SeedUtils; + +@Service +public class UserBbsCommentServiceImpl extends AbstractServiceImpl implements UserBbsCommentService{ + + @Autowired + private BbsCommentDAO bbsCommentDAO; + + @Autowired + private BbsDataDAO bbsDataDAO; + + //UserBbsController + public Long getBbsCommentListCnt(Integer bbsDataIdx){ + + return bbsCommentDAO.getBbsCommentListCnt(bbsDataIdx); + } + + //UserBbsController + public List getBbsCommentList(Integer bbsDataIdx, int page, int row, String[] qryColumns){ + + return bbsCommentDAO.getBbsCommentList(bbsDataIdx, ((page-1) * row), row, qryColumns); + } + + //UserBbsController + @Transactional + public boolean setBbsCommentRegProc(T_BBS_COMMENT tBbsComment, Integer memberIdx, String memberIp){ + + boolean success = false; + + T_MEMBER tMember = new T_MEMBER(); + tMember.setMemberIdx(memberIdx); + + tBbsComment.settMember(tMember); + tBbsComment.setBbsCommentRegDate(new Date()); + tBbsComment.setBbsCommentMemberIp(memberIp); + + if(bbsCommentDAO.setBbsCommentRegProc(tBbsComment)){ + T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(tBbsComment.gettBbsData().getBbsDataIdx()); + tBbsDataDB.setBbsCommentCount(tBbsDataDB.getBbsCommentCount()+1); + success = bbsDataDAO.setBbsDataModProc(tBbsDataDB); + + if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetPoint()).equals("Y")){ + //코멘트 포인트 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + + T_POINT tPoint = new T_POINT(); + + tPoint.setPointSetIdx(tBbsDataDB.getBbsDataIdx()); + tPoint.setPointDataIdx(tBbsComment.getBbsCommentIdx()); + tPoint.setPointRegdate(sdf.format(new Date())); + tPoint.setMemberIp(memberIp); + tPoint.setMemberIdx(memberIdx); + tPoint.setSiteIdx(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()); + tPoint.setFuncType("COMMENT"); + tPoint.setPointScore(tBbsDataDB.gettBbsSet().getBbsSetPointWrite()); + bbsDataDAO.setBbsPointProc(tPoint); + } + } + + return success; + } + + //UserBbsController + @Transactional + public boolean setBbsCommentDelProc(Integer bbsCommentIdx){ + + boolean success = false; + + T_BBS_COMMENT tBbsComment = bbsCommentDAO.getBbsCommentForm(bbsCommentIdx); + + if(bbsCommentDAO.setBbsCommentDelProc(tBbsComment)){ + T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(tBbsComment.gettBbsData().getBbsDataIdx()); + tBbsDataDB.setBbsCommentCount(tBbsDataDB.getBbsCommentCount()-1); + success = bbsDataDAO.setBbsDataModProc(tBbsDataDB); + } + + return success; + } +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsDataService.java b/src/main/java/seed/user/bbs/service/UserBbsDataService.java new file mode 100644 index 00000000..eff6e49b --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsDataService.java @@ -0,0 +1,72 @@ +package seed.user.bbs.service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + +import org.springframework.web.multipart.MultipartFile; + +import seed.map.T_BBS_DATA; + +public interface UserBbsDataService { + + //UserBbsController + public List getBestDataList(Integer bbsSetIdx, int row, String[] qryColumns); + + //UserBbsController + public List getSlideDataList(Integer bbsSetIdx, int page, int row, String[] qryColumns); + + //UserBbsController + public List> getBbsDataMiniList(Integer bbsSetIdx, int page, int row, String bbsSetDateOrder, ArrayList qryArrayList); + + //UserBbsController + public T_BBS_DATA getBbsDataForm(Integer bbsDataIdx); + + //UserBbsController + public T_BBS_DATA getBbsReplyForm(Integer bbsDataGroup, Integer bbsDataFam); + + //UserBbsController + public Map getBbsDataPreForm(T_BBS_DATA tBbsData, String column, String search, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns); + + //UserBbsController + public Map getBbsDataNextForm(T_BBS_DATA tBbsData, String column, String search, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns); + + //UserBbsController + public List> getBbsNoticeDataList(Integer bbsSetIdx, String column, String search, String bbsSetDateOrder, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList qryArrayList); + + //UserBbsController + public Long getBbsDataListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList qryArrayList); + + //UserBbsController + public List> getBbsDataList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetDateOrder, String bbsSetType, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList qryArrayList); + + //UserBbsController + public boolean setBbsDataCopyProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx, Integer memberIdx, String memberIp, Integer thumbWidth, Integer thumbHeight, String rootPath); + + //UserBbsController + public boolean setBbsDataMoveProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx); + + //UserBbsController + public Integer setBbsDataRegProc(T_BBS_DATA tBbsData, Integer memberIdx, String memberIp, String fileCode, List upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath); + + //UserBbsController + public Integer setBbsDataReplyProc(T_BBS_DATA tBbsData, Integer bbsFamIdx, Integer memberIdx, String memberIp, String fileCode, List upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath); + + //UserBbsController + public String setBbsDataModProc(T_BBS_DATA tBbsData, Integer memberIdx, String memberGrant, boolean memberAuthM, boolean memberAuth, String memberIp, Integer[] bbsFileIdx, String fileCode, List upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath); + + //UserBbsController + public String setBbsDataModPwProc(Integer bbsDataIdx, Integer memberIdx, String memberGrant, boolean memberAuthM, boolean memberAuth, String bbsDataPw); + + //UserBbsController + public String setBbsDataDelProc(Integer bbsDataIdx, Integer memberIdx, String memberGrant, boolean memberAuthM, boolean memberAuth, String bbsDataPw, String bbsSetTrash, String rootPath); + + //UserBbsController + public String setBbsDataDelPwProc(Integer bbsDataIdx, Integer memberIdx, String memberGrant, boolean memberAuthM, boolean memberAuth, String bbsDataPw, String bbsSetTrash, String rootPath); + + //UserBbsController + public boolean setBbsDataStatusProc(Integer bbsDataIdx, String status, String memberIp, String rootPath); + + //UserBbsController + public void setBbsDataHitProc(Integer bbsDataIdx); +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsDataServiceImpl.java b/src/main/java/seed/user/bbs/service/UserBbsDataServiceImpl.java new file mode 100644 index 00000000..43be0543 --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsDataServiceImpl.java @@ -0,0 +1,2342 @@ +package seed.user.bbs.service; + +import java.awt.Graphics2D; +import java.awt.image.BufferedImage; +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.imageio.ImageIO; +import javax.media.jai.JAI; +import javax.media.jai.RenderedOp; + +import net.coobird.thumbnailator.Thumbnails; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import egovframework.rte.fdl.cmmn.AbstractServiceImpl; + +import seed.dao.BbsDataDAO; +import seed.dao.BbsFileDAO; +import seed.dao.FileDownLoadDAO; +import seed.map.T_BBS_DATA; +import seed.map.T_BBS_FILE; +import seed.map.T_BBS_SET; +import seed.map.T_COMMON_FILE; +import seed.map.T_FILE_DOWNLOAD; +import seed.map.T_MEMBER; +import seed.map.T_POINT; +import seed.utils.SeedCvtDOCToHtml; +import seed.utils.SeedCvtDOCXToHtml; +import seed.utils.SeedCvtPDFToImg; +import seed.utils.SeedCvtPPTToImg; +import seed.utils.SeedCvtPPTXToImg; +import seed.utils.SeedCvtXLSToHtml; +import seed.utils.SeedCvtXLSXToHtml; +import seed.utils.SeedFileUtils; +import seed.utils.SeedFtpType; +import seed.utils.SeedUtils; +import seed.common.service.CommonFileService; + +@Service +public class UserBbsDataServiceImpl extends AbstractServiceImpl implements UserBbsDataService{ + + private Logger log = Logger.getLogger(this.getClass()); + + @Autowired + private BbsDataDAO bbsDataDAO; + + @Autowired + private BbsFileDAO bbsFileDAO; + + @Autowired + private FileDownLoadDAO fileDownLoadDAO; + + @Autowired + private CommonFileService commonFileService; + + //UserBbsController + public List getBestDataList(Integer bbsSetIdx, int row, String[] qryColumns){ + + return bbsDataDAO.getBestDataList(bbsSetIdx, row, qryColumns); + } + + //UserBbsController + public List getSlideDataList(Integer bbsSetIdx, int page, int row, String[] qryColumns){ + + return bbsDataDAO.getSlideDataList(bbsSetIdx, page, row, qryColumns); + } + + //UserBbsController + public List> getBbsDataMiniList(Integer bbsSetIdx, int page, int row, String bbsSetDateOrder, ArrayList qryArrayList){ + + return bbsDataDAO.getBbsDataMiniList(bbsSetIdx, ((page-1) * row), row, bbsSetDateOrder, qryArrayList); + } + + //UserBbsController + public T_BBS_DATA getBbsDataForm(Integer bbsDataIdx){ + + return bbsDataDAO.getBbsDataForm(bbsDataIdx); + } + + //UserBbsController + public T_BBS_DATA getBbsReplyForm(Integer bbsDataGroup, Integer bbsDataFam){ + + return bbsDataDAO.getBbsReplyForm(bbsDataGroup, bbsDataFam); + } + + //UserBbsController + public Map getBbsDataPreForm(T_BBS_DATA tBbsData, String column, String search, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns){ + + return bbsDataDAO.getBbsDataPreForm(tBbsData, column, search, bbsSetMyData, memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryColumns); + } + + //UserBbsController + public Map getBbsDataNextForm(T_BBS_DATA tBbsData, String column, String search, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, String[] qryColumns){ + + return bbsDataDAO.getBbsDataNextForm(tBbsData, column, search, bbsSetMyData, memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryColumns); + } + + //UserBbsController + public List> getBbsNoticeDataList(Integer bbsSetIdx, String column, String search, String bbsSetDateOrder, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList qryArrayList){ + + return bbsDataDAO.getBbsNoticeDataList(bbsSetIdx, column, search, bbsSetDateOrder, bbsDataCategory, searchSDate, searchEDate, qryArrayList); + } + + //UserBbsController + public Long getBbsDataListCnt(Integer bbsSetIdx, String column, String search, String bbsSetType, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList qryArrayList){ + + return bbsDataDAO.getBbsDataListCnt(false, bbsSetIdx, column, search, bbsSetType, bbsSetMyData, memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryArrayList); + } + + //UserBbsController + public List> getBbsDataList(Integer bbsSetIdx, int page, int row, String column, String search, String bbsSetDateOrder, String bbsSetType, String bbsSetMyData, Integer memberIdx, String memberCertify, boolean grantAuth, String bbsDataCategory, String searchSDate, String searchEDate, ArrayList qryArrayList){ + + return bbsDataDAO.getBbsDataList(false, bbsSetIdx, ((page-1) * row), row, column, search, bbsSetDateOrder, bbsSetType, bbsSetMyData, memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryArrayList); + } + + //UserBbsController + @Transactional + public boolean setBbsDataCopyProc(Integer bbsDataIdxOriginal, Integer bbsSetIdx, Integer memberIdx, String memberIp, Integer thumbWidth, Integer thumbHeight, String rootPath){ + + boolean success = false; + + T_BBS_DATA tBbsDataOriginal = bbsDataDAO.getBbsDataForm(bbsDataIdxOriginal); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + + T_MEMBER tMember = new T_MEMBER(); + tMember.setMemberIdx(memberIdx); + + T_BBS_SET tBbsSet = new T_BBS_SET(); + tBbsSet.setBbsSetIdx(bbsSetIdx); + + T_BBS_DATA tBbsDataNew = new T_BBS_DATA(); + tBbsDataNew.settMember(tMember); + + tBbsDataNew.settBbsSet(tBbsSet); + tBbsDataNew.setBbsDataNotice(tBbsDataOriginal.getBbsDataNotice()); + tBbsDataNew.setBbsDataNoticeSdate(tBbsDataOriginal.getBbsDataNoticeSdate()); + tBbsDataNew.setBbsDataNoticeEdate(tBbsDataOriginal.getBbsDataNoticeEdate()); + tBbsDataNew.setBbsDataTitle(tBbsDataOriginal.getBbsDataTitle()); + tBbsDataNew.setBbsDataGroup(0); + tBbsDataNew.setBbsDataPosition(0); + tBbsDataNew.setBbsDataFam(0); + tBbsDataNew.setBbsDataDepth(0); + tBbsDataNew.setBbsDataHit(0); + tBbsDataNew.setBbsDataStatus("U"); + tBbsDataNew.setBbsDataRegDate(sdf.format(new Date())); + tBbsDataNew.setBbsDataModDate(sdf.format(new Date())); + tBbsDataNew.setBbsDataMemberIp(memberIp); + tBbsDataNew.setBbsCommentCount(0); + tBbsDataNew.setBbsFileCount(0); + tBbsDataNew.setBbsDataThumbText(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataThumbText())); + tBbsDataNew.setBbsDataContent(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataContent())); + tBbsDataNew.setBbsDataItemA1(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemA1())); + tBbsDataNew.setBbsDataItemB2(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemB2())); + tBbsDataNew.setBbsDataItemC3(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemC3())); + tBbsDataNew.setBbsDataItemD4(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemD4())); + tBbsDataNew.setBbsDataItemE5(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemE5())); + tBbsDataNew.setBbsDataItemF6(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemF6())); + tBbsDataNew.setBbsDataItemG7(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemG7())); + tBbsDataNew.setBbsDataItemH8(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemH8())); + tBbsDataNew.setBbsDataItemI9(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemI9())); + tBbsDataNew.setBbsDataItemJ10(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataItemJ10())); + tBbsDataNew.setBbsDataYoutube(SeedUtils.setReplaceNull(tBbsDataOriginal.getBbsDataYoutube())); + + T_BBS_DATA tBbsDataDB = bbsDataDAO.setBbsDataRegProc(tBbsDataNew); + + if(tBbsDataDB != null){ + + String thumbFileName = ""; + + //복사할 파일들 가져옴 + List bbsFileListOriginal = bbsFileDAO.getBbsFileList(tBbsDataOriginal.getBbsDataIdx()); + + if(bbsFileListOriginal != null && bbsFileListOriginal.size() > 0){ + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + for(int f=0; f upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath){ + + Integer bbsDataIdx = 0; + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + + if(memberIdx > 0){ + T_MEMBER tMember = new T_MEMBER(); + tMember.setMemberIdx(memberIdx); + tBbsData.settMember(tMember); + }else{ + String strCode = SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw()); + tBbsData.setBbsDataPw(SeedUtils.getSeedSHA256Code(strCode)); + } + + if(!SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("Y") && !SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("A")){ + tBbsData.setBbsDataNotice("N"); + tBbsData.setBbsDataNoticeSdate(""); + tBbsData.setBbsDataNoticeEdate(""); + } + + tBbsData.setBbsDataGroup(0); + tBbsData.setBbsDataPosition(0); + tBbsData.setBbsDataFam(0); + tBbsData.setBbsDataDepth(0); + tBbsData.setBbsDataHit(0); + tBbsData.setBbsDataStatus("U"); + + if(SeedUtils.setReplaceNull(tBbsData.getBbsDataRegDate()).equals("")){ + tBbsData.setBbsDataRegDate(sdf.format(new Date())); + } + + tBbsData.setBbsDataModDate(sdf.format(new Date())); + tBbsData.setBbsDataMemberIp(memberIp); + tBbsData.setBbsCommentCount(0); + tBbsData.setBbsFileCount(0); + + T_BBS_DATA tBbsDataDB = bbsDataDAO.setBbsDataRegProc(tBbsData); + + if(tBbsDataDB != null){ + + bbsDataIdx = tBbsDataDB.getBbsDataIdx(); + + String bbsDataContent = tBbsDataDB.getBbsDataContent(); + + String thumImg = ""; + String thumImgText = ""; + + if(SeedUtils.setReplaceNull(tBbsData.gettBbsSet().getBbsSetPoint()).equals("Y")){ + //게시글 포인트 + T_POINT tPoint = new T_POINT(); + + tPoint.setPointSetIdx(tBbsData.gettBbsSet().getBbsSetIdx()); + tPoint.setPointDataIdx(tBbsData.getBbsDataIdx()); + tPoint.setPointRegdate(sdf.format(new Date())); + tPoint.setMemberIp(memberIp); + tPoint.setMemberIdx(memberIdx); + tPoint.setSiteIdx(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()); + tPoint.setFuncType("BBS"); + tPoint.setPointScore(tBbsDataDB.gettBbsSet().getBbsSetPointWrite()); + + bbsDataDAO.setBbsPointProc(tPoint); + } + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + if(upFiles != null && upFiles.size() > 0){ + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + try{ + + for(int f=0; f 0){ + for(int d=0; d tCommonFileList = commonFileService.getCommonFileList(tBbsDataDB.gettBbsSet().getBbsSetIdx(), fileCode); + + if(tCommonFileList != null && tCommonFileList.size() > 0){ + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + for(int f=0; f upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath){ + + Integer bbsDataIdx = 0; + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + + T_BBS_DATA tBbsDataFam = bbsDataDAO.getBbsDataForm(bbsFamIdx); + bbsDataDAO.setBbsDataPosModProc(tBbsDataFam); + + if(memberIdx > 0){ + T_MEMBER tMember = new T_MEMBER(); + tMember.setMemberIdx(memberIdx); + tBbsData.settMember(tMember); + }else{ + String strCode = SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw()); + tBbsData.setBbsDataPw(SeedUtils.getSeedSHA256Code(strCode)); + } + + tBbsData.setBbsDataNotice("N"); + tBbsData.setBbsDataGroup(tBbsDataFam.getBbsDataGroup()); + tBbsData.setBbsDataPosition(tBbsDataFam.getBbsDataPosition()+1); + tBbsData.setBbsDataFam(tBbsDataFam.getBbsDataIdx()); + tBbsData.setBbsDataDepth(tBbsDataFam.getBbsDataDepth()+1); + tBbsData.setBbsDataHit(0); + tBbsData.setBbsDataStatus("U"); + + if(SeedUtils.setReplaceNull(tBbsData.getBbsDataRegDate()).equals("")){ + tBbsData.setBbsDataRegDate(sdf.format(new Date())); + } + + tBbsData.setBbsDataModDate(sdf.format(new Date())); + tBbsData.setBbsDataMemberIp(memberIp); + tBbsData.setBbsCommentCount(0); + tBbsData.setBbsFileCount(0); + + T_BBS_DATA tBbsDataDB = bbsDataDAO.setBbsDataRegProc(tBbsData); + + if(tBbsDataDB != null){ + + bbsDataIdx = tBbsDataDB.getBbsDataIdx(); + + String bbsDataContent = tBbsDataDB.getBbsDataContent(); + + String thumImg = ""; + String thumImgText = ""; + + if(SeedUtils.setReplaceNull(tBbsData.gettBbsSet().getBbsSetPoint()).equals("Y")){ + //댓글 포인트 + T_POINT tPoint = new T_POINT(); + + tPoint.setPointSetIdx(tBbsData.gettBbsSet().getBbsSetIdx()); + tPoint.setPointDataIdx(tBbsData.getBbsDataIdx()); + tPoint.setPointRegdate(sdf.format(new Date())); + tPoint.setMemberIp(memberIp); + tPoint.setMemberIdx(memberIdx); + tPoint.setSiteIdx(tBbsDataDB.gettBbsSet().gettSite().getSiteIdx()); + tPoint.setFuncType("REPLY"); + tPoint.setPointScore(tBbsDataDB.gettBbsSet().getBbsSetPointWrite()); + + bbsDataDAO.setBbsPointProc(tPoint); + } + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + if(upFiles != null && upFiles.size() > 0){ + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + try{ + + for(int f=0; f 0){ + for(int d=0; d tCommonFileList = commonFileService.getCommonFileList(tBbsDataDB.gettBbsSet().getBbsSetIdx(), fileCode); + + if(tCommonFileList != null && tCommonFileList.size() > 0){ + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + for(int f=0; f upFiles, boolean fileEncryChk, boolean filePreviewChk, String[] fileIdxs, Integer thumbWidth, Integer thumbHeight, String rootPath){ + + String success = "N"; + String thumImg = tBbsData.getBbsDataThumb(); + String thumImgText = ""; + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + + T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(tBbsData.getBbsDataIdx()); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(tBbsDataDB.gettMember() != null){ + if(!tBbsDataDB.gettMember().getMemberIdx().equals(memberIdx)){ + return "ERROR"; + } + }else{ + if(!tBbsDataDB.getBbsDataPw().equals(SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw())))){ + return "PW"; + }else{ + tBbsDataDB.setBbsDataName(tBbsData.getBbsDataName()); + tBbsDataDB.setBbsDataPw(SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw()))); + } + } + } + + if(!SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("Y") && !SeedUtils.setReplaceNull(tBbsData.getBbsDataNotice()).equals("A")){ + tBbsDataDB.setBbsDataNotice("N"); + tBbsDataDB.setBbsDataNoticeSdate(""); + tBbsDataDB.setBbsDataNoticeEdate(""); + }else{ + tBbsDataDB.setBbsDataNotice(tBbsData.getBbsDataNotice()); + tBbsDataDB.setBbsDataNoticeSdate(tBbsData.getBbsDataNoticeSdate()); + tBbsDataDB.setBbsDataNoticeEdate(tBbsData.getBbsDataNoticeEdate()); + } + + String bbsDataContent = tBbsData.getBbsDataContent(); + + tBbsDataDB.setBbsDataTitle(tBbsData.getBbsDataTitle()); + tBbsDataDB.setBbsDataLinkUrl(tBbsData.getBbsDataLinkUrl()); + tBbsDataDB.setBbsDataLinkType(tBbsData.getBbsDataLinkType()); + tBbsDataDB.setBbsDataCategory(SeedUtils.setReplaceNull(tBbsData.getBbsDataCategory())); + tBbsDataDB.setBbsDataContent(bbsDataContent); + tBbsDataDB.setBbsDataThumb(thumImg); + tBbsDataDB.setBbsDataEventSdate(tBbsData.getBbsDataEventSdate()); + tBbsDataDB.setBbsDataEventEdate(tBbsData.getBbsDataEventEdate()); + tBbsDataDB.setBbsDataEventUrl(tBbsData.getBbsDataEventUrl()); + tBbsDataDB.setBbsDataEventResultUrl(tBbsData.getBbsDataEventResultUrl()); + + if(SeedUtils.setReplaceNull(tBbsData.getBbsDataRegDate()).equals("")){ + tBbsDataDB.setBbsDataRegDate(sdf.format(new Date())); + }else{ + tBbsDataDB.setBbsDataRegDate(tBbsData.getBbsDataRegDate()); + } + + tBbsDataDB.setBbsDataModDate(sdf.format(new Date())); + tBbsDataDB.setBbsDataSecret(tBbsData.getBbsDataSecret()); + tBbsDataDB.setBbsDataMemberIp(memberIp); + tBbsDataDB.setBbsDataReplyStatus(tBbsData.getBbsDataReplyStatus()); + + tBbsDataDB.setBbsDataItemA1(tBbsData.getBbsDataItemA1()); + tBbsDataDB.setBbsDataItemB2(tBbsData.getBbsDataItemB2()); + tBbsDataDB.setBbsDataItemC3(tBbsData.getBbsDataItemC3()); + tBbsDataDB.setBbsDataItemD4(tBbsData.getBbsDataItemD4()); + tBbsDataDB.setBbsDataItemE5(tBbsData.getBbsDataItemE5()); + tBbsDataDB.setBbsDataItemF6(tBbsData.getBbsDataItemF6()); + tBbsDataDB.setBbsDataItemG7(tBbsData.getBbsDataItemG7()); + tBbsDataDB.setBbsDataItemH8(tBbsData.getBbsDataItemH8()); + tBbsDataDB.setBbsDataItemI9(tBbsData.getBbsDataItemI9()); + tBbsDataDB.setBbsDataItemJ10(tBbsData.getBbsDataItemJ10()); + tBbsDataDB.setBbsDataYoutube(SeedUtils.setReplaceNull(tBbsData.getBbsDataYoutube())); + + thumImgText = tBbsDataDB.getBbsDataThumbText(); + + if(bbsDataDAO.setBbsDataModProc(tBbsDataDB)){ + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + if(bbsFileIdx.length > 0){ + + String[] qryColumns = null; + + List tBbsFileList = bbsFileDAO.getBbsFileList(tBbsDataDB.getBbsDataIdx(), bbsFileIdx, qryColumns); + + if(tBbsFileList != null && tBbsFileList.size() > 0){ + for(int f=0; f 0){ + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + try{ + + for(int f=0; f 0){ + for(int d=0; d tCommonFileList = commonFileService.getCommonFileList(tBbsDataDB.gettBbsSet().getBbsSetIdx(), fileCode); + + if(tCommonFileList != null && tCommonFileList.size() > 0){ + + SeedUtils.setSeedMkDirs(rootPath + "/" + tBbsDataDB.gettBbsSet().gettSite().getSiteIdx() + "/upload/bbs/" + tBbsDataDB.gettBbsSet().getBbsSetIdx()); + + for(int f=0; f 0 && (!errorChk || !pwChk)){ + + errorChk = true; + pwChk = true; + + T_BBS_DATA tBbsDataParentDB = bbsDataDAO.getBbsDataForm(tBbsDataDB.getBbsDataFam()); + + if(tBbsDataParentDB.gettMember() != null){ + if(!tBbsDataParentDB.gettMember().getMemberIdx().equals(memberIdx)){ + errorChk = false; + } + }else{ + if(!tBbsDataParentDB.getBbsDataPw().equals(SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(bbsDataPw)))){ + pwChk = false; + } + } + } + + if(!errorChk){ + return "ERROR"; + }else if(!pwChk){ + return "PW"; + } + } + + return success; + } + + //UserBbsController + @Transactional + public String setBbsDataDelProc(Integer bbsDataIdx, Integer memberIdx, String memberGrant, boolean memberAuthM, boolean memberAuth, String bbsDataPw, String bbsSetTrash, String rootPath){ + + String success = "N"; + + T_BBS_DATA tBbsDataDB = bbsDataDAO.getBbsDataForm(bbsDataIdx); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(tBbsDataDB.gettMember() != null){ + if(!tBbsDataDB.gettMember().getMemberIdx().equals(memberIdx)){ + return "ERROR"; + } + }else{ + if(!tBbsDataDB.getBbsDataPw().equals(bbsDataPw)){ + return "PW"; + } + } + } + + if(bbsDataDAO.getBbsDataReplyCnt(tBbsDataDB.gettBbsSet().getBbsSetIdx(), tBbsDataDB.getBbsDataGroup(), tBbsDataDB.getBbsDataDepth()) > 0){ + return "RE"; + } + + if(bbsSetTrash.equals("Y")){ + + tBbsDataDB.setBbsDataStatus("D"); + if(bbsDataDAO.setBbsDataModProc(tBbsDataDB)){ + success = "Y"; + } + + }else{ + String[] qryColumns = null; + + List tBbsFileList = bbsFileDAO.getBbsFileList(tBbsDataDB.getBbsDataIdx(), qryColumns); + + if(tBbsFileList != null && tBbsFileList.size() > 0){ + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + for(int f=0; f tFileDownLoadList = fileDownLoadDAO.getFileDownLoadList("bbs", String.valueOf(tBbsDataDB.gettBbsSet().getBbsSetIdx()), String.valueOf(tBbsDataDB.getBbsDataIdx())); + + if(tFileDownLoadList != null && tFileDownLoadList.size() > 0){ + + for(int d=0; d 0){ + return "RE"; + } + + if(bbsSetTrash.equals("Y")){ + + tBbsDataDB.setBbsDataStatus("D"); + if(bbsDataDAO.setBbsDataModProc(tBbsDataDB)){ + success = "Y"; + } + + }else{ + String[] qryColumns = null; + + List tBbsFileList = bbsFileDAO.getBbsFileList(tBbsDataDB.getBbsDataIdx(), qryColumns); + + if(tBbsFileList != null && tBbsFileList.size() > 0){ + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + for(int f=0; f tBbsFileReplyList = bbsFileDAO.getBbsFileList(tBbsReplyDB.getBbsDataIdx(), new String[] {}); + + if(tBbsFileReplyList != null && tBbsFileReplyList.size() > 0){ + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + for(int f=0; f tBbsFileList = bbsFileDAO.getBbsFileList(bbsDataIdx, new String[]{}); + + if(tBbsFileList != null && tBbsFileList.size() > 0){ + + //FTP 전송 + SeedFtpType seedFtpType = new SeedFtpType(); + + for(int f=0; f> getBbsItemMiniList(Integer bbsSetIdx, String[] qryColumns); + + //UserBbsController + public List> getBbsItemList(Integer bbsSetIdx, String orderType, String[] qryColumns); + + //UserBbsController + public List getBbsItemValuesList(Integer bbsSetIdx, String orderType, String[] qryColumns); +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsItemServiceImpl.java b/src/main/java/seed/user/bbs/service/UserBbsItemServiceImpl.java new file mode 100644 index 00000000..689a2025 --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsItemServiceImpl.java @@ -0,0 +1,43 @@ +package seed.user.bbs.service; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.AbstractServiceImpl; + +import seed.dao.BbsItemDAO; +import seed.map.T_BBS_ITEM; + +@Service +public class UserBbsItemServiceImpl extends AbstractServiceImpl implements UserBbsItemService{ + + @Autowired + private BbsItemDAO bbsItemDAO; + + //UserBbsController + public T_BBS_ITEM getBbsItemValueForm(Integer bbsSetIdx, String bbsItemGroup){ + + return bbsItemDAO.getBbsItemValueForm(bbsSetIdx, bbsItemGroup); + } + + //UserBbsController + public List> getBbsItemMiniList(Integer bbsSetIdx, String[] qryColumns){ + + return bbsItemDAO.getBbsItemMiniList(bbsSetIdx, qryColumns); + } + + //UserBbsController + public List> getBbsItemList(Integer bbsSetIdx, String orderType, String[] qryColumns){ + + return bbsItemDAO.getBbsItemList(bbsSetIdx, orderType, qryColumns); + } + + //UserBbsController + public List getBbsItemValuesList(Integer bbsSetIdx, String orderType, String[] qryColumns){ + + return bbsItemDAO.getBbsItemValuesList(bbsSetIdx, orderType, qryColumns); + } +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsSetService.java b/src/main/java/seed/user/bbs/service/UserBbsSetService.java new file mode 100644 index 00000000..01c3f852 --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsSetService.java @@ -0,0 +1,18 @@ +package seed.user.bbs.service; + +import java.util.List; +import java.util.Map; + +import seed.map.T_BBS_SET; + +public interface UserBbsSetService { + + //UserBbsController + public List getBbsSetList(String siteIdx, Integer bbsSetIdx, String bbsSetType, String[] qryColumns); + + //UserBbsController + public T_BBS_SET getBbsSetForm(Integer bbsSetIdx); + + //UserBbsController + public Map getBbsSetMapForm(Integer bbsSetIdx, String[] qryColumns); +} diff --git a/src/main/java/seed/user/bbs/service/UserBbsSetServiceImpl.java b/src/main/java/seed/user/bbs/service/UserBbsSetServiceImpl.java new file mode 100644 index 00000000..ea6f9f6c --- /dev/null +++ b/src/main/java/seed/user/bbs/service/UserBbsSetServiceImpl.java @@ -0,0 +1,37 @@ +package seed.user.bbs.service; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import egovframework.rte.fdl.cmmn.AbstractServiceImpl; + +import seed.dao.BbsSetDAO; +import seed.map.T_BBS_SET; + +@Service +public class UserBbsSetServiceImpl extends AbstractServiceImpl implements UserBbsSetService{ + + @Autowired + private BbsSetDAO bbsSetDAO; + + //UserBbsController + public List getBbsSetList(String siteIdx, Integer bbsSetIdx, String bbsSetType, String[] qryColumns){ + + return bbsSetDAO.getBbsSetList(siteIdx, bbsSetIdx, bbsSetType, qryColumns); + } + + //UserBbsController + public T_BBS_SET getBbsSetForm(Integer bbsSetIdx){ + + return bbsSetDAO.getBbsSetForm(bbsSetIdx); + } + + //UserBbsController + public Map getBbsSetMapForm(Integer bbsSetIdx, String[] qryColumns){ + + return bbsSetDAO.getBbsSetMapForm(bbsSetIdx, qryColumns); + } +} diff --git a/src/main/java/seed/user/bbs/web/UserBbsController.java b/src/main/java/seed/user/bbs/web/UserBbsController.java new file mode 100644 index 00000000..45682ca5 --- /dev/null +++ b/src/main/java/seed/user/bbs/web/UserBbsController.java @@ -0,0 +1,3342 @@ +package seed.user.bbs.web; + +import java.io.BufferedWriter; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.OutputStreamWriter; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.Formatter; +import java.util.List; +import java.util.Map; +import java.util.regex.Pattern; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import nl.captcha.Captcha; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestMethod; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; +import org.springframework.web.servlet.ModelAndView; + +import seed.manager.bbs.service.ManagerBbsManagerService; +import seed.manager.group.service.ManagerGroupService; +import seed.manager.member.service.ManagerMemberService; +import seed.manager.site.service.ManagerSiteManagerService; +import seed.manager.site.service.ManagerSiteMenuAuthService; +import seed.manager.site.service.ManagerSiteMenuManagerService; +import seed.manager.site.service.ManagerSiteMenuService; +import seed.map.T_BBS_COMMENT; +import seed.map.T_BBS_DATA; +import seed.map.T_BBS_FILE; +import seed.map.T_BBS_ITEM; +import seed.map.T_BBS_SET; +import seed.user.bbs.service.UserBbsAuthService; +import seed.user.bbs.service.UserBbsCategoryService; +import seed.user.bbs.service.UserBbsDataService; +import seed.user.bbs.service.UserBbsFileService; +import seed.user.bbs.service.UserBbsItemService; +import seed.user.bbs.service.UserBbsSetService; +import seed.utils.Paging; +import seed.utils.SeedFtpType; +import seed.utils.SeedUtils; +import seed.user.bbs.service.UserBbsCommentService; + +@Controller +public class UserBbsController { + + private Logger log = Logger.getLogger(this.getClass()); + + @Autowired + private ManagerSiteManagerService managerSiteManagerService; + + @Autowired + private ManagerSiteMenuService managerSiteMenuService; + + @Autowired + private ManagerSiteMenuManagerService managerSiteMenuManagerService; + + @Autowired + private ManagerSiteMenuAuthService managerSiteMenuAuthService; + + @Autowired + private ManagerGroupService managerGroupService; + + @Autowired + private ManagerMemberService managerMemberService; + + @Autowired + private ManagerBbsManagerService managerBbsManagerService; + + @Autowired + private UserBbsSetService userBbsSetService; + + @Autowired + private UserBbsCategoryService userBbsCategoryService; + + @Autowired + private UserBbsAuthService userBbsAuthService; + + @Autowired + private UserBbsItemService userBbsItemService; + + @Autowired + private UserBbsDataService userBbsDataService; + + @Autowired + private UserBbsFileService userBbsFileService; + + @Autowired + private UserBbsCommentService userBbsCommentService; + + @Value("#{config['root.path']}") + private String rootPath; + + @Value("#{config['file.encryption']}") + private String fileEncryption; + + @Value("#{config['file.encryption.type']}") + private String fileEncryptionType; + + @Value("#{config['file.preview']}") + private String filePreview; + + @Value("#{config['thumb.width']}") + private Integer thumbWidth; + + @Value("#{config['thumb.height']}") + private Integer thumbHeight; + + @Value("#{config['member.merge']}") + private String memberMerge; + + @Value("#{config['member.merge.siteIdx']}") + private String memberMergeSiteIdx; + + @Value("#{config['captcha']}") + private String captchaChk; + + @Value("#{config['file.multi']}") + private String fileMulti; + + public void setSessionRemove(HttpSession session){ + session.removeAttribute("url"); + session.removeAttribute("message"); + session.removeAttribute("opener"); + session.removeAttribute("append"); + session.removeAttribute("self"); + } + + public void setPaging(@ModelAttribute("paging") Paging paging){ + + if(paging != null){ + if(paging.getPage() == null){paging.setPage(1);} + if(paging.getRow() == null){paging.setRow(10);} + if(paging.getPagec() == null){paging.setPagec(1);} + if(paging.getRowc() == null){paging.setRowc(10);} + } + } + + @RequestMapping(value="/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bestDataList.do") + public ModelAndView getBestDataList(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionRemove(session); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify) == null){ + map.put("message", "common.message.no.grant"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + String[] qryColumns = {"bbsDataIdx", "bbsDataTitle", "bbsDataThumb", "bbsDataThumbText", "bbsDataHit"}; + + List bestDataList = userBbsDataService.getBestDataList(bbsSetIdx, tBbsSetDB.getBbsSetBestRow(), qryColumns); + + map.put("bestDataList", bestDataList); + + return new ModelAndView("/user/bbs/common/bestDataList"); + } + + @RequestMapping(value="/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/slideDataList.do") + public ModelAndView getSlideDataList(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify) == null){ + map.put("message", "common.message.no.grant"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + String[] qryColumns = {"bbsDataIdx", "bbsDataTitle", "bbsDataThumb", "bbsDataThumbText", "bbsDataGroup", "bbsDataPosition"}; + + map.put("bestDataList", userBbsDataService.getSlideDataList(bbsSetIdx, paging.getPage(), tBbsSetDB.getBbsSetBestRow(), qryColumns)); + + return new ModelAndView("/user/bbs/common/bestDataList"); + } + + @RequestMapping(value="/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataList.do") + public ModelAndView getBbsDataList(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + if(tBbsSetDB.getBbsSetType().equals("R")){ //신청폼 게시판일 경우 bbsDataForm 으로 이동 + return new ModelAndView("redirect:/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataForm.do"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("tBbsAuthDB", userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify)); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + if((tBbsSetDB.getBbsSetType().equals("A") || tBbsSetDB.getBbsSetType().equals("M") || tBbsSetDB.getBbsSetType().equals("T")) && + (tBbsSetDB.getBbsSetSubType().equals("G"))){ + paging.setRow(tBbsSetDB.getBbsSetDataRow() * tBbsSetDB.getBbsSetDataCol()); + }else{ + paging.setRow(tBbsSetDB.getBbsSetDataRow()); + } + + ArrayList qryArrayList = new ArrayList(); + boolean bbsDataContent = false; + boolean bbsDataReplyStatus = false; + + //앨범게시판, 동영상게시판, 썸네일+파일게시판 일때는 해당 컬럼만 가져옴 (앨범, 동영상, 썸네일 게시판이 *목록+아이템 형* 이 아닐때) + if((tBbsSetDB.getBbsSetType().equals("A") || tBbsSetDB.getBbsSetType().equals("M") || tBbsSetDB.getBbsSetType().equals("T") || tBbsSetDB.getBbsSetType().equals("E")) + && !tBbsSetDB.getBbsSetSubType().equals("I")){ + + qryArrayList.add("bbsDataIdx"); + qryArrayList.add("bbsDataDepth"); + qryArrayList.add("bbsDataGroup"); + qryArrayList.add("bbsDataPosition"); + qryArrayList.add("bbsCommentCount"); + qryArrayList.add("bbsDataThumb"); + qryArrayList.add("bbsDataThumbText"); + qryArrayList.add("bbsDataTitle"); + qryArrayList.add("bbsDataRegDate"); + qryArrayList.add("bbsDataName"); + qryArrayList.add("bbsDataPw"); + qryArrayList.add("bbsDataCertify"); + qryArrayList.add("bbsDataDept"); + qryArrayList.add("tMember.memberIdx"); + qryArrayList.add("tMember.memberName"); + + //이벤트게시판일 경우 해당 이벤트 기간 시작일~종료일을 가져옴 + if(tBbsSetDB.getBbsSetType().equals("E")){ + qryArrayList.add("bbsDataEventSdate"); + qryArrayList.add("bbsDataEventEdate"); + qryArrayList.add("bbsDataEventUrl"); + qryArrayList.add("bbsDataEventResultUrl"); + } + + if(tBbsSetDB.getBbsSetSubType().equals("L")){ //리스트인 경우에만 내용 가져옴 + bbsDataContent = true; + } + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemListOrder", "bbsItemType", "bbsItemDataLength"}; + + map.put("bbsItemList", userBbsItemService.getBbsItemList(bbsSetIdx, "List", qryColumnsi)); + + }else{ + + qryArrayList.add("bbsDataIdx"); + qryArrayList.add("bbsDataDepth"); + qryArrayList.add("bbsDataGroup"); + qryArrayList.add("bbsDataFam"); + qryArrayList.add("bbsDataPosition"); + qryArrayList.add("bbsDataSecret"); + qryArrayList.add("bbsCommentCount"); + qryArrayList.add("bbsDataPw"); + qryArrayList.add("bbsDataCertify"); + qryArrayList.add("bbsDataLinkUrl"); + qryArrayList.add("bbsDataLinkType"); + qryArrayList.add("bbsDataRegDate"); + qryArrayList.add("tMember.memberIdx"); + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemListOrder", "bbsItemType", "bbsItemDataLength", "bbsItemActiveHidden"}; + + List> tBbsItemList = userBbsItemService.getBbsItemList(bbsSetIdx, "List", qryColumnsi); + + map.put("bbsItemList", tBbsItemList); + map.put("bbsItemListCnt", tBbsItemList.size()); + + String[] qryColumnsiv = {"bbsItemIdx", "bbsItemGroup", "bbsItemValue", "bbsItemWidth", "bbsItemHeight"}; + + map.put("bbsItemValuesList", userBbsItemService.getBbsItemValuesList(bbsSetIdx, "List", qryColumnsiv)); + + for(int i=0; i bbsItemMap = (Map)tBbsItemList.get(i); + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemList")).toString().equals("Y") && + SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemStatus")).toString().equals("U")){ + + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataFile")){ + qryArrayList.add("bbsFileCount"); + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataContent")){ + bbsDataContent = true; + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataReplyStatus")){ + bbsDataReplyStatus = true; + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataEventDate")){ + qryArrayList.add("bbsDataEventSdate"); + qryArrayList.add("bbsDataEventEdate"); + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataRegDate")){ + continue; + }else{ + qryArrayList.add(bbsItemMap.get("_bbsItemGroup").toString()); + } + + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataName")){ + if(SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDataSaveType()).equals("memberDept")){ + qryArrayList.add("bbsDataDept"); + }else{ + qryArrayList.add("tMember.memberName"); + } + } + } + } + } + + if(tBbsSetDB.getBbsSetType().equals("B") || tBbsSetDB.getBbsSetType().equals("F") || tBbsSetDB.getBbsSetType().equals("L") || tBbsSetDB.getBbsSetType().equals("W")){ + + List> bbsNoticeDataMapList = userBbsDataService.getBbsNoticeDataList(bbsSetIdx, column, search, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDateOrder(), "N"), bbsDataCategory, searchSDate, searchEDate, qryArrayList); + + if(tBbsSetDB.getBbsSetType().equals("F") || tBbsSetDB.getBbsSetType().equals("L")){ + + ArrayList bbsNoticeFileMapList = new ArrayList(); + + for(int n=0; n bbsDataMap = bbsNoticeDataMapList.get(n); + Integer bbsDataIdx = Integer.parseInt(bbsDataMap.get("_bbsDataIdx").toString()); + + String[] qryColumnsf = null; + + List bbsFileList = userBbsFileService.getBbsFileList(bbsDataIdx, qryColumnsf); + + for(int f=0; f bbsNoticeDataMap = bbsNoticeDataMapList.get(i); + + bbsNoticeDataMap.put("_bbsDataContent", SeedUtils.setTagRemove(userBbsDataService.getBbsDataForm(Integer.parseInt(bbsNoticeDataMap.get("_bbsDataIdx").toString())).getBbsDataContent())); + } + } + + //답변게시판일때 해당 글의 답변 글의 답변상태를 가져옴 + if(bbsDataReplyStatus && tBbsSetDB.getBbsSetType().equals("W")){ + + for(int i=0; i bbsNoticeDataMap = bbsNoticeDataMapList.get(i); + + T_BBS_DATA tBbsReplyDB = userBbsDataService.getBbsReplyForm(Integer.parseInt(bbsNoticeDataMap.get("_bbsDataGroup").toString()), Integer.parseInt(bbsNoticeDataMap.get("_bbsDataFam").toString())); + + if(tBbsReplyDB != null){ + bbsNoticeDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataReplyStatus())); + bbsNoticeDataMap.put("_bbsDataReplySecret", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataSecret())); + bbsNoticeDataMap.put("_bbsDataReplyMemberIdx", SeedUtils.setReplaceNull(tBbsReplyDB.gettMember().getMemberIdx())); + }else{ + + //데이타가 없을때 ITEM VALEUS값의 가장 상단의 데이타를 가져옴 + T_BBS_ITEM tBbsItemDB = userBbsItemService.getBbsItemValueForm(bbsSetIdx, "bbsDataReplyStatus"); + + bbsNoticeDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsItemDB.getBbsItemValue())); + bbsNoticeDataMap.put("_bbsDataReplySecret", "N"); + bbsNoticeDataMap.put("_bbsDataReplyMemberIdx", ""); + } + } + } + + map.put("bbsNoticeDataList", bbsNoticeDataMapList); + } + + //관리자 인경우 모든 글을 가져옴 + boolean grantAuth = false; + + if(memberGrant.equals("S") || memberAuthM || memberAuth){ + grantAuth = true; + } + + paging.setCount(userBbsDataService.getBbsDataListCnt(bbsSetIdx, column, search, + tBbsSetDB.getBbsSetType(), SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData(), "N"), memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryArrayList)); + + map.put("bbsDataCnt", paging.getCount()); + + List> bbsDataMapList = userBbsDataService.getBbsDataList(bbsSetIdx, paging.getPage(), paging.getRow(), column, search, + SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDateOrder(), "N"), tBbsSetDB.getBbsSetType(), SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData(), "N"), memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryArrayList); + + if(tBbsSetDB.getBbsSetType().equals("F") || tBbsSetDB.getBbsSetType().equals("L")){ + + ArrayList bbsFileMapList = new ArrayList(); + + for(int n=0; n bbsDataMap = bbsDataMapList.get(n); + Integer bbsDataIdx = Integer.parseInt(bbsDataMap.get("_bbsDataIdx").toString()); + + String[] qryColumnsf = null; + + List bbsFileList = userBbsFileService.getBbsFileList(bbsDataIdx, qryColumnsf); + + for(int f=0; f bbsDataMap = bbsDataMapList.get(i); + + bbsDataMap.put("_bbsDataContent", SeedUtils.setTagRemove(userBbsDataService.getBbsDataForm(Integer.parseInt(bbsDataMap.get("_bbsDataIdx").toString())).getBbsDataContent())); + } + } + + //답변게시판일때 해당 글의 답변 글의 답변상태를 가져옴 + if(bbsDataReplyStatus && tBbsSetDB.getBbsSetType().equals("W")){ + + for(int i=0; i bbsDataMap = bbsDataMapList.get(i); + + T_BBS_DATA tBbsReplyDB = userBbsDataService.getBbsReplyForm(Integer.parseInt(bbsDataMap.get("_bbsDataGroup").toString()), Integer.parseInt(bbsDataMap.get("_bbsDataFam").toString())); + + if(tBbsReplyDB != null){ + bbsDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataReplyStatus())); + bbsDataMap.put("_bbsDataReplySecret", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataSecret())); + bbsDataMap.put("_bbsDataReplyMemberIdx", SeedUtils.setReplaceNull(tBbsReplyDB.gettMember().getMemberIdx())); + }else{ + + //데이타가 없을때 ITEM VALEUS값의 가장 상단의 데이타를 가져옴 + T_BBS_ITEM tBbsItemDB = userBbsItemService.getBbsItemValueForm(bbsSetIdx, "bbsDataReplyStatus"); + + bbsDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsItemDB.getBbsItemValue())); + bbsDataMap.put("_bbsDataReplySecret", "N"); + bbsDataMap.put("_bbsDataReplyMemberIdx", ""); + } + } + } + + map.put("bbsDataList", bbsDataMapList); + + String[] qryColumnsic = {"bbsCategoryName", "bbsCategoryIdxs", "bbsCategoryParentIdx", "bbsCategoryDepth", "bbsCategoryOrder"}; + + map.put("bbsCategoryList", userBbsCategoryService.getBbsCategoryListt(bbsSetIdx, qryColumnsic)); + + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyy-MM-dd"); + + map.put("bbsSetTypeList", userBbsSetService.getBbsSetList(siteIdx, bbsSetIdx, tBbsSetDB.getBbsSetType(), new String[] {"bbsSetIdx", "bbsSetName", "bbsSetType"})); + map.put("tBbsSetDB", tBbsSetDB); + map.put("toDate", sdfFormat.format(new Date())); + + map.put("page", paging.getPage()); + map.put("row", paging.getRow()); + map.put("pages", paging.getPages()); + map.put("blocks", paging.getBlocks()); + map.put("block", paging.getBlock()); + map.put("fPage", paging.getfPage()); + map.put("lPage", paging.getlPage()); + + map.put("column", column); + map.put("search", search); + map.put("bbsDataCategory", bbsDataCategory); + map.put("searchSDate", searchSDate); + map.put("searchEDate", searchEDate); + + map.put("memberAuth", memberAuth); + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + if(tBbsSetDB.getBbsSetType().equals("A")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/album/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/album/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/album/albumDataItemList"); + }else{ + return new ModelAndView("/user/bbs/album/albumDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("M")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/movie/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/movie/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/movie/movieDataItemList"); + }else{ + return new ModelAndView("/user/bbs/movie/movieDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("T")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/thumbfile/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/thumbfile/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataItemList"); + }else{ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("E")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/event/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/event/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/event/eventDataItemList"); + }else{ + return new ModelAndView("/user/bbs/event/eventDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("W")){ + return new ModelAndView("/user/bbs/answer/answerDataList"); + }else{ + return new ModelAndView("/user/bbs/bbs/bbsDataList"); + } + } + + @RequestMapping(value = "/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataForm.do") + public ModelAndView getBbsDataForm(HttpSession session, + Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx){ + + setSessionRemove(session); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("tBbsAuthDB", userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify)); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + //Temp파일 Code생성 + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String fileCode = sdfFormat.format(new Date())+String.valueOf(SeedUtils.getRandom(999,1)); + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemText", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemViewOrder", "bbsItemType"}; + + map.put("bbsItemList", userBbsItemService.getBbsItemList(bbsSetIdx, "View", qryColumnsi)); + + String[] qryColumnsiv = {"bbsItemIdx", "bbsItemGroup", "bbsItemValue", "bbsItemWidth", "bbsItemHeight"}; + + map.put("bbsItemValuesList", userBbsItemService.getBbsItemValuesList(bbsSetIdx, "View", qryColumnsiv)); + + String[] qryColumnsic = {"bbsCategoryName", "bbsCategoryIdxs", "bbsCategoryParentIdx", "bbsCategoryDepth", "bbsCategoryOrder"}; + + map.put("bbsCategoryList", userBbsCategoryService.getBbsCategoryListt(bbsSetIdx, qryColumnsic)); + + map.put("fileCode", SeedUtils.getSeedMD5Code(fileCode)); + map.put("tBbsSetDB", tBbsSetDB); + + map.put("memberAuth", memberAuth); + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + if(tBbsSetDB.getBbsSetType().equals("A")){ + return new ModelAndView("/user/bbs/album/albumDataForm"); + }else if(tBbsSetDB.getBbsSetType().equals("M")){ + return new ModelAndView("/user/bbs/movie/movieDataForm"); + }else if(tBbsSetDB.getBbsSetType().equals("L")){ + return new ModelAndView("/user/bbs/link/linkDataForm"); + }else if(tBbsSetDB.getBbsSetType().equals("T")){ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataForm"); + }else if(tBbsSetDB.getBbsSetType().equals("E")){ + return new ModelAndView("/user/bbs/event/eventDataForm"); + }else if(tBbsSetDB.getBbsSetType().equals("W")){ + return new ModelAndView("/user/bbs/answer/answerDataForm"); + }else{ + return new ModelAndView("/user/bbs/bbs/bbsDataForm"); + } + } + + @RequestMapping(value = "/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataReply/{bbsFamIdx}.do", method=RequestMethod.GET) + public ModelAndView getBbsDataReply(HttpSession session, + Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsFamIdx") Integer bbsFamIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("tBbsAuthDB", userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify)); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + //Temp파일 Code생성 + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String fileCode = sdfFormat.format(new Date())+String.valueOf(SeedUtils.getRandom(999,1)); + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemText", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemViewOrder", "bbsItemType"}; + + map.put("bbsItemList", userBbsItemService.getBbsItemList(bbsSetIdx, "View", qryColumnsi)); + + String[] qryColumnsiv = {"bbsItemIdx", "bbsItemGroup", "bbsItemValue", "bbsItemWidth", "bbsItemHeight"}; + + map.put("bbsItemValuesList", userBbsItemService.getBbsItemValuesList(bbsSetIdx, "View", qryColumnsiv)); + + map.put("fileCode", SeedUtils.getSeedMD5Code(fileCode)); + map.put("tBbsSetDB", tBbsSetDB); + + map.put("memberAuth", memberAuth); + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + if(tBbsSetDB.getBbsSetType().equals("W")){ + + return new ModelAndView("/user/bbs/answer/answerDataReply"); + + }else{ + + String[] qryColumnsic = {"bbsCategoryName", "bbsCategoryIdxs", "bbsCategoryParentIdx", "bbsCategoryDepth", "bbsCategoryOrder"}; + + map.put("bbsCategoryList", userBbsCategoryService.getBbsCategoryListt(bbsSetIdx, qryColumnsic)); + + return new ModelAndView("/user/bbs/bbs/bbsDataReply"); + } + } + + @RequestMapping(value = "/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataView/{bbsDataIdx}.do", method=RequestMethod.GET) + public ModelAndView getBbsDataView(HttpSession session, Map map, + HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="bbsDataPw", defaultValue="", required=false) String bbsDataPw, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + paging.setRowc(Integer.parseInt(SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetCommentRow() ,"0"))); + + T_BBS_DATA tBbsDataDB = userBbsDataService.getBbsDataForm(bbsDataIdx); + + //해당 게시글 상태 확인(U:사용) + if(!tBbsDataDB.getBbsDataStatus().equals("U")){ + map.put("message", "user.bbs.message.no.bbs.data"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + //이벤트 게시판일 경우 해당 글이 이벤트 시작기간이 아닌경우 잘못된 접근으로 처리 + if(tBbsSetDB.getBbsSetType().equals("E")){ + + if(Integer.parseInt(sdf.format(new Date()).replaceAll("-", "")) < Integer.parseInt(SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataEventSdate()).replaceAll("-", ""))){ + map.put("message", "user.bbs.message.no.bbs.data"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + //해당글에 권한체크 + boolean grantChk = true; + + //슈퍼관리자, 사이트관리자, 게시판 관리자가 아닐때 확인 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("tBbsAuthDB", userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify)); + + //해당글이 비밀글일때 확인 + if(SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataSecret()).equals("Y") || SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData()).equals("Y")){ + + //해당글이 자신글 인지 또는 패스워드가 같은지 확인 + if(tBbsDataDB.gettMember() != null){ + if(!tBbsDataDB.gettMember().getMemberIdx().equals(memberIdx) && !SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataCertify()).equals(memberCertify)){ + grantChk = false; + } + }else{ + if(!SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataPw()).equals(SeedUtils.setReplaceNull(bbsDataPw, "N")) && !SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataCertify()).equals(memberCertify)){ + grantChk = false; + } + } + + //해당글이 답글 이고 해당글이 자신의 글이 아닐때 다시 한번 권한 확인 + if(tBbsDataDB.getBbsDataDepth() > 0 && !grantChk){ + + grantChk = true; + + T_BBS_DATA tBbsDataParentDB = userBbsDataService.getBbsDataForm(tBbsDataDB.getBbsDataFam()); + + if(tBbsDataParentDB.gettMember() != null){ + if(!tBbsDataParentDB.gettMember().getMemberIdx().equals(memberIdx) || !SeedUtils.setReplaceNull(tBbsDataParentDB.getBbsDataCertify()).equals(memberCertify)){ + grantChk = false; + } + }else{ + if(!SeedUtils.setReplaceNull(tBbsDataParentDB.getBbsDataPw()).equals(SeedUtils.setReplaceNull(bbsDataPw, "N")) && !SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataCertify()).equals(memberCertify)){ + grantChk = false; + } + } + } + + if(!grantChk){ + map.put("message", "common.message.error"); + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + } + + //링크형 게시판 + if(tBbsSetDB.getBbsSetType().equals("L")){ + + if(grantChk){ + //슈퍼관리자, 사이트관리자, 게시판 관리자, 해당 게시글 작성자일때는 수정페이지로 이동 + return new ModelAndView("redirect:/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataEdit/"+bbsDataIdx+ + ".do?page="+paging.getPage()+"&column="+column+"&search="+search+"&bbsDataCategory="+bbsDataCategory); + }else{ + //손님일 경우 해당 링크로 이동 + + //bbsSetDataCookieTime가 0일때는 쿠키없이 카운트 증가 + if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetDataCookieTime(), "0").equals("0")){ + userBbsDataService.setBbsDataHitProc(tBbsDataDB.getBbsDataIdx()); + }else{ + if (SeedUtils.isCookieChk("seedBbsData_" + bbsSetIdx + "_" + bbsDataIdx, + Integer.parseInt(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetDataCookieTime(), "0")), + httpServletRequest, httpServletResponse)) { + userBbsDataService.setBbsDataHitProc(tBbsDataDB.getBbsDataIdx()); + } + } + return new ModelAndView("redirect:"+tBbsDataDB.getBbsDataContent()); + } + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + //bbsSetDataCookieTime가 0일때는 쿠키없이 카운트 증가 + if(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetDataCookieTime(), "0").equals("0")){ + userBbsDataService.setBbsDataHitProc(tBbsDataDB.getBbsDataIdx()); + }else{ + if (SeedUtils.isCookieChk("seedBbsData_" + bbsSetIdx + "_" + bbsDataIdx, + Integer.parseInt(SeedUtils.setReplaceNull(tBbsDataDB.gettBbsSet().getBbsSetDataCookieTime(), "0")), + httpServletRequest, httpServletResponse)) { + userBbsDataService.setBbsDataHitProc(tBbsDataDB.getBbsDataIdx()); + } + } + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemView", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemViewOrder", "bbsItemType"}; + + map.put("bbsItemList", userBbsItemService.getBbsItemList(bbsSetIdx, "View", qryColumnsi)); + + String[] qryColumnsiv = {"bbsItemIdx", "bbsItemGroup", "bbsItemValue", "bbsItemWidth", "bbsItemHeight"}; + + map.put("bbsItemValuesList", userBbsItemService.getBbsItemValuesList(bbsSetIdx, "View", qryColumnsiv)); + + String[] qryColumnsPN = {"groupBy", "bbsCommentCount", "bbsDataIdx", "bbsDataTitle", "bbsDataName", "bbsDataRegDate", "bbsDataGroup", "bbsDataPosition"}; + + //관리자 인경우 모든 글을 가져옴 + boolean grantAuth = false; + + if(memberGrant.equals("S") || memberAuthM || memberAuth){ + grantAuth = true; + } + + map.put("tBbsDataPreDB", userBbsDataService.getBbsDataPreForm(tBbsDataDB, column, search, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData(), "N"), memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryColumnsPN)); + map.put("tBbsDataNextDB", userBbsDataService.getBbsDataNextForm(tBbsDataDB, column, search, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData(), "N"), memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryColumnsPN)); + + String[] qryColumnsc = {"bbsCommentIdx", "bbsCommentContent", "bbsCommentRegDate", "tMember.memberIdx", "tMember.memberId", "tMember.memberName"}; + + paging.setCountc(userBbsCommentService.getBbsCommentListCnt(tBbsDataDB.getBbsDataIdx())); + + map.put("bbsCommentCnt", paging.getCountc()); + map.put("bbsCommentList", userBbsCommentService.getBbsCommentList(tBbsDataDB.getBbsDataIdx(), paging.getPagec(), paging.getRowc(), qryColumnsc)); + + String[] qryColumnsf = {"bbsFileIdx", "bbsFileName", "bbsFileReName", "bbsFileText", "bbsFileType"}; + + map.put("bbsFileList", userBbsFileService.getBbsFileList(tBbsDataDB.getBbsDataIdx(), qryColumnsf)); + + String[] qryColumnsic = {"bbsCategoryName", "bbsCategoryIdxs", "bbsCategoryParentIdx", "bbsCategoryDepth", "bbsCategoryOrder"}; + + map.put("bbsCategoryList", userBbsCategoryService.getBbsCategoryListt(bbsSetIdx, qryColumnsic)); + + //답변게시판일때 해당 글의 답변 글을 가져옴 + if(tBbsDataDB.gettBbsSet().getBbsSetType().equals("W")){ + + T_BBS_DATA tBbsReplyDB = userBbsDataService.getBbsReplyForm(tBbsDataDB.getBbsDataGroup(), tBbsDataDB.getBbsDataFam()); + + if(tBbsReplyDB != null){ + + if(SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataSecret()).equals("Y")){ + + //해당 게시글의 권한이 있으면 답변내용 보여줌 + if(grantChk){ + map.put("tBbsReplyDB", tBbsReplyDB); + map.put("bbsReplyFileList", userBbsFileService.getBbsFileList(tBbsReplyDB.getBbsDataIdx(), qryColumnsf)); + } + + }else{ + + map.put("tBbsReplyDB", tBbsReplyDB); + map.put("bbsReplyFileList", userBbsFileService.getBbsFileList(tBbsReplyDB.getBbsDataIdx(), qryColumnsf)); + } + } + } + + map.put("tBbsDataDB", tBbsDataDB); + map.put("toDate", sdf.format(new Date())); + + map.put("page", paging.getPage()); + map.put("pagec", paging.getPagec()); + map.put("pagesc", paging.getPagesc()); + map.put("blocksc", paging.getBlocksc()); + map.put("blockc", paging.getBlockc()); + map.put("fPagec", paging.getfPagec()); + map.put("lPagec", paging.getlPagec()); + + map.put("column", column); + map.put("search", search); + map.put("bbsDataCategory", bbsDataCategory); + map.put("searchSDate", searchSDate); + map.put("searchEDate", searchEDate); + + map.put("memberAuth", memberAuth); + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + if(tBbsSetDB.getBbsSetType().equals("A")){ + return new ModelAndView("/user/bbs/album/albumDataView"); + }else if(tBbsSetDB.getBbsSetType().equals("M")){ + return new ModelAndView("/user/bbs/movie/movieDataView"); + }else if(tBbsSetDB.getBbsSetType().equals("T")){ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataView"); + }else if(tBbsSetDB.getBbsSetType().equals("E")){ + return new ModelAndView("/user/bbs/event/eventDataView"); + }else if(tBbsSetDB.getBbsSetType().equals("W")){ + return new ModelAndView("/user/bbs/answer/answerDataView"); + }else{ + return new ModelAndView("/user/bbs/bbs/bbsDataView"); + } + } + + @RequestMapping(value = "/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataEdit/{bbsDataIdx}.do", method=RequestMethod.GET) + public ModelAndView getBbsDataEdit(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="bbsDataPw", defaultValue="", required=false) String bbsDataPw, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + T_BBS_DATA tBbsDataDB = userBbsDataService.getBbsDataForm(bbsDataIdx); + + //해당 게시글 상태 확인(U:사용) + if(!tBbsDataDB.getBbsDataStatus().equals("U")){ + map.put("message", "user.bbs.message.no.bbs.data"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + //이벤트 게시판일 경우 해당 글이 이벤트 시작기간이 아닌경우 잘못된 접근으로 처리 + if(tBbsSetDB.getBbsSetType().equals("E")){ + + if(Integer.parseInt(sdf.format(new Date()).replaceAll("-", "")) < Integer.parseInt(SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataEventSdate()).replaceAll("-", ""))){ + map.put("message", "user.bbs.message.no.bbs.data"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + //슈퍼관리자, 사이트관리자, 게시판 관리자, 해당 게시글 작성자가 아닐때 확인 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("tBbsAuthDB", userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify)); + + //해당 게시글에 작성자가 있음 + if(tBbsDataDB.gettMember() != null){ + if(!tBbsDataDB.gettMember().getMemberIdx().equals(memberIdx) && !SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataCertify()).equals(memberCertify)){ + map.put("message", "common.message.error"); + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do"); + return new ModelAndView("/_common/jsp/umessage"); + } + }else{ + if(!SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataPw()).equals(SeedUtils.setReplaceNull(bbsDataPw, "N")) && !SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataCertify()).equals(memberCertify)){ + map.put("message", "common.message.error"); + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + //Temp파일 Code생성 + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyyMMddHHmmss"); + String fileCode = sdfFormat.format(new Date())+String.valueOf(SeedUtils.getRandom(999,1)); + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemText", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemViewOrder", "bbsItemType"}; + + map.put("bbsItemList", userBbsItemService.getBbsItemList(bbsSetIdx, "View", qryColumnsi)); + + String[] qryColumnsiv = {"bbsItemIdx", "bbsItemGroup", "bbsItemValue", "bbsItemWidth", "bbsItemHeight"}; + + map.put("bbsItemValuesList", userBbsItemService.getBbsItemValuesList(bbsSetIdx, "View", qryColumnsiv)); + + String[] qryColumnsic = {"bbsCategoryName", "bbsCategoryIdxs", "bbsCategoryParentIdx", "bbsCategoryDepth", "bbsCategoryOrder"}; + + map.put("bbsCategoryList", userBbsCategoryService.getBbsCategoryListt(bbsSetIdx, qryColumnsic)); + + String[] qryColumnsf = {"bbsFileIdx", "bbsFileName", "bbsFileReName", "bbsFileText", "bbsFileType", "bbsFileSize"}; + + List> tBbsFileList = userBbsFileService.getBbsFileListMap(tBbsDataDB.getBbsDataIdx(), qryColumnsf); + + Long fileSize = 0L; + + if(tBbsFileList != null && tBbsFileList.size() > 0){ + for(int i=0; i < tBbsFileList.size() ; i++){ + Map fileMap = tBbsFileList.get(i); + fileSize += Long.parseLong(fileMap.get("_bbsFileSize").toString()); + } + + Formatter format = new Formatter(); + format.format("%.2f" ,(Float)((Float.parseFloat(fileSize.toString()) / 1024) / 1024)); + String file = format.toString(); + map.put("fileSize", file); + }else{ + map.put("fileSize", fileSize); + } + + map.put("fileMaxSize", tBbsSetDB.getBbsSetFileSize()); + + map.put("bbsFileList", tBbsFileList); + + map.put("fileCode", SeedUtils.getSeedMD5Code(fileCode)); + map.put("tBbsDataDB", tBbsDataDB); + + map.put("page", paging.getPage()); + + map.put("column", column); + map.put("search", search); + map.put("bbsDataCategory", bbsDataCategory); + map.put("searchSDate", searchSDate); + map.put("searchEDate", searchEDate); + + map.put("bbsDataPw", bbsDataPw); + + map.put("memberAuth", memberAuth); + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + if(tBbsSetDB.getBbsSetType().equals("A")){ + return new ModelAndView("/user/bbs/album/albumDataEdit"); + }else if(tBbsSetDB.getBbsSetType().equals("M")){ + return new ModelAndView("/user/bbs/movie/movieDataEdit"); + }else if(tBbsSetDB.getBbsSetType().equals("L")){ + return new ModelAndView("/user/bbs/link/linkDataEdit"); + }else if(tBbsSetDB.getBbsSetType().equals("T")){ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataEdit"); + }else if(tBbsSetDB.getBbsSetType().equals("E")){ + return new ModelAndView("/user/bbs/event/eventDataEdit"); + }else if(tBbsSetDB.getBbsSetType().equals("W")){ + return new ModelAndView("/user/bbs/answer/answerDataEdit"); + }else{ + return new ModelAndView("/user/bbs/bbs/bbsDataEdit"); + } + } + + @RequestMapping(value = "/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataPwForm/{bbsDataIdx}.do") + public ModelAndView getBbsDataPwForm(HttpSession session, + Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="formType", required=true) String formType, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + map.put("bbsSetSkinCode", tBbsSetDB.getBbsSetSkinCode()); + map.put("bbsSetSubType", tBbsSetDB.getBbsSetSubType()); + + map.put("page", paging.getPage()); + + map.put("formType", formType); + map.put("column", column); + map.put("search", search); + map.put("bbsDataCategory", bbsDataCategory); + map.put("searchSDate", searchSDate); + map.put("searchEDate", searchEDate); + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + if(tBbsSetDB.getBbsSetType().equals("A")){ + return new ModelAndView("/user/bbs/album/albumDataPwForm"); + }else if(tBbsSetDB.getBbsSetType().equals("M")){ + return new ModelAndView("/user/bbs/movie/movieDataPwForm"); + }else if(tBbsSetDB.getBbsSetType().equals("T")){ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataPwForm"); + }else if(tBbsSetDB.getBbsSetType().equals("E")){ + return new ModelAndView("/user/bbs/event/eventDataPwForm"); + }else if(tBbsSetDB.getBbsSetType().equals("W")){ + return new ModelAndView("/user/bbs/answer/answerDataPwForm"); + }else{ + return new ModelAndView("/user/bbs/bbs/bbsDataPwForm"); + } + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataCMProc.do", method=RequestMethod.POST) + public ModelAndView setBbsDataCMProc(HttpSession session, HttpServletRequest httpServletRequest, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="dataCMType", required=true) String dataCMType, + @RequestParam(value="selDataCM", required=true) Integer selDataCM, + @RequestParam(value="dataIdxs", required=true) Integer[] dataIdxs, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + boolean success = false; + + httpServletRequest.getHeader("WL-Proxy-Client-IP"); + + String memberIp = httpServletRequest.getRemoteAddr(); + + if(dataCMType.equals("C")){ + + for(int d=dataIdxs.length-1; d>=0; d--){ + + if(userBbsDataService.setBbsDataCopyProc(dataIdxs[d], selDataCM, memberIdx, memberIp, thumbWidth, thumbHeight, rootPath)){ + success = true; + }else{ + success = false; + break; + } + } + + if(success){ + map.put("message", "common.message.copy"); + + //미니리스트 컴파일 + setBbsDataMiniList(siteIdx, selDataCM); + }else{ + map.put("message", "common.message.error.copy"); + } + + }else if(dataCMType.equals("M")){ + + for(int d=dataIdxs.length-1; d>=0; d--){ + + if(userBbsDataService.setBbsDataMoveProc(dataIdxs[d], selDataCM)){ + success = true; + }else{ + success = false; + break; + } + } + + if(success){ + map.put("message", "common.message.move"); + + //미니리스트 컴파일 + setBbsDataMiniList(siteIdx, selDataCM); + }else{ + map.put("message", "common.message.error.move"); + } + } + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataRegProc.do", method=RequestMethod.POST) +// public ModelAndView setBbsDataRegProc(HttpSession session, HttpServletRequest httpServletRequest, MultipartHttpServletRequest multipartHttpServletRequest, Map map, + public ModelAndView setBbsDataRegProc(HttpSession session, HttpServletRequest httpServletRequest, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @RequestParam(value="fileCode", required=true) String fileCode, + @ModelAttribute("T_BBS_DATA") T_BBS_DATA tBbsData, + BindingResult bindingResult) { + + setSessionRemove(session); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberDept = SeedUtils.setReplaceNull(session.getAttribute("memberDept")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify).getBbsAuthWrite().equals("Y")){ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do"); + map.put("message", "user.bbs.message.no.write"); + return new ModelAndView("/_common/jsp/umessage"); + } + + //captcha 기능 사용시 해당 세션과 비교 + if(SeedUtils.setReplaceNull(captchaChk).equals("true")){ + + Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME); + + String captChaValue = SeedUtils.setReplaceNull(httpServletRequest.getParameter("captChaValue")); + + if (captcha.isCorrect(captChaValue)) { + session.removeAttribute(Captcha.NAME); + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataForm.do"); + map.put("message", "common.message.error.reg"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + List upFiles = null; + + String[] fileIdxs = null; + + /*//html5일 경우 해당 파일 확장자 체크 + if(SeedUtils.getBrowserHtml5(httpServletRequest.getHeader("User-Agent").toLowerCase()) && SeedUtils.setReplaceNull(fileMulti).equals("true")){ + + if(!SeedUtils.setReplaceNull(httpServletRequest.getParameterValues("fileIdxs")).equals("")){ + fileIdxs = httpServletRequest.getParameterValues("fileIdxs"); + } + + upFiles = multipartHttpServletRequest.getFiles("upFile"); + + if(upFiles != null && upFiles.size() > 0){ + + for(int f=0; f 0){ + for(int d=0; d -1 && !SeedUtils.setReplaceNull(memberCertify).equals("N")){ + tBbsData.setBbsDataCertify(memberCertify); + } + + Integer bbsDataIdx = userBbsDataService.setBbsDataRegProc(tBbsData, memberIdx, memberIp, fileCode, upFiles, fileEncryChk, filePreviewChk, fileIdxs, thumbWidth, thumbHeight, rootPath); + + if(bbsDataIdx > 0){ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do?bbsDataCategory="+tBbsData.getBbsDataCategory()); + map.put("message", "common.message.reg"); + + //미니리스트 컴파일 + setBbsDataMiniList(siteIdx, bbsSetIdx); + + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataForm.do"); + map.put("message", "common.message.error.reg"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataReplyProc.do", method=RequestMethod.POST) +// public ModelAndView setBbsDataReplyProc(HttpSession session, HttpServletRequest httpServletRequest, MultipartHttpServletRequest multipartHttpServletRequest, Map map, + public ModelAndView setBbsDataReplyProc(HttpSession session, HttpServletRequest httpServletRequest, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("T_BBS_DATA") T_BBS_DATA tBbsData, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="fileCode", required=true) String fileCode, + @RequestParam(value="bbsFamIdx", required=true) Integer bbsFamIdx, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + BindingResult bindingResult){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberDept = SeedUtils.setReplaceNull(session.getAttribute("memberDept")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify).getBbsAuthWrite().equals("Y")){ + map.put("message", "user.bbs.message.no.reply"); + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do"); + return new ModelAndView("/_common/jsp/umessage"); + } + + //captcha 기능 사용시 해당 세션과 비교 + if(SeedUtils.setReplaceNull(captchaChk).equals("true")){ + + Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME); + + String captChaValue = SeedUtils.setReplaceNull(httpServletRequest.getParameter("captChaValue")); + + if (captcha.isCorrect(captChaValue)) { + session.removeAttribute(Captcha.NAME); + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataReply.do?bbsFamIdx="+bbsFamIdx); + map.put("message", "common.message.error.reg"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + List upFiles = null; + + String[] fileIdxs = null; + + /*//html5일 경우 해당 파일 확장자 체크 + if(SeedUtils.getBrowserHtml5(httpServletRequest.getHeader("User-Agent").toLowerCase()) && SeedUtils.setReplaceNull(fileMulti).equals("true")){ + + if(!SeedUtils.setReplaceNull(httpServletRequest.getParameterValues("fileIdxs")).equals("")){ + fileIdxs = httpServletRequest.getParameterValues("fileIdxs"); + } + + upFiles = multipartHttpServletRequest.getFiles("upFile"); + + if(upFiles != null && upFiles.size() > 0){ + + for(int f=0; f 0){ + for(int d=0; d -1 && !SeedUtils.setReplaceNull(memberCertify).equals("N")){ + tBbsData.setBbsDataCertify(memberCertify); + } + + Integer bbsDataIdx = userBbsDataService.setBbsDataReplyProc(tBbsData, bbsFamIdx, memberIdx, memberIp, fileCode, upFiles, fileEncryChk, filePreviewChk, fileIdxs, thumbWidth, thumbHeight, rootPath); + + if(bbsDataIdx > 0){ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do?"+ + "bbsDataCategory="+tBbsData.getBbsDataCategory()+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "page="+paging.getPage()); + map.put("message", "common.message.reg"); + + //미니리스트 컴파일 + setBbsDataMiniList(siteIdx, bbsSetIdx); + + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataReply.do?bbsFamIdx="+bbsFamIdx); + map.put("message", "common.message.error.reg"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataModProc.do", method=RequestMethod.POST) +// public ModelAndView setBbsDataModProc(HttpSession session, HttpServletRequest httpServletRequest, MultipartHttpServletRequest multipartHttpServletRequest, Map map, + public ModelAndView setBbsDataModProc(HttpSession session, HttpServletRequest httpServletRequest, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("T_BBS_DATA") T_BBS_DATA tBbsData, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="fileCode", required=true) String fileCode, + @RequestParam(value="bbsFileIdx", defaultValue="0", required=false) Integer[] bbsFileIdx, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate, + BindingResult bindingResult){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberDept = SeedUtils.setReplaceNull(session.getAttribute("memberDept")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + List upFiles = null; + + String[] fileIdxs = null; + + /*//html5일 경우 해당 파일 확장자 체크 + if(SeedUtils.getBrowserHtml5(httpServletRequest.getHeader("User-Agent").toLowerCase()) && SeedUtils.setReplaceNull(fileMulti).equals("true")){ + + if(!SeedUtils.setReplaceNull(httpServletRequest.getParameterValues("fileIdxs")).equals("")){ + fileIdxs = httpServletRequest.getParameterValues("fileIdxs"); + } + + upFiles = multipartHttpServletRequest.getFiles("upFile"); + + if(upFiles != null && upFiles.size() > 0){ + + for(int f=0; f 0){ + for(int d=0; d= 1){ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+tBbsDataDB.getBbsDataFam()+".do?"+ + "bbsDataPw="+SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw()))+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+tBbsData.getBbsDataIdx()+".do?"+ + "bbsDataPw="+SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw()))+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + } + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+tBbsData.getBbsDataIdx()+".do?"+ + "bbsDataPw="+SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(tBbsData.getBbsDataPw()))+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + } + }else{ + + if(tBbsSetDB.getBbsSetType().equals("W")){ + + T_BBS_DATA tBbsDataDB = userBbsDataService.getBbsDataForm(tBbsData.getBbsDataIdx()); + + if(tBbsDataDB.getBbsDataDepth() >= 1){ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+tBbsDataDB.getBbsDataFam()+".do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+tBbsData.getBbsDataIdx()+".do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + } + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+tBbsData.getBbsDataIdx()+".do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + } + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataModPwProc/{bbsDataIdx}.do", method=RequestMethod.POST) + public ModelAndView setBbsDataModPwProc(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataPw", required=true) String bbsDataPw, + @RequestParam(value="formType", required=true) String formType, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + String success = userBbsDataService.setBbsDataModPwProc(bbsDataIdx, memberIdx, memberGrant, memberAuthM, memberAuth, bbsDataPw); + + if(success.equals("Y")){ + + if(formType.equals("edit")){ + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataEdit/"+bbsDataIdx+".do?"+ + "bbsDataPw="+SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(bbsDataPw))+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + map.put("message", "user.bbs.message.mod"); + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+bbsDataIdx+".do?"+ + "bbsDataPw="+SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(bbsDataPw))+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + map.put("message", "user.bbs.message.view"); + } + }else{ + if(success.equals("PW")){ + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataPwForm/"+bbsDataIdx+".do?"+ + "formType="+formType+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + map.put("message", "common.message.confirm.pw"); + + }else{ + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + map.put("message", "common.message.error"); + } + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataDelProc/{bbsDataIdx}.do", method=RequestMethod.GET) + public ModelAndView setBbsDataDelProc(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataPw", required=true) String bbsDataPw, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + T_BBS_DATA tBbsDataDB = userBbsDataService.getBbsDataForm(bbsDataIdx); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + //이벤트 게시판일 경우 해당 글이 이벤트 시작기간이 아닌경우 잘못된 접근으로 처리 + if(tBbsSetDB.getBbsSetType().equals("E")){ + + if(Integer.parseInt(sdf.format(new Date()).replaceAll("-", "")) < Integer.parseInt(SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataEventSdate()).replaceAll("-", ""))){ + map.put("message", "user.bbs.message.no.bbs.data"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + String success = userBbsDataService.setBbsDataDelProc(bbsDataIdx, memberIdx, memberGrant, memberAuthM, memberAuth, bbsDataPw, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetTrash()), rootPath); + + if(success.equals("Y")){ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do?"+ + "page="+paging.getPage()+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory); + map.put("message", "common.message.del"); + + //미니리스트 컴파일 + setBbsDataMiniList(siteIdx, bbsSetIdx); + + }else{ + if(success.equals("RE")){ + map.put("message", "user.bbs.message.comment"); + }else if(success.equals("PW")){ + map.put("message", "common.message.confirm.pw"); + }else if(success.equals("ERROR")){ + map.put("message", "common.message.error"); + }else{ + map.put("message", "common.message.error.del"); + } + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+bbsDataIdx+".do?"+ + "page="+paging.getPage()+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataDelPwProc/{bbsDataIdx}.do", method=RequestMethod.POST) + public ModelAndView setBbsDataDelPwProc(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataPw", required=true) String bbsDataPw, + @RequestParam(value="formType", required=true) String formType, + @RequestParam(value="search", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + T_BBS_DATA tBbsDataDB = userBbsDataService.getBbsDataForm(bbsDataIdx); + + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); + + //이벤트 게시판일 경우 해당 글이 이벤트 시작기간이 아닌경우 잘못된 접근으로 처리 + if(tBbsSetDB.getBbsSetType().equals("E")){ + + if(Integer.parseInt(sdf.format(new Date()).replaceAll("-", "")) < Integer.parseInt(SeedUtils.setReplaceNull(tBbsDataDB.getBbsDataEventSdate()).replaceAll("-", ""))){ + map.put("message", "user.bbs.message.no.bbs.data"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + String success = userBbsDataService.setBbsDataDelPwProc(bbsDataIdx, memberIdx, memberGrant, memberAuthM, memberAuth, bbsDataPw, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetTrash()), rootPath); + + if(success.equals("Y")){ + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do?"+ + "page="+paging.getPage()+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory); + map.put("message", "common.message.del"); + + }else{ + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+bbsDataIdx+".do?"+ + "bbsDataPw="+SeedUtils.getSeedSHA256Code(SeedUtils.getSeedMD5Code(bbsDataPw))+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + if(success.equals("RE")){ + map.put("message", "user.bbs.message.comment"); + }else if(success.equals("PW")){ + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataPwForm/"+bbsDataIdx+".do?"+ + "formType="+formType+"&"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()); + + map.put("message", "common.message.confirm.pw"); + + map.put("message", "common.message.confirm.pw"); + }else if(success.equals("ERROR")){ + map.put("message", "common.message.error"); + }else{ + map.put("message", "common.message.error.del"); + } + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataStatusProc.do", method=RequestMethod.POST) + public ModelAndView setBbsDataStatusProc(HttpSession session, HttpServletRequest httpServletRequest, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate, + @RequestParam(value="idxs", required=true) Integer[] idxs){ + + setSessionRemove(session); + + setPaging(paging); + + boolean success = false; + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("message", "common.message.no.grant"); + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataList.do"); + return new ModelAndView("/_common/jsp/umessage"); + } + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + httpServletRequest.getHeader("WL-Proxy-Client-IP"); + + String memberIp = httpServletRequest.getRemoteAddr(); + + if(idxs.length > 0){ + for(int i=0; i map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("T_BBS_COMMENT") T_BBS_COMMENT tBbsComment, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate, + BindingResult bindingResult){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history.go(-1)"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history.go(-1)"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + //captcha 기능 사용시 해당 세션과 비교 + if(SeedUtils.setReplaceNull(captchaChk).equals("true")){ + + Captcha captcha = (Captcha) session.getAttribute(Captcha.NAME); + + String captChaValue = SeedUtils.setReplaceNull(httpServletRequest.getParameter("captChaValue")); + + if (captcha.isCorrect(captChaValue)) { + session.removeAttribute(Captcha.NAME); + }else{ + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+bbsDataIdx+".do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()+"&"+ + "pagec=1"); + map.put("message", "user.bbs.message.comment.error.reg"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + httpServletRequest.getHeader("WL-Proxy-Client-IP"); + + String memberIp = httpServletRequest.getRemoteAddr(); + + if(userBbsCommentService.setBbsCommentRegProc(tBbsComment, memberIdx, memberIp)){ + map.put("message", "user.bbs.message.comment.reg"); + }else{ + map.put("message", "user.bbs.message.comment.error.reg"); + } + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+bbsDataIdx+".do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()+"&"+ + "pagec=1"); + + return new ModelAndView("/_common/jsp/umessage"); + } + + @RequestMapping(value = "/user/bbs/proc/{siteIdx}/{bbsSetIdx}/{bbsDataIdx}/{siteMenuIdx}/bbsCommentDelProc/{bbsCommentIdx}.do", method=RequestMethod.GET) + public ModelAndView setBbsCommentDelProc(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="bbsDataIdx") Integer bbsDataIdx, + @PathVariable(value="bbsCommentIdx") Integer bbsCommentIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + + //메뉴 권한설정 + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + + if(userBbsCommentService.setBbsCommentDelProc(bbsCommentIdx)){ + map.put("message", "user.bbs.message.comment.del"); + }else{ + map.put("message", "user.bbs.message.comment.error.del"); + } + + map.put("url", "/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataView/"+bbsDataIdx+".do?"+ + "column="+column+"&"+ + "search="+search+"&"+ + "searchSDate="+searchSDate+"&"+ + "searchEDate="+searchEDate+"&"+ + "bbsDataCategory="+bbsDataCategory+"&"+ + "page="+paging.getPage()+"&"+ + "pagec=1"); + + return new ModelAndView("/_common/jsp/umessage"); + } + + //미니게시판 컴파일 + public void setBbsDataMiniList(String siteIdx, Integer bbsSetIdx){ + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + /* + String bbsManager = ""; + + Iterator iteratorList = tBbsSetDB.gettBbsManagers().iterator(); + + while(iteratorList.hasNext()){ + + T_BBS_MANAGER tBbsManagerDB = iteratorList.next(); + + if(tBbsManagerDB.getBbsManagerStatus().equals("U")){ + bbsManager += "|" + tBbsManagerDB.gettMember().getMemberIdx() + "|,"; + } + } + + if(!bbsManager.equals("")){ + bbsManager = bbsManager.substring(0, bbsManager.length()-1); + } + */ + + boolean bbsDataContent = false; + + ArrayList> bbsDataMiniArrayList = new ArrayList>(); + + ArrayList bbsItemGroupList = new ArrayList(); + + ArrayList bbsItemMiniLengthList = new ArrayList(); + + ArrayList qryArrayList = new ArrayList(); + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemMiniList", "bbsItemStatus", "bbsItemMiniOrder", "bbsItemDataMiniLength"}; + + List> tBbsItemList = userBbsItemService.getBbsItemMiniList(bbsSetIdx, qryColumnsi); + + qryArrayList.add("bbsDataIdx"); + qryArrayList.add("tMember.memberIdx"); + qryArrayList.add("bbsDataGroup"); + qryArrayList.add("bbsDataPosition"); + qryArrayList.add("bbsDataThumb"); + qryArrayList.add("bbsDataThumbText"); + qryArrayList.add("bbsDataRegDate"); + + for(int i=0; i bbsItemMap = (Map)tBbsItemList.get(i); + + bbsItemGroupList.add("_"+bbsItemMap.get("_bbsItemGroup").toString()); + bbsItemMiniLengthList.add(Integer.parseInt(bbsItemMap.get("_bbsItemDataMiniLength").toString())); + + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataFile")){ + qryArrayList.add("bbsFileCount"); + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataContent")){ + bbsDataContent = true; + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataEventDate")){ + qryArrayList.add("bbsDataEventSdate"); + qryArrayList.add("bbsDataEventEdate"); + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataRegDate")){ + continue; + }else{ + qryArrayList.add(bbsItemMap.get("_bbsItemGroup").toString()); + } + + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataName")){ + if(SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDataSaveType()).equals("memberDept")){ + qryArrayList.add("bbsDataDept"); + }else{ + qryArrayList.add("tMember.memberName"); + } + } + } + + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyy-MM-dd"); + + String toDate = sdfFormat.format(new Date()); + + String filePath = rootPath + "/" + siteIdx + "/jsp/bbs"; + + String bbsSkin = "/img/user/bbs"; + + if(!tBbsSetDB.getBbsSetSkinCode().equals("basic")){ + bbsSkin = "/site/"+siteIdx+"/jsp/bbs/skin/"+tBbsSetDB.getBbsSetSkinCode()+"/_images"; + } + + SeedUtils.setSeedMkDirs(filePath); + + FileOutputStream jspFileOutputStream = null; + OutputStreamWriter jspOutputStreamWriter = null; + BufferedWriter jspWriter = null; + + try{ + + jspFileOutputStream = new FileOutputStream(filePath + "/bbs_" + bbsSetIdx+".jsp"); + jspOutputStreamWriter = new OutputStreamWriter(jspFileOutputStream, "UTF-8"); + jspWriter = new BufferedWriter(jspOutputStreamWriter); + + jspWriter.write("<%@ page language='java' contentType='text/html; charset=UTF-8'%>"); + jspWriter.write("\n"); + jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags' prefix='s'%>"); + jspWriter.write("\n"); + jspWriter.write("<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%>"); + jspWriter.write("\n"); + jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/functions' prefix='fn'%>"); + jspWriter.write("\n"); + jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c'%>"); + jspWriter.write("\n"); + jspWriter.write("<%@ taglib uri='http://java.sun.com/jsp/jstl/fmt' prefix='fmt'%>"); + jspWriter.write("\n"); + jspWriter.write("\n"); + jspWriter.write("\" />"); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write("\n"); + /* + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write("\n"); + */ + + if(tBbsSetDB == null || !tBbsSetDB.getBbsSetStatus().equals("U")){ + + jspWriter.write("
  • "); + jspWriter.write("\n"); + + jspWriter.write(""); + + jspWriter.write("\n"); + jspWriter.write("
  • "); + + }else{ + + int miniRow = 0; + String siteMenuIdxs[] = SeedUtils.setReplaceNull(tBbsSetDB.getSiteMenuIdxs(), "0").split("\\|"); + + if((tBbsSetDB.getBbsSetType().equals("A") || tBbsSetDB.getBbsSetType().equals("M")) && + (tBbsSetDB.getBbsSetSubType().equals("G"))){ + miniRow = tBbsSetDB.getBbsSetDataMiniRow() * tBbsSetDB.getBbsSetDataMiniCol(); + }else{ + miniRow = tBbsSetDB.getBbsSetDataMiniRow(); + } + + List> bbsDataMiniList = userBbsDataService.getBbsDataMiniList(bbsSetIdx, 1, miniRow, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDateOrder(), "N"), qryArrayList); + + if(bbsDataContent){ + + for(int i=0; i bbsDataMiniMap = bbsDataMiniList.get(i); + + bbsDataMiniMap.put("_bbsDataContent", SeedUtils.setTagRemove(userBbsDataService.getBbsDataForm(Integer.parseInt(bbsDataMiniMap.get("_bbsDataIdx").toString())).getBbsDataContent())); + bbsDataMiniArrayList.add(bbsDataMiniMap); + } + + if(bbsDataMiniArrayList.size() > 0){ + + for(int i=0; i"); + jspWriter.write("\n"); + + Map bbsDataMiniMap = bbsDataMiniArrayList.get(i); + + jspWriter.write(""); + jspWriter.write("\n"); + + //new_icon.gif 나올지 안나올지 확인 + String bbsDataRegDate = SeedUtils.setReplaceNull(bbsDataMiniMap.get("_bbsDataRegDate").toString()); + + if(!bbsDataRegDate.equals("") && bbsDataRegDate.length() > 10){ + bbsDataRegDate = bbsDataRegDate.substring(0, 10); + } + + if(bbsDataRegDate.equals(toDate)){ + bbsDataRegDate = "<s:message code=' />"; + }else{ + bbsDataRegDate = ""; + } + + for(int j=0; j 10){ + bbsDataRegDateTmp = bbsDataRegDateTmp.substring(0, 10); + } + + bbsDataMiniMapData = bbsDataRegDateTmp; + + }else if(bbsItemGroupList.get(j).toString().equals("_bbsDataThumb")){ + String bbsDataThumb = SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())); + String fileChk = bbsDataThumb.substring(0, bbsDataThumb.indexOf("_") + 1); + + if(fileChk.equals(bbsSetIdx+"_")){ + bbsDataThumb = "/site/"+tBbsSetDB.gettSite().getSiteIdx()+"/upload/bbs/"+bbsSetIdx+"/thumb_"+bbsDataThumb; + } + bbsDataMiniMapData = ""+SeedUtils.setReplaceNull(bbsDataMiniMap.get("_bbsDataThumbText"))+""; + }else if(bbsItemGroupList.get(j).toString().equals("_bbsDataName")){ + if(SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())).equals("")){ + bbsDataMiniMapData = SeedUtils.setReplaceNull(bbsDataMiniMap.get("_memberName")); + }else{ + bbsDataMiniMapData = SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())); + } + }else{ + + bbsDataMiniMapData = SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())); + + if(bbsDataMiniMapData.length() > bbsItemMiniLengthList.get(j) && Integer.parseInt(bbsItemMiniLengthList.get(j).toString()) > 0){ + bbsDataMiniMapData = bbsDataMiniMapData.substring(0, bbsItemMiniLengthList.get(j)) + ".."; + } + + if(!bbsDataRegDate.equals("")){ + bbsDataMiniMapData = bbsDataMiniMapData + bbsDataRegDate; + bbsDataRegDate = ""; + } + } + + jspWriter.write(""+bbsDataMiniMapData+""); + } + + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + } + }else{ + + jspWriter.write("
  • "); + jspWriter.write("\n"); + + jspWriter.write(""); + + jspWriter.write("\n"); + jspWriter.write("
  • "); + } + + }else{ + + if(bbsDataMiniList.size() > 0){ + + for(int i=0; i"); + jspWriter.write("\n"); + + Map bbsDataMiniMap = bbsDataMiniList.get(i); + + jspWriter.write(""); + jspWriter.write("\n"); + + //new_icon.gif 나올지 안나올지 확인 + String bbsDataRegDate = SeedUtils.setReplaceNull(bbsDataMiniMap.get("_bbsDataRegDate").toString()); + + if(!bbsDataRegDate.equals("") && bbsDataRegDate.length() > 10){ + bbsDataRegDate = bbsDataRegDate.substring(0, 10); + } + + if(bbsDataRegDate.equals(toDate)){ + bbsDataRegDate = "<s:message code=' />"; + }else{ + bbsDataRegDate = ""; + } + + for(int j=0; j 10){ + bbsDataRegDateTmp = bbsDataRegDateTmp.substring(0, 10); + } + + bbsDataMiniMapData = bbsDataRegDateTmp; + + }else if(bbsItemGroupList.get(j).toString().equals("_bbsDataThumb")){ + String bbsDataThumb = SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())); + String fileChk = bbsDataThumb.substring(0, bbsDataThumb.indexOf("_") + 1); + + if(fileChk.equals(bbsSetIdx+"_")){ + bbsDataThumb = "/site/"+tBbsSetDB.gettSite().getSiteIdx()+"/upload/bbs/"+bbsSetIdx+"/thumb_"+bbsDataThumb; + } + bbsDataMiniMapData = ""+SeedUtils.setReplaceNull(bbsDataMiniMap.get("_bbsDataThumbText"))+""; + }else if(bbsItemGroupList.get(j).toString().equals("_bbsDataName")){ + if(SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())).equals("")){ + bbsDataMiniMapData = SeedUtils.setReplaceNull(bbsDataMiniMap.get("_memberName")); + }else{ + bbsDataMiniMapData = SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())); + } + }else{ + + bbsDataMiniMapData = SeedUtils.setReplaceNull(bbsDataMiniMap.get(bbsItemGroupList.get(j).toString())); + + if(bbsDataMiniMapData.length() > bbsItemMiniLengthList.get(j) && Integer.parseInt(bbsItemMiniLengthList.get(j).toString()) > 0){ + bbsDataMiniMapData = bbsDataMiniMapData.substring(0, bbsItemMiniLengthList.get(j)) + ".."; + } + + if(!bbsDataRegDate.equals("")){ + bbsDataMiniMapData = bbsDataMiniMapData + bbsDataRegDate; + bbsDataRegDate = ""; + } + } + + jspWriter.write(""+bbsDataMiniMapData+""); + } + + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + jspWriter.write(""); + jspWriter.write("\n"); + } + }else{ + + jspWriter.write("
  • "); + jspWriter.write("\n"); + + jspWriter.write(""); + + jspWriter.write("\n"); + jspWriter.write("
  • "); + } + } + } + + jspWriter.flush(); + + SeedFtpType seedFtpType = new SeedFtpType(); + + //WEB 서버의 경로 + seedFtpType.setDestFilePath(siteIdx + "/jsp/bbs"); + //WAS 서버의 경로 + seedFtpType.setSrcFilePath(rootPath + "/" + siteIdx + "/jsp/bbs"); + //WAS 파일명 + seedFtpType.setFileName("bbs_" + bbsSetIdx+".jsp"); + //파일 전송 타입 regFile=파일전송, delFile=파일삭제 + seedFtpType.setFtpType("regFile"); + seedFtpType.setSeedFtp(); + + }catch(FileNotFoundException e){ + log.error("CHECK ERROR:",e); + }catch(IOException e){ + log.error("CHECK ERROR:",e); + }finally{ + if(jspWriter!=null){try{jspWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}} + if(jspOutputStreamWriter!=null){try{jspOutputStreamWriter.close();}catch(IOException e){log.error("CHECK ERROR:",e);}} + if(jspFileOutputStream!=null){try{jspFileOutputStream.close();}catch(IOException e){log.error("CHECK ERROR:",e);}} + } + } +} diff --git a/src/main/java/seed/user/bbs/web/WebUserBbsController.java b/src/main/java/seed/user/bbs/web/WebUserBbsController.java new file mode 100644 index 00000000..b293cd3f --- /dev/null +++ b/src/main/java/seed/user/bbs/web/WebUserBbsController.java @@ -0,0 +1,603 @@ +package seed.user.bbs.web; + +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.apache.log4j.Logger; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RequestParam; +import org.springframework.web.servlet.ModelAndView; + +import seed.manager.bbs.service.ManagerBbsManagerService; +import seed.manager.group.service.ManagerGroupService; +import seed.manager.member.service.ManagerMemberService; +import seed.manager.site.service.ManagerSiteManagerService; +import seed.manager.site.service.ManagerSiteMenuAuthService; +import seed.manager.site.service.ManagerSiteMenuManagerService; +import seed.manager.site.service.ManagerSiteMenuService; +import seed.map.T_BBS_DATA; +import seed.map.T_BBS_FILE; +import seed.map.T_BBS_ITEM; +import seed.map.T_BBS_SET; +import seed.user.bbs.service.UserBbsAuthService; +import seed.user.bbs.service.UserBbsCategoryService; +import seed.user.bbs.service.UserBbsCommentService; +import seed.user.bbs.service.UserBbsDataService; +import seed.user.bbs.service.UserBbsFileService; +import seed.user.bbs.service.UserBbsItemService; +import seed.user.bbs.service.UserBbsSetService; +import seed.utils.FairnetUtils; +import seed.utils.Paging; +import seed.utils.SeedUtils; + +@Controller +public class WebUserBbsController { + + private Logger log = Logger.getLogger(this.getClass()); + + @Autowired + private ManagerSiteManagerService managerSiteManagerService; + + @Autowired + private ManagerSiteMenuService managerSiteMenuService; + + @Autowired + private ManagerSiteMenuManagerService managerSiteMenuManagerService; + + @Autowired + private ManagerSiteMenuAuthService managerSiteMenuAuthService; + + @Autowired + private ManagerGroupService managerGroupService; + + @Autowired + private ManagerMemberService managerMemberService; + + @Autowired + private ManagerBbsManagerService managerBbsManagerService; + + @Autowired + private UserBbsSetService userBbsSetService; + + @Autowired + private UserBbsCategoryService userBbsCategoryService; + + @Autowired + private UserBbsAuthService userBbsAuthService; + + @Autowired + private UserBbsItemService userBbsItemService; + + @Autowired + private UserBbsDataService userBbsDataService; + + @Autowired + private UserBbsFileService userBbsFileService; + + @Autowired + private UserBbsCommentService userBbsCommentService; + + @Value("#{config['root.path']}") + private String rootPath; + + @Value("#{config['file.encryption']}") + private String fileEncryption; + + @Value("#{config['file.encryption.type']}") + private String fileEncryptionType; + + @Value("#{config['file.preview']}") + private String filePreview; + + @Value("#{config['thumb.width']}") + private Integer thumbWidth; + + @Value("#{config['thumb.height']}") + private Integer thumbHeight; + + @Value("#{config['member.merge']}") + private String memberMerge; + + @Value("#{config['member.merge.siteIdx']}") + private String memberMergeSiteIdx; + + @Value("#{config['captcha']}") + private String captchaChk; + + @Value("#{config['file.multi']}") + private String fileMulti; + + private void setSessionRemove(HttpSession session){ + session.removeAttribute("url"); + session.removeAttribute("message"); + session.removeAttribute("opener"); + session.removeAttribute("append"); + session.removeAttribute("self"); + } + + private void setPaging(@ModelAttribute("paging") Paging paging){ + + if(paging != null){ + if(paging.getPage() == null){paging.setPage(1);} + if(paging.getRow() == null){paging.setRow(10);} + if(paging.getPagec() == null){paging.setPagec(1);} + if(paging.getRowc() == null){paging.setRowc(10);} + } + } + + @RequestMapping(value="/web/user/bbs/{siteIdx}/{bbsSetIdx}/{siteMenuIdx}/bbsDataList.do") + public ModelAndView getBbsDataList(HttpSession session, Map map, + @PathVariable(value="siteIdx") String siteIdx, + @PathVariable(value="bbsSetIdx") Integer bbsSetIdx, + @PathVariable(value="siteMenuIdx") Integer siteMenuIdx, + @ModelAttribute("paging") Paging paging, + @RequestParam(value="column", defaultValue="", required=false) String column, + @RequestParam(value="search", defaultValue="", required=false) String search, + @RequestParam(value="bbsDataCategory", defaultValue="", required=false) String bbsDataCategory, + @RequestParam(value="searchSDate", defaultValue="", required=false) String searchSDate, + @RequestParam(value="searchEDate", defaultValue="", required=false) String searchEDate){ + + setSessionRemove(session); + + setPaging(paging); + + T_BBS_SET tBbsSetDB = userBbsSetService.getBbsSetForm(bbsSetIdx); + + if(!tBbsSetDB.getBbsSetStatus().equals("U")){ + map.put("message", "common.message.no.bbs"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + + if(tBbsSetDB.getBbsSetType().equals("R")){ //신청폼 게시판일 경우 bbsDataForm 으로 이동 + return new ModelAndView("redirect:/user/bbs/"+siteIdx+"/"+bbsSetIdx+"/"+siteMenuIdx+"/bbsDataForm.do"); + } + + Integer memberIdx = Integer.valueOf(SeedUtils.setReplaceNull(session.getAttribute("memberIdx"),"0")); + String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); + boolean memberAuthM = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + boolean memberAuth = managerBbsManagerService.getBbsManagerListCnt(bbsSetIdx, memberIdx); + String memberCertify = SeedUtils.setReplaceNull(session.getAttribute("memberCertify"), "N"); + + //메뉴 권한설정 + /* + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth && + !managerSiteMenuAuthService.getSiteMenuAuthChk(siteMenuIdx, memberIdx)){ + + map.put("message", "common.message.no.grant"); + + if(memberIdx.equals(0)){ + map.put("url", "/"+siteIdx+"/index.do"); + }else{ + map.put("self", "history"); + } + + return new ModelAndView("/_common/jsp/umessage"); + } + */ + + boolean b_ret = true; + b_ret = FairnetUtils.hasUserAuth(memberIdx, memberGrant, memberAuth, session, map); + + if (!b_ret) { + return new ModelAndView("/_common/jsp/message"); + } + + System.out.println("a"); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + map.put("tBbsAuthDB", userBbsAuthService.getBbsAuthForm(bbsSetIdx, memberIdx, tBbsSetDB.getBbsSetCertify(), memberCertify)); + } + + Map tSiteMenuDB = managerSiteMenuService.getSiteMenuMapForm(siteMenuIdx, + new String[] {"siteMenuName", "siteMenuParentTitle", "siteMenuStatus", "siteMenuType", "siteMenuLinkUrl", "siteMenuCharge", "siteMenuCharge", "siteMenuSNS", + "siteMenuTitle", "siteMenuRegDate", "siteMenuModDate", "siteMenuNameType", "siteMenuIdxs", "siteMenuDepth", "siteMenuSatisfaction", "siteMenuIdx1", + "tSite.siteActiveMenuWidth", "tSite.siteService", "tSite.siteServiceSdate", "tSite.siteServiceSdate"}); + + System.out.println("ab"); + + if(!memberGrant.equals("S") && !memberAuthM && !memberAuth){ + if(!SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuStatus")).equals("U")){ + map.put("message", "common.message.no.siteMenu"); + map.put("self", "history"); + return new ModelAndView("/_common/jsp/umessage"); + } + } + + System.out.println("ac"); + + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteService")).equals("Y")){ + + SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd"); + + try{ + + Date getDate = new Date(); + + Date sDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceSdate"))); + Date eDate = formatter.parse(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteServiceEdate"))); + + if((sDate.compareTo(formatter.parse(formatter.format(getDate))) > 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) > 0) || + (sDate.compareTo(formatter.parse(formatter.format(getDate))) < 0 && eDate.compareTo(formatter.parse(formatter.format(getDate))) < 0)){ + return new ModelAndView("redirect:/user/common/service/"+siteIdx+".do"); + } + + }catch(ParseException e){ + log.error("CHECK ERROR:",e); + } + } + + StringBuffer siteMenuManagerIdx = new StringBuffer(); + String siteMenuCharge = SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuCharge"), "N"); + + List> siteMenuManagerList = + managerSiteMenuManagerService.getSiteMenuManagerMapList(siteMenuIdx, new String[] {"siteMenuManagerStatus", "tMember.memberIdx"}); + + for(int i=0; i tSiteMenuManagerDB = siteMenuManagerList.get(i); + + if(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_siteMenuManagerStatus")).equals("U")){ + siteMenuManagerIdx.append(SeedUtils.setReplaceNull(tSiteMenuManagerDB.get("_memberIdx")).toString()); + siteMenuManagerIdx.append(","); + } + } + + //담당자 보기 설정 + map.put("siteMenuCharge", siteMenuCharge); + //담당자 이름 + map.put("siteMenuManagerIdx", siteMenuManagerIdx.toString()); + //만족도 설정 + map.put("siteMenuSatisfaction", SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuSatisfaction"), "N")); + + map.put("siteMenuSubTitle", managerSiteMenuService.getSiteMenuSubTitleForm(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdx1")))); + + map.put("siteMenuSNS", tSiteMenuDB.get("_siteMenuSNS")); + + String siteMenuTitle = managerSiteMenuService.getSiteMenuParentName(siteIdx, SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuIdxs")), "edit").replaceAll("》", "|") + + " | " + SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuName")); + + map.put("siteMenuTitle", siteMenuTitle); + + //부모메뉴 타이틀 설정한 경우 해당 글의 부모 타이틀을 가져옴 + if(SeedUtils.setReplaceNull(tSiteMenuDB.get("_siteMenuParentTitle") ,"N").equals("Y")){ + String[] siteMenuTitles = siteMenuTitle.split("\\|"); + tSiteMenuDB.put("_siteMenuName", siteMenuTitles[Integer.parseInt(tSiteMenuDB.get("_siteMenuDepth").toString())-1]); + } + + map.put("tSiteMenuDB", tSiteMenuDB); + + if((tBbsSetDB.getBbsSetType().equals("A") || tBbsSetDB.getBbsSetType().equals("M") || tBbsSetDB.getBbsSetType().equals("T")) && + (tBbsSetDB.getBbsSetSubType().equals("G"))){ + paging.setRow(tBbsSetDB.getBbsSetDataRow() * tBbsSetDB.getBbsSetDataCol()); + }else{ + paging.setRow(tBbsSetDB.getBbsSetDataRow()); + } + + ArrayList qryArrayList = new ArrayList(); + boolean bbsDataContent = false; + boolean bbsDataReplyStatus = false; + + //앨범게시판, 동영상게시판, 썸네일+파일게시판 일때는 해당 컬럼만 가져옴 (앨범, 동영상, 썸네일 게시판이 *목록+아이템 형* 이 아닐때) + if((tBbsSetDB.getBbsSetType().equals("A") || tBbsSetDB.getBbsSetType().equals("M") || tBbsSetDB.getBbsSetType().equals("T") || tBbsSetDB.getBbsSetType().equals("E")) + && !tBbsSetDB.getBbsSetSubType().equals("I")){ + + qryArrayList.add("bbsDataIdx"); + qryArrayList.add("bbsDataDepth"); + qryArrayList.add("bbsDataGroup"); + qryArrayList.add("bbsDataPosition"); + qryArrayList.add("bbsCommentCount"); + qryArrayList.add("bbsDataThumb"); + qryArrayList.add("bbsDataThumbText"); + qryArrayList.add("bbsDataTitle"); + qryArrayList.add("bbsDataRegDate"); + qryArrayList.add("bbsDataName"); + qryArrayList.add("bbsDataPw"); + qryArrayList.add("bbsDataCertify"); + qryArrayList.add("bbsDataDept"); + qryArrayList.add("tMember.memberIdx"); + qryArrayList.add("tMember.memberName"); + + //이벤트게시판일 경우 해당 이벤트 기간 시작일~종료일을 가져옴 + if(tBbsSetDB.getBbsSetType().equals("E")){ + qryArrayList.add("bbsDataEventSdate"); + qryArrayList.add("bbsDataEventEdate"); + qryArrayList.add("bbsDataEventUrl"); + qryArrayList.add("bbsDataEventResultUrl"); + } + + if(tBbsSetDB.getBbsSetSubType().equals("L")){ //리스트인 경우에만 내용 가져옴 + bbsDataContent = true; + } + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemListOrder", "bbsItemType", "bbsItemDataLength"}; + + map.put("bbsItemList", userBbsItemService.getBbsItemList(bbsSetIdx, "List", qryColumnsi)); + + }else{ + + qryArrayList.add("bbsDataIdx"); + qryArrayList.add("bbsDataDepth"); + qryArrayList.add("bbsDataGroup"); + qryArrayList.add("bbsDataFam"); + qryArrayList.add("bbsDataPosition"); + qryArrayList.add("bbsDataSecret"); + qryArrayList.add("bbsCommentCount"); + qryArrayList.add("bbsDataPw"); + qryArrayList.add("bbsDataCertify"); + qryArrayList.add("bbsDataLinkUrl"); + qryArrayList.add("bbsDataLinkType"); + qryArrayList.add("bbsDataRegDate"); + qryArrayList.add("tMember.memberIdx"); + + String[] qryColumnsi = {"groupBy", "bbsItemGroup", "bbsItemPattern", "bbsItemWL", "bbsItemName", "bbsItemColWidth", + "bbsItemEssential", "bbsItemList", "bbsItemLink", "bbsItemSearch", + "bbsItemStatus", "bbsItemListOrder", "bbsItemType", "bbsItemDataLength", "bbsItemActiveHidden"}; + + List> tBbsItemList = userBbsItemService.getBbsItemList(bbsSetIdx, "List", qryColumnsi); + + map.put("bbsItemList", tBbsItemList); + map.put("bbsItemListCnt", tBbsItemList.size()); + + String[] qryColumnsiv = {"bbsItemIdx", "bbsItemGroup", "bbsItemValue", "bbsItemWidth", "bbsItemHeight"}; + + map.put("bbsItemValuesList", userBbsItemService.getBbsItemValuesList(bbsSetIdx, "List", qryColumnsiv)); + + for(int i=0; i bbsItemMap = (Map)tBbsItemList.get(i); + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemList")).toString().equals("Y") && + SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemStatus")).toString().equals("U")){ + + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataFile")){ + qryArrayList.add("bbsFileCount"); + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataContent")){ + bbsDataContent = true; + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataReplyStatus")){ + bbsDataReplyStatus = true; + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataEventDate")){ + qryArrayList.add("bbsDataEventSdate"); + qryArrayList.add("bbsDataEventEdate"); + }else if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataRegDate")){ + continue; + }else{ + qryArrayList.add(bbsItemMap.get("_bbsItemGroup").toString()); + } + + if(SeedUtils.setReplaceNull(bbsItemMap.get("_bbsItemGroup")).toString().equals("bbsDataName")){ + if(SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDataSaveType()).equals("memberDept")){ + qryArrayList.add("bbsDataDept"); + }else{ + qryArrayList.add("tMember.memberName"); + } + } + } + } + } + + if(tBbsSetDB.getBbsSetType().equals("B") || tBbsSetDB.getBbsSetType().equals("F") || tBbsSetDB.getBbsSetType().equals("L") || tBbsSetDB.getBbsSetType().equals("W")){ + + List> bbsNoticeDataMapList = userBbsDataService.getBbsNoticeDataList(bbsSetIdx, column, search, SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDateOrder(), "N"), bbsDataCategory, searchSDate, searchEDate, qryArrayList); + + if(tBbsSetDB.getBbsSetType().equals("F") || tBbsSetDB.getBbsSetType().equals("L")){ + + ArrayList bbsNoticeFileMapList = new ArrayList(); + + for(int n=0; n bbsDataMap = bbsNoticeDataMapList.get(n); + Integer bbsDataIdx = Integer.parseInt(bbsDataMap.get("_bbsDataIdx").toString()); + + String[] qryColumnsf = null; + + List bbsFileList = userBbsFileService.getBbsFileList(bbsDataIdx, qryColumnsf); + + for(int f=0; f bbsNoticeDataMap = bbsNoticeDataMapList.get(i); + + bbsNoticeDataMap.put("_bbsDataContent", SeedUtils.setTagRemove(userBbsDataService.getBbsDataForm(Integer.parseInt(bbsNoticeDataMap.get("_bbsDataIdx").toString())).getBbsDataContent())); + } + } + + //답변게시판일때 해당 글의 답변 글의 답변상태를 가져옴 + if(bbsDataReplyStatus && tBbsSetDB.getBbsSetType().equals("W")){ + + for(int i=0; i bbsNoticeDataMap = bbsNoticeDataMapList.get(i); + + T_BBS_DATA tBbsReplyDB = userBbsDataService.getBbsReplyForm(Integer.parseInt(bbsNoticeDataMap.get("_bbsDataGroup").toString()), Integer.parseInt(bbsNoticeDataMap.get("_bbsDataFam").toString())); + + if(tBbsReplyDB != null){ + bbsNoticeDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataReplyStatus())); + bbsNoticeDataMap.put("_bbsDataReplySecret", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataSecret())); + bbsNoticeDataMap.put("_bbsDataReplyMemberIdx", SeedUtils.setReplaceNull(tBbsReplyDB.gettMember().getMemberIdx())); + }else{ + + //데이타가 없을때 ITEM VALEUS값의 가장 상단의 데이타를 가져옴 + T_BBS_ITEM tBbsItemDB = userBbsItemService.getBbsItemValueForm(bbsSetIdx, "bbsDataReplyStatus"); + + bbsNoticeDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsItemDB.getBbsItemValue())); + bbsNoticeDataMap.put("_bbsDataReplySecret", "N"); + bbsNoticeDataMap.put("_bbsDataReplyMemberIdx", ""); + } + } + } + + map.put("bbsNoticeDataList", bbsNoticeDataMapList); + } + + //관리자 인경우 모든 글을 가져옴 + boolean grantAuth = false; + + if(memberGrant.equals("S") || memberAuthM || memberAuth){ + grantAuth = true; + } + + paging.setCount(userBbsDataService.getBbsDataListCnt(bbsSetIdx, column, search, + tBbsSetDB.getBbsSetType(), SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData(), "N"), memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryArrayList)); + + map.put("bbsDataCnt", paging.getCount()); + + List> bbsDataMapList = userBbsDataService.getBbsDataList(bbsSetIdx, paging.getPage(), paging.getRow(), column, search, + SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetDateOrder(), "N"), tBbsSetDB.getBbsSetType(), SeedUtils.setReplaceNull(tBbsSetDB.getBbsSetMyData(), "N"), memberIdx, memberCertify, grantAuth, bbsDataCategory, searchSDate, searchEDate, qryArrayList); + + if(tBbsSetDB.getBbsSetType().equals("F") || tBbsSetDB.getBbsSetType().equals("L")){ + + ArrayList bbsFileMapList = new ArrayList(); + + for(int n=0; n bbsDataMap = bbsDataMapList.get(n); + Integer bbsDataIdx = Integer.parseInt(bbsDataMap.get("_bbsDataIdx").toString()); + + String[] qryColumnsf = null; + + List bbsFileList = userBbsFileService.getBbsFileList(bbsDataIdx, qryColumnsf); + + for(int f=0; f bbsDataMap = bbsDataMapList.get(i); + + bbsDataMap.put("_bbsDataContent", SeedUtils.setTagRemove(userBbsDataService.getBbsDataForm(Integer.parseInt(bbsDataMap.get("_bbsDataIdx").toString())).getBbsDataContent())); + } + } + + //답변게시판일때 해당 글의 답변 글의 답변상태를 가져옴 + if(bbsDataReplyStatus && tBbsSetDB.getBbsSetType().equals("W")){ + + for(int i=0; i bbsDataMap = bbsDataMapList.get(i); + + T_BBS_DATA tBbsReplyDB = userBbsDataService.getBbsReplyForm(Integer.parseInt(bbsDataMap.get("_bbsDataGroup").toString()), Integer.parseInt(bbsDataMap.get("_bbsDataFam").toString())); + + if(tBbsReplyDB != null){ + bbsDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataReplyStatus())); + bbsDataMap.put("_bbsDataReplySecret", SeedUtils.setReplaceNull(tBbsReplyDB.getBbsDataSecret())); + bbsDataMap.put("_bbsDataReplyMemberIdx", SeedUtils.setReplaceNull(tBbsReplyDB.gettMember().getMemberIdx())); + }else{ + + //데이타가 없을때 ITEM VALEUS값의 가장 상단의 데이타를 가져옴 + T_BBS_ITEM tBbsItemDB = userBbsItemService.getBbsItemValueForm(bbsSetIdx, "bbsDataReplyStatus"); + + bbsDataMap.put("_bbsDataReplyStatus", SeedUtils.setReplaceNull(tBbsItemDB.getBbsItemValue())); + bbsDataMap.put("_bbsDataReplySecret", "N"); + bbsDataMap.put("_bbsDataReplyMemberIdx", ""); + } + } + } + + map.put("bbsDataList", bbsDataMapList); + + String[] qryColumnsic = {"bbsCategoryName", "bbsCategoryIdxs", "bbsCategoryParentIdx", "bbsCategoryDepth", "bbsCategoryOrder"}; + + map.put("bbsCategoryList", userBbsCategoryService.getBbsCategoryListt(bbsSetIdx, qryColumnsic)); + + SimpleDateFormat sdfFormat = new SimpleDateFormat("yyyy-MM-dd"); + + map.put("bbsSetTypeList", userBbsSetService.getBbsSetList(siteIdx, bbsSetIdx, tBbsSetDB.getBbsSetType(), new String[] {"bbsSetIdx", "bbsSetName", "bbsSetType"})); + map.put("tBbsSetDB", tBbsSetDB); + map.put("toDate", sdfFormat.format(new Date())); + + map.put("page", paging.getPage()); + map.put("row", paging.getRow()); + map.put("pages", paging.getPages()); + map.put("blocks", paging.getBlocks()); + map.put("block", paging.getBlock()); + map.put("fPage", paging.getfPage()); + map.put("lPage", paging.getlPage()); + + map.put("column", column); + map.put("search", search); + map.put("bbsDataCategory", bbsDataCategory); + map.put("searchSDate", searchSDate); + map.put("searchEDate", searchEDate); + + map.put("memberAuth", memberAuth); + map.put("memberAuthM", memberAuthM); + map.put("seedMenuAuth", managerGroupService.getGroupList(siteIdx, memberIdx, memberMerge, memberMergeSiteIdx)); + + System.out.println("tBbsSetDB.getBbsSetType()==========================================================="); + System.out.println(tBbsSetDB.getBbsSetType()); + System.out.println(tBbsSetDB.getBbsSetType()); + + if(tBbsSetDB.getBbsSetType().equals("A")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/album/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/album/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/album/albumDataItemList"); + }else{ + return new ModelAndView("/user/bbs/album/albumDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("M")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/movie/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/movie/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/movie/movieDataItemList"); + }else{ + return new ModelAndView("/user/bbs/movie/movieDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("T")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/thumbfile/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/thumbfile/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataItemList"); + }else{ + return new ModelAndView("/user/bbs/thumbfile/thumbfileDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("E")){ + if(tBbsSetDB.getBbsSetSubType().equals("S")){ + return new ModelAndView("/user/bbs/event/slideDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("G")){ + return new ModelAndView("/user/bbs/event/galleryDataList"); + }else if(tBbsSetDB.getBbsSetSubType().equals("I")){ + return new ModelAndView("/user/bbs/event/eventDataItemList"); + }else{ + return new ModelAndView("/user/bbs/event/eventDataList"); + } + }else if(tBbsSetDB.getBbsSetType().equals("W")){ + return new ModelAndView("/user/bbs/answer/answerDataList"); + }else{ + return new ModelAndView("/web/user/bbs/bbs/bbsDataList"); + } + } +} diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/formDetail.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/formDetail.jsp index 522073e4..dcdd55ba 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/formDetail.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/formDetail.jsp @@ -3,6 +3,7 @@ <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ page import="seed.utils.SeedUtils"%> + +
    diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/newsDetail.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/newsDetail.jsp new file mode 100644 index 00000000..8ea2bbf4 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/newsDetail.jsp @@ -0,0 +1,91 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 뉴스레터
    • +
    • 뉴스레터 자료
    • +
    + + +
    + + + + +

    뉴스레터 자료

    +

    한국공정거래조정원에서 매월 정기 발행하는 뉴스레터서비스입니다.

    + +
    + +
    +

    + +

    +
      + +
    • +

      · 작성자 :

      + + 관리자 +
    • +
    • +

      · 작성일 :

      + + +
    • +
    • +

      · 조회수 :

      + + +
    • +
    + +
    + +
    + +
    + +
    +
    +
    + +
    + +
    + diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/newsList.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/newsList.jsp new file mode 100644 index 00000000..1ff7a65f --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/newsList.jsp @@ -0,0 +1,167 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + +
    + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 뉴스레터
    • +
    • 뉴스레터 자료
    • +
    + + +
    + + + + +

    뉴스레터 자료

    +

    한국공정거래조정원에서 매월 정기 발행하는 뉴스레터서비스입니다.

    + + +
    + + + + + + +
    + + + +
    +

    전체 ${pageMaker.totalCount }건(${pageMaker.cri.page}/${pageMaker.endPage} 페이지)

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    번호제목조회수
    공지
    등록된 데이터가 없습니다.
    +
    + + +
      + +
    • + + +
    • +
      + +
    • +
      +
      + + + + +
    • ${idx}
    • +
      + +
    • ${idx}
    • +
      +
      +
      + + + +
    • +
      + +
    • +
      +
      +
    • + +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/noticeDetail.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/noticeDetail.jsp new file mode 100644 index 00000000..f2f87e76 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/noticeDetail.jsp @@ -0,0 +1,91 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 분쟁조정 안내
    • +
    • 분쟁조정 관련 서식
    • +
    + + +
    + + + + +

    분쟁조정 관련 서식

    +

    분쟁조정 신청서(및 작성예시), 위임장, 합의취하서 등 분쟁조정 관련 서식을 제공하고 있습니다. 다운로드 받아 사용하시기 바랍니다.

    + +
    + +
    +

    + +

    +
      + +
    • +

      · 작성자 :

      + + 관리자 +
    • +
    • +

      · 작성일 :

      + + +
    • +
    • +

      · 조회수 :

      + + +
    • +
    + +
    + +
    + +
    + +
    +
    +
    + +
    + +
    + diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/noticeList.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/noticeList.jsp new file mode 100644 index 00000000..68dc465e --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/board/noticeList.jsp @@ -0,0 +1,166 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + +
    + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 공지사항
    • +
    + + +
    + + + + +

    공지사항

    +

    한국공정거래조정원의 주요 소식을 알려드립니다.

    + + +
    + + + + + + +
    + + + +
    +

    전체 ${pageMaker.totalCount }건(${pageMaker.cri.page}/${pageMaker.endPage} 페이지)

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    번호제목조회수
    공지
    등록된 데이터가 없습니다.
    +
    + + +
      + +
    • + + +
    • +
      + +
    • +
      +
      + + + + +
    • ${idx}
    • +
      + +
    • ${idx}
    • +
      +
      +
      + + + +
    • +
      + +
    • +
      +
      +
    • + +
    +
    +
    diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/exam/examList.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/exam/examList.jsp index 22a1059a..ef7716c6 100644 --- a/src/main/webapp/WEB-INF/jsp/_extra/web/user/exam/examList.jsp +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/exam/examList.jsp @@ -35,11 +35,13 @@ $("#page").val("1"); $("#titleName").val($("#searchMenu option:selected").text()); $("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/examList.do"); + $("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/exam${boardIdx}List.do"); $("#searchFrm").submit(); }else if(type == 'paging'){ $("#page").val(param); $("#titleName").val($("#searchMenu option:selected").text()); $("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/examList.do"); + $("#searchFrm").attr("action","/web/user/exam/case/${boardIdx}/${siteMenuIdx}/exam${boardIdx}List.do"); $("#searchFrm").submit(); } @@ -58,14 +60,13 @@
    • -
    • 분쟁조정 안내
    • -
    • 분쟁조정 안내
    • -
    • 분쟁조정 관련 서식
    • +
    • 분쟁조정 사례
    • +
    • ${menuName }
    -

    분쟁조정 관련 서식

    -

    분쟁조정 신청서(및 작성예시), 위임장, 합의취하서 등 분쟁조정 관련 서식을 제공하고 있습니다. 다운로드 받아 사용하시기 바랍니다.

    +

    ${menuName }

    +

    ${menuName } 관련 분쟁조정사례들 입니다.

    @@ -73,31 +74,35 @@ -
    - + +
    - + + + + + + + +
    - - -
    -

    전체 3,581건(10/400 페이지)

    +

    전체 ${pageMaker.totalCount }건(${pageMaker.cri.page}/${pageMaker.endPage} 페이지)

    @@ -128,9 +133,7 @@ - - ${xxxList.EXAM_NO} - + ${xxxList.EXAM_TYPE} @@ -155,76 +158,38 @@ - - - -
    diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/faqDetail.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/faqDetail.jsp new file mode 100644 index 00000000..1e3c2d1c --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/faqDetail.jsp @@ -0,0 +1,79 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 자주하는 질문
    • +
    • 조정신청 관련 질문
    • +
    + + +
    + + + + +

    조정신청 관련 질문

    +

    조정신청 관련 질문에 대한 궁금증을 풀어드립니다.

    + +
    + +
    +

    + +

    +
      + +
    • +

      · 작성자 :

      + + 관리자 +
    • +
    • +

      · 작성일 :

      + + +
    • +
    • +

      · 조회수 :

      + + +
    • +
    +
    + +
    + +
    + +
    +
    +
    + +
    + +
    + diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/faqList.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/faqList.jsp new file mode 100644 index 00000000..94d17e3f --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/faqList.jsp @@ -0,0 +1,165 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 자주하는 질문
    • +
    • 조정신청 관련 질문
    • +
    + + +

    조정신청 관련 질문

    +

    조정신청 관련 질문에 대한 궁금증을 풀어드립니다.

    + + +
    +

    전체 ${pageMaker.totalCount }건(${pageMaker.cri.page}/${pageMaker.endPage} 페이지)

    + +
    + +
    + + + + + + + + +
    + +
    + +
    + +
    + + + + + + + + + + + + + + + + + + +
  • + 공지 +
  • +
    +
    +
    + + + + + + + + + + + + + + + + + +
    번호제목조회수
    등록된 데이터가 없습니다.
    +
    + + +
      + +
    • + + +
    • +
      + +
    • +
      +
      + + + + +
    • ${idx}
    • +
      + +
    • ${idx}
    • +
      +
      +
      + + + +
    • +
      + +
    • +
      +
      +
    • + + + +
    + + +
    diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/list.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/list.jsp new file mode 100644 index 00000000..fea35cbe --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/list.jsp @@ -0,0 +1,156 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + + + <c:out escapeXml='true' value='${siteMenuTitle}'/> + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/view.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/view.jsp new file mode 100644 index 00000000..bdb281f3 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/faqBbs/view.jsp @@ -0,0 +1,111 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + + + <c:out escapeXml='true' value='${siteMenuTitle}'/> + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + +
    +
    +

    본문

    +

    ${menuName}

    ${menuName}에 대한 궁금증을 풀어드립니다.
    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ${menuName} 게시글 상세페이지 : 제목, 작성자, 작성일, 답변내용
    제목
    작성자
    작성일
    답변내용
    +

    +
    +
    + +
    + 목록 +
    + +
    + + + +
    +
    +
    +
    +
    + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/_extra/web/user/news/newsList.jsp b/src/main/webapp/WEB-INF/jsp/_extra/web/user/news/newsList.jsp new file mode 100644 index 00000000..24d2d22f --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/_extra/web/user/news/newsList.jsp @@ -0,0 +1,162 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + + + 한국공정거래조정원 온라인분쟁조정시스템 > 뉴스레터 > 뉴스레터 서비스 + + + + + + + + + + + + + + + + + + + + + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 뉴스레터
    • +
    • 뉴스레터 서비스
    • +
    + + +

    뉴스레터 서비스

    +

    한국공정거래조정원에서 매월 정기 발행하는 뉴스레터서비스입니다.

    + +
      +
    • +
    • +
    + +
    +

    조정원에서 정기적으로 발행하는 뉴스레터 등 다양한 정책 정보를 받기를 원하시는 고객님들은 아래와 같은 입력 사항을 입력하신 후 등록해주시면 정지적으로 뉴스레터가 발송합니다.

    +
    +
      +
    • +

      · 이름

      + +
    • +
    • +

      · 이메일

      + +
    • +
    +
    + + 개인정보 수집·이용 동의(필수) +
    +
    +1. 개인정보의 수집 및 이용 목적
    +조정원에서 정기적으로 발행하는 뉴스레터 등 다양한 정책정보 수신을 위한 정책고객 가입하기는 관계법령 등에서
    +정하는 소관 업무의 수행을 위하여 다음과 같이 개인정보를 수집 및 이용합니다. 수집된 개인정보는 정해진 목적 이외
    +의 용도로는 이용되지 않으며, 수집 목적이 변경될 경우 사전에 알리고 동의를 받을 예정입니다.
    +
    +2. 수집하는 개인정보의 항목
    +가. 필수항목 : 신청인 성명, 연락처
    +나. 선택항목 : 이메일 등
    +다. 자동수집항목 : IP(Internet Protocol)주소 - 부정한 방법으로 타인명의를 사용하는 경우에 대비하기 위해 정보이용내
    +역 등을 자동 수집합니다.
    +                          
    +
    + +
    + +
    + + +
    + +
    +
    + +
    +

    조정원에서 정기적으로 발행하는 뉴스레터 해지를 원하시는 고객님께서는 정보를 입력해 주세요.

    +
    +
      +
    • +

      · 이름

      + +
    • +
    • +

      · 이메일

      + +
    • +
    +
    +
    + +
    +
    + + +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/site/case/jsp/content/01030000000000000000.jsp b/src/main/webapp/WEB-INF/jsp/web/site/case/jsp/content/01030000000000000000.jsp new file mode 100644 index 00000000..5d82844a --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/site/case/jsp/content/01030000000000000000.jsp @@ -0,0 +1,85 @@ +<%@ page language='java' contentType='text/html; charset=UTF-8'%> +<%@ taglib uri='http://java.sun.com/jsp/jstl/core' prefix='c' %> +<%@ taglib uri='http://www.springframework.org/tags/form' prefix='form'%> + + + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 오시는길
    • +
    + + +

    오시는 길

    +

    한국공정거래조정원의 위치 및 오시는 길을 알려드립니다.

    + + +
    + + +
    + + +
    + + + + +
    + +
    +
    +

    지하철 이용 시

    +
      +
    • 지하철 1호선 서울역 3번 출구 YTN 방향 도보 5분
    • +
    • 지하철 2호선 시청역 9번 출구 삼성본관방향 도보 5분
    • +
    • 지하철 4호선 회현역 5번 출구 숭례문방향 도보 5분
    • +
    +
    +
    +

    버스 이용 시

    +
      +
    • +

      서울역 YTN 빌딩 앞

      + 149, 151, 152, 162, 202, 500, 501, 502, 503, 505, 056, 701, 702, 703 +
    • +
    • +

      염천교

      + 163, 261, 262, 263, 604, 7017 +
    • +
    • +

      시청앞

      + 150, 1711, 406, 408, 421, 504, 507, 603, 700, 7019, 7011, 7022 +
    • +
    +
    +
    + + +
    +
    diff --git a/src/main/webapp/WEB-INF/jsp/web/user/bbs/bbs/bbsDataList.jsp b/src/main/webapp/WEB-INF/jsp/web/user/bbs/bbs/bbsDataList.jsp new file mode 100644 index 00000000..a5a1cbcb --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/user/bbs/bbs/bbsDataList.jsp @@ -0,0 +1,526 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedProperties"%> +<%@ page import="seed.utils.SeedUtils"%> +<%@ page import="java.util.Date"%> +<%@ page import="java.text.SimpleDateFormat"%> + +
    + + +
      +
    • +
    • 분쟁조정 안내
    • +
    • 자주하는 질문
    • +
    • (기타)절차종결 관련 질문
    • +
    + + +

    (기타)절차종결 관련 질문

    + + +
    + + + + + + + + +
    + + + +
    +

    전체 ${fn:length(bbsNoticeDataList) + bbsDataCnt}건(/ 페이지)

    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + / +${bbsDataList} + // +${bbsItemList} +/// + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    번호카테고리제목
    등록된 데이터가 없습니다.
    330신청내용이 조정대상에 해당하지 않는 경우(가맹) 법에서 조정제외대상으로 지정한 것은 무엇입니까?
    + + activeHidden"> + + activeHidden"> + + +    + + + + + + <s:message code=" /> + + + <s:message code=" /> + + + + + + + <s:message code=" /> + + + <s:message code=" /> + + + + + + + .. [] + + + + <s:message code=" /> + + + <s:message code=" /> + + + + + + + + [] + + + + <s:message code=" /> + + + <s:message code=" /> + + + + + + + activeHidden"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + .. + + + + + + activeHidden"> + + + + <% + String bbsDataContent = SeedUtils.setReplaceNull((String)pageContext.getAttribute("bbsDataContent")); + bbsDataContent = bbsDataContent.replaceAll("&[a-z]+;", " "); + bbsDataContent = bbsDataContent.replaceAll("(<([a-z!/]+)[^>]*>)|([\\t\\x0B\\f]+)|(([\\r\\n][\\r\\n])+)|(-->)", ""); + %> + + + + + + .. + + + + + + activeHidden"> + + + + + + + + + + + .. + + + + + + + + + + .. + + + + + + + + + + + activeHidden"> activeHidden"> activeHidden"> + + + + + + + + "> + + + + + <c:out escapeXml='true' value='${bbsFiles.bbsFileName}' /> + + + <c:out escapeXml='true' value='${bbsFiles.bbsFileName}' /> + + + + + + + + + + + + + + + + + <s:message code=" /> + + + <s:message code=" /> + + + + + + + activeHidden"> + + + + + + + + + + + + + ..  + + +   + + + + + + + + + + + + + + + + + + + + + .. + + + + + + + + + + + + + + + + + .. + + + + + + + + +
    +
    + + +
      + +
    • + + +
    • +
      + + + + +
    • +
      + +
    • +
      +
      +
      + + +
    • +
      + +
    • + + + + +
    + + +
    \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/user/news/newsList.jsp b/src/main/webapp/WEB-INF/jsp/web/user/news/newsList.jsp new file mode 100644 index 00000000..3fb27118 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/user/news/newsList.jsp @@ -0,0 +1,347 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + + + <c:out escapeXml='true' value='${siteMenuTitle}'/> + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + +
    +
    +

    본문

    + +
    +

    뉴스레터 신청

    +
    +
    + +

    뉴스레터 신청이 가능합니다.

    + 뉴스레터 신청하기 +

    + 조정원에서 정기적으로 발행하는 뉴스레터 등 다양한 정책 정보를 받기를 + 원하시는 고객님들은 아래와 같은 입력 사항을 입력하신 후 + 등록해주시면 정지적으로 뉴스레터가 발송합니다. +

    +
    + + + + + + + +
    +
    +

    - 개인정보 수집·이용 동의(필수)

    + +
    + + +
    + +
    + +
    +
    +
    + + + +
    + + + +
    +
    +

    본문

    + +
    +

    뉴스레터 해지

    +
    +
    +

    뉴스레터 해지가 가능합니다.

    + 뉴스레터 해지하기 +

    + 조정원에서 정기적으로 발행하는 뉴스레터 해지를 원하시는 고객님께서는 정보를 입력해 주세요. +

    +
    + + + + + + + +
    +
    + +
    +
    +
    +
    + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/web/user/news/write.jsp b/src/main/webapp/WEB-INF/jsp/web/user/news/write.jsp new file mode 100644 index 00000000..3fb27118 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/web/user/news/write.jsp @@ -0,0 +1,347 @@ +<%@ page contentType="text/html;charset=utf-8" %> +<%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ page import="seed.utils.SeedUtils"%> + + + + + <c:out escapeXml='true' value='${siteMenuTitle}'/> + + + + + + + + + + + + + + + + + +
    +
    + + + + + + + + + + + + + +
    +
    +

    본문

    + +
    +

    뉴스레터 신청

    +
    +
    + +

    뉴스레터 신청이 가능합니다.

    + 뉴스레터 신청하기 +

    + 조정원에서 정기적으로 발행하는 뉴스레터 등 다양한 정책 정보를 받기를 + 원하시는 고객님들은 아래와 같은 입력 사항을 입력하신 후 + 등록해주시면 정지적으로 뉴스레터가 발송합니다. +

    +
    + + + + + + + +
    +
    +

    - 개인정보 수집·이용 동의(필수)

    + +
    + + +
    + +
    + +
    +
    +
    + + + +
    + + + +
    +
    +

    본문

    + +
    +

    뉴스레터 해지

    +
    +
    +

    뉴스레터 해지가 가능합니다.

    + 뉴스레터 해지하기 +

    + 조정원에서 정기적으로 발행하는 뉴스레터 해지를 원하시는 고객님께서는 정보를 입력해 주세요. +

    +
    + + + + + + + +
    +
    + +
    +
    +
    + +
    + + + +
    + + + + + + + + + + + + + + \ No newline at end of file