From 0444c90d8b20e71a4f9588cf6b839cbdf149ad07 Mon Sep 17 00:00:00 2001 From: myname Date: Thu, 12 Sep 2024 14:43:35 +0900 Subject: [PATCH] =?UTF-8?q?2024-09-12=2014:43=20=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=EC=9E=90=20=EA=B2=8C=EC=8B=9C=ED=8C=90=20=EC=9E=91=EC=97=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../seed/com/gtm/base/BaseController.java | 4 +- .../com/gtm/board/CaseBoardController.java | 4 +- .../gtm/counsel/OnlineCounselController.java | 5 +- .../java/seed/com/gtm/dao/NewsLetterDao.java | 17 + .../seed/com/gtm/dao/NewsLetterDaoImpl.java | 39 ++ .../com/gtm/exam/ExamBoardController.java | 6 +- .../com/gtm/faqbbs/faqBoardController.java | 4 +- .../com/gtm/news/NewsLetterController.java | 108 ++++ .../seed/com/gtm/news/NewsLetterService.java | 32 ++ .../seed/com/gtm/sample/SampleController.java | 4 +- .../TrublchargermngController.java | 4 +- .../java/seed/com/gtm/util/PageMaker.java | 6 +- src/main/java/seed/com/user/dao/NewsDao.java | 9 + .../java/seed/com/user/dao/NewsDaoImpl.java | 30 + .../seed/com/user/news/NewsController.java | 540 ++++++++++++++++++ .../java/seed/com/user/news/NewsService.java | 29 + .../skin/web/ManagerSiteSkinController.java | 4 + .../visual/web/ManagerVisualController.java | 6 +- src/main/java/seed/utils/FairnetUtils.java | 39 ++ .../config/mappers/news/newsletter_sql.xml | 72 +++ .../WEB-INF/jsp/seed/_extra/gtm/news/list.jsp | 299 ++++++++++ .../sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp | 3 +- 22 files changed, 1243 insertions(+), 21 deletions(-) create mode 100644 src/main/java/seed/com/gtm/dao/NewsLetterDao.java create mode 100644 src/main/java/seed/com/gtm/dao/NewsLetterDaoImpl.java create mode 100644 src/main/java/seed/com/gtm/news/NewsLetterController.java create mode 100644 src/main/java/seed/com/gtm/news/NewsLetterService.java create mode 100644 src/main/java/seed/com/user/dao/NewsDao.java create mode 100644 src/main/java/seed/com/user/dao/NewsDaoImpl.java create mode 100644 src/main/java/seed/com/user/news/NewsController.java create mode 100644 src/main/java/seed/com/user/news/NewsService.java create mode 100644 src/main/java/seed/utils/FairnetUtils.java create mode 100644 src/main/resources/egovframework/sqlmap/config/mappers/news/newsletter_sql.xml create mode 100644 src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/news/list.jsp diff --git a/src/main/java/seed/com/gtm/base/BaseController.java b/src/main/java/seed/com/gtm/base/BaseController.java index de1cc053..e09aeeeb 100644 --- a/src/main/java/seed/com/gtm/base/BaseController.java +++ b/src/main/java/seed/com/gtm/base/BaseController.java @@ -36,7 +36,7 @@ import seed.com.gtm.util.JSPUtil; import seed.com.gtm.util.Nanum; import seed.com.gtm.util.Nice; import seed.com.gtm.util.PageMaker; -import seed.com.gtm.util.Criteria; +import seed.com.gtm.util.SeedCriteria; import seed.utils.ApplicationProperty; import seed.utils.SeedUtils; @@ -67,7 +67,7 @@ public class BaseController { @RequestMapping(value = "/gtm/case/{pageFolder}/{pageName}/{pageAction}.do") public ModelAndView getManagerPage(HttpServletRequest request, HttpSession session, Map map, - Criteria cri, + SeedCriteria cri, @PathVariable(value="pageFolder") String pageFolder, @PathVariable(value="pageName") String pageName, @PathVariable(value="pageAction") String pageAction diff --git a/src/main/java/seed/com/gtm/board/CaseBoardController.java b/src/main/java/seed/com/gtm/board/CaseBoardController.java index 517f8745..2ea0f2d8 100644 --- a/src/main/java/seed/com/gtm/board/CaseBoardController.java +++ b/src/main/java/seed/com/gtm/board/CaseBoardController.java @@ -14,9 +14,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import seed.com.gtm.util.Criteria; import seed.com.gtm.seedfile.SeedFileService; import seed.com.gtm.util.PageMaker; +import seed.com.gtm.util.SeedCriteria; @Controller @RequestMapping("/gtm/case") @@ -62,7 +62,7 @@ public class CaseBoardController { // /gtm/case/board/form/list.do @RequestMapping("/board/{boardIdx}/list.do") - public String boardList(ModelMap model, HttpSession session, Criteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + public String boardList(ModelMap model, HttpSession session, SeedCriteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ //로그인페이지로 튕겨나가지 않게 우선은 임시방편 session.setAttribute("siteIdx", "case"); diff --git a/src/main/java/seed/com/gtm/counsel/OnlineCounselController.java b/src/main/java/seed/com/gtm/counsel/OnlineCounselController.java index 17d27447..b3dde458 100644 --- a/src/main/java/seed/com/gtm/counsel/OnlineCounselController.java +++ b/src/main/java/seed/com/gtm/counsel/OnlineCounselController.java @@ -15,6 +15,7 @@ import org.springframework.web.bind.annotation.RequestParam; import seed.com.gtm.seedfile.SeedFileService; import seed.com.gtm.util.Criteria; import seed.com.gtm.util.PageMaker; +import seed.com.gtm.util.SeedCriteria; import seed.com.user.counsel.CounselService; import seed.utils.SeedUtils; @@ -40,7 +41,7 @@ public class OnlineCounselController { // /gtm/case/onlineCounsel/list.do @RequestMapping("/onlineCounsel/list.do") - public String counselList(ModelMap model, HttpSession session, @RequestParam Map paramMap, Map map, Criteria cri){ + public String counselList(ModelMap model, HttpSession session, @RequestParam Map paramMap, Map map, SeedCriteria cri){ session.setAttribute("siteIdx", "case"); //페이징 관련 paramMap.put("pageStart", cri.getPageStart()); @@ -218,7 +219,7 @@ public class OnlineCounselController { // /gtm/case/onlineCounsel/lawList.do @RequestMapping("/onlineCounsel/lawList.do") - public String lawCounselList(ModelMap model, HttpSession session, @RequestParam Map paramMap, Map map, Criteria cri){ + public String lawCounselList(ModelMap model, HttpSession session, @RequestParam Map paramMap, Map map, SeedCriteria cri){ session.setAttribute("siteIdx", "case"); //페이징 관련 paramMap.put("pageStart", cri.getPageStart()); diff --git a/src/main/java/seed/com/gtm/dao/NewsLetterDao.java b/src/main/java/seed/com/gtm/dao/NewsLetterDao.java new file mode 100644 index 00000000..d0e5d731 --- /dev/null +++ b/src/main/java/seed/com/gtm/dao/NewsLetterDao.java @@ -0,0 +1,17 @@ +package seed.com.gtm.dao; + +import java.util.List; +import java.util.Map; + +import org.springframework.web.bind.annotation.RequestParam; + +public interface NewsLetterDao { + + public List> newsList(@RequestParam Map paramMap); + + public int listCnt(Map paramMap); + + public void newsLetterDel(Map paramMap); + + public void newsLetterDel2(Map paramMap); +} diff --git a/src/main/java/seed/com/gtm/dao/NewsLetterDaoImpl.java b/src/main/java/seed/com/gtm/dao/NewsLetterDaoImpl.java new file mode 100644 index 00000000..22341f9b --- /dev/null +++ b/src/main/java/seed/com/gtm/dao/NewsLetterDaoImpl.java @@ -0,0 +1,39 @@ +package seed.com.gtm.dao; + +import java.util.List; +import java.util.Map; + +import org.apache.ibatis.session.SqlSession; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +@Repository +public class NewsLetterDaoImpl implements NewsLetterDao { + + @Autowired + private SqlSession sqlSession; + + @Override + public List> newsList(Map paramMap) { + + List> r = sqlSession.selectList("newsletter.selectList", paramMap); + System.out.println("daoImpl :: "+r.toString()); + return r; + } + + @Override + public int listCnt(Map paramMap) { + return sqlSession.selectOne("newsletter.selectCnt",paramMap); + } + + @Override + public void newsLetterDel(Map paramMap) { + sqlSession.update("newsletter.delete", paramMap); + } + + @Override + public void newsLetterDel2(Map paramMap) { + sqlSession.delete("newsletter.delete2", paramMap); + } + +} diff --git a/src/main/java/seed/com/gtm/exam/ExamBoardController.java b/src/main/java/seed/com/gtm/exam/ExamBoardController.java index 44fc5292..03142f37 100644 --- a/src/main/java/seed/com/gtm/exam/ExamBoardController.java +++ b/src/main/java/seed/com/gtm/exam/ExamBoardController.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.Criteria; import seed.com.gtm.util.PageMaker; +import seed.com.gtm.util.SeedCriteria; import seed.utils.SeedDbUtilsSupport; @Controller @@ -40,7 +40,7 @@ public class ExamBoardController { public String examWrite(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ model.addAttribute("boardIdx", boardIdx); - return "/_extra/gtm/exam/write"; + return "/seed/_extra/gtm/exam/write"; } @RequestMapping(value="/exam/{boardIdx}/write.do", method=RequestMethod.POST) @@ -65,7 +65,7 @@ public class ExamBoardController { } @RequestMapping("exam/{boardIdx}/list.do") - public String examList(ModelMap model, HttpSession session, Criteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + public String examList(ModelMap model, HttpSession session, SeedCriteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ //로그인페이지로 튕겨나가지 않게 우선은 임시방편 session.setAttribute("siteIdx", "case"); diff --git a/src/main/java/seed/com/gtm/faqbbs/faqBoardController.java b/src/main/java/seed/com/gtm/faqbbs/faqBoardController.java index b9078ce7..8c396770 100644 --- a/src/main/java/seed/com/gtm/faqbbs/faqBoardController.java +++ b/src/main/java/seed/com/gtm/faqbbs/faqBoardController.java @@ -14,8 +14,8 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; -import seed.com.gtm.util.Criteria; import seed.com.gtm.util.PageMaker; +import seed.com.gtm.util.SeedCriteria; @Controller @RequestMapping("/gtm/case") @@ -59,7 +59,7 @@ public class faqBoardController { } @RequestMapping("/faqBbs/list.do") - public String faqBbsList(HttpSession session, ModelMap model, @RequestParam Map paramMap, Criteria cri){ + public String faqBbsList(HttpSession session, ModelMap model, @RequestParam Map paramMap, SeedCriteria cri){ //로그인페이지로 튕겨나가지 않게 우선은 임시방편 session.setAttribute("siteIdx", "case"); diff --git a/src/main/java/seed/com/gtm/news/NewsLetterController.java b/src/main/java/seed/com/gtm/news/NewsLetterController.java new file mode 100644 index 00000000..8ec7b31b --- /dev/null +++ b/src/main/java/seed/com/gtm/news/NewsLetterController.java @@ -0,0 +1,108 @@ +package seed.com.gtm.news; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpSession; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Controller; +import org.springframework.ui.ModelMap; +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.bind.annotation.ResponseBody; + +import seed.com.gtm.util.PageMaker; +import seed.com.gtm.util.SeedCriteria; + +@Controller +@RequestMapping("/gtm/case") +public class NewsLetterController { + @Autowired + private NewsLetterService service; + // /gtm/case/news/write.do + @RequestMapping(value="/news/write.do", method=RequestMethod.GET) + public String memberWrite(){ + return "/_extra/gtm/news/write"; + } + + @RequestMapping(value="/news/write.do", method=RequestMethod.POST) + public String memberWrite(HttpSession session, @RequestParam Map paramMap, Map map){ + return "/_common/jsp/message"; + } + + @RequestMapping("/news/idCheck.do") + public @ResponseBody Map idDuplCheck(@RequestParam Map paramMap){ + return paramMap; + } + + @RequestMapping("/news/list.do") + public String newsList(ModelMap model, HttpSession session, @RequestParam Map paramMap, SeedCriteria cri){ + + System.out.println("paramMap :: "+paramMap.toString()); + + session.setAttribute("siteIdx", "case"); + + paramMap.put("memberId", session.getAttribute("memberId")); + paramMap.put("memberDept", session.getAttribute("memberDept")); + paramMap.put("pageStart", cri.getPageStart()); + paramMap.put("perPageNum", cri.getPerPageNum()); + + PageMaker pageMaker = new PageMaker(); + pageMaker.setCri(cri); + pageMaker.setTotalCount(service.listCnt(paramMap)); + + List> newsList = service.newsList(paramMap); + model.addAttribute("newsList", newsList); + model.addAttribute("pageMaker", pageMaker); + model.addAttribute("param", paramMap); + + return "/seed/_extra/gtm/news/list"; + } + + @RequestMapping(value="/news/edit.do", method=RequestMethod.GET) + public String memberEdit(ModelMap model,@RequestParam Map paramMap){ + return "/_extra/gtm/news/edit"; + } + + @RequestMapping(value="/news/edit.do", method=RequestMethod.POST) + public String memberUpdate (ModelMap model,@RequestParam Map paramMap, Map map){ + return "/_common/jsp/message"; + } + + @RequestMapping("/news/del.do") + public String newsLetterDel(@RequestParam Map paramMap, Map map){ + + service.newsLetterDel(paramMap); + + map.put("message", "(message)해제되었습니다."); + map.put("url", "/gtm/case/news/list.do"); + + return "/_common/jsp/message"; + + } + + @RequestMapping("/news/del2.do") + public String newsLetterDel2(@RequestParam Map paramMap, Map map){ + + service.newsLetterDel2(paramMap); + + map.put("message", "(message)삭제되었습니다."); + map.put("url", "/gtm/case/news/list.do"); + + return "/_common/jsp/message"; + + } + + @RequestMapping("/news/excelDownload.do") + public String excelDownload (@RequestParam HashMap paramMap, ModelMap model) throws Exception{ + + model.addAttribute("excelResult",paramMap); + + return "/commn/excelDownload"; + + } + +} diff --git a/src/main/java/seed/com/gtm/news/NewsLetterService.java b/src/main/java/seed/com/gtm/news/NewsLetterService.java new file mode 100644 index 00000000..a83e8b5a --- /dev/null +++ b/src/main/java/seed/com/gtm/news/NewsLetterService.java @@ -0,0 +1,32 @@ +package seed.com.gtm.news; + +import java.util.List; +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.RequestParam; + +import seed.com.gtm.dao.NewsLetterDao; + +@Service +public class NewsLetterService { + @Autowired + private NewsLetterDao dao; + + public List> newsList(Map paramMap) { + return dao.newsList(paramMap); + } + + public int listCnt(@RequestParam Map paramMap){ + return dao.listCnt(paramMap); + } + + public void newsLetterDel(Map paramMap) { + dao.newsLetterDel(paramMap); + } + + public void newsLetterDel2(Map paramMap) { + dao.newsLetterDel2(paramMap); + } +} diff --git a/src/main/java/seed/com/gtm/sample/SampleController.java b/src/main/java/seed/com/gtm/sample/SampleController.java index c408f0ba..3bf226f0 100644 --- a/src/main/java/seed/com/gtm/sample/SampleController.java +++ b/src/main/java/seed/com/gtm/sample/SampleController.java @@ -16,7 +16,7 @@ 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.SeedCriteria; @Controller @RequestMapping("/gtm/sample") @@ -124,7 +124,7 @@ public class SampleController { //목록화면 @RequestMapping("/board/{boardIdx}/list.do") - public String boardList(ModelMap model, HttpSession session, Criteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ + public String boardList(ModelMap model, HttpSession session, SeedCriteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ //로그인페이지로 튕겨나가지 않게 우선은 임시방편 session.setAttribute("siteIdx", "case"); diff --git a/src/main/java/seed/com/gtm/trublchargermng/TrublchargermngController.java b/src/main/java/seed/com/gtm/trublchargermng/TrublchargermngController.java index 2e9721ee..ea5dff5e 100644 --- a/src/main/java/seed/com/gtm/trublchargermng/TrublchargermngController.java +++ b/src/main/java/seed/com/gtm/trublchargermng/TrublchargermngController.java @@ -15,8 +15,8 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import seed.com.gtm.seedfile.SeedFileService; -import seed.com.gtm.util.Criteria; import seed.com.gtm.util.PageMaker; +import seed.com.gtm.util.SeedCriteria; import seed.utils.SeedUtils; @Controller @@ -109,7 +109,7 @@ public class TrublchargermngController { // /gtm/case/trublchargermng/list.do @RequestMapping("/trublchargermng/list.do") - public String joinList(ModelMap model, HttpSession session, @RequestParam Map paramMap, Criteria cri){ + public String joinList(ModelMap model, HttpSession session, @RequestParam Map paramMap, SeedCriteria cri){ session.setAttribute("siteIdx", "case"); diff --git a/src/main/java/seed/com/gtm/util/PageMaker.java b/src/main/java/seed/com/gtm/util/PageMaker.java index a52f6fef..5eddf4a3 100644 --- a/src/main/java/seed/com/gtm/util/PageMaker.java +++ b/src/main/java/seed/com/gtm/util/PageMaker.java @@ -8,9 +8,9 @@ public class PageMaker { private boolean next; private int displayPageNum = 10; - private Criteria cri; + private SeedCriteria cri; - public void setCri(Criteria cri){ + public void setCri(SeedCriteria cri){ this.cri = cri; } @@ -60,7 +60,7 @@ public class PageMaker { return displayPageNum; } - public Criteria getCri(){ + public SeedCriteria getCri(){ return cri; } } diff --git a/src/main/java/seed/com/user/dao/NewsDao.java b/src/main/java/seed/com/user/dao/NewsDao.java new file mode 100644 index 00000000..de3219ba --- /dev/null +++ b/src/main/java/seed/com/user/dao/NewsDao.java @@ -0,0 +1,9 @@ +package seed.com.user.dao; + +import java.util.Map; + +public interface NewsDao { + public int newsInsert(Map paramMap); + public int newsDelete(Map paramMap); + public int newsDuplication(Map paramMap); +} diff --git a/src/main/java/seed/com/user/dao/NewsDaoImpl.java b/src/main/java/seed/com/user/dao/NewsDaoImpl.java new file mode 100644 index 00000000..bc8581b1 --- /dev/null +++ b/src/main/java/seed/com/user/dao/NewsDaoImpl.java @@ -0,0 +1,30 @@ +package seed.com.user.dao; + +import java.util.Map; + +import org.apache.ibatis.session.SqlSession; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Repository; + +@Repository +public class NewsDaoImpl implements NewsDao { + + @Autowired + private SqlSession sqlSession; + + @Override + public int newsInsert(Map paramMap) { + return sqlSession.insert("news.insert", paramMap); + } + + @Override + public int newsDelete(Map paramMap) { + return sqlSession.insert("news.update", paramMap); + } + + @Override + public int newsDuplication(Map paramMap) { + return sqlSession.selectOne("news.selectDuplication", paramMap); + } + +} diff --git a/src/main/java/seed/com/user/news/NewsController.java b/src/main/java/seed/com/user/news/NewsController.java new file mode 100644 index 00000000..0254b304 --- /dev/null +++ b/src/main/java/seed/com/user/news/NewsController.java @@ -0,0 +1,540 @@ +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.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +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.com.gtm.util.SeedCriteria; +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.SeedUtils; + +@Controller +public class NewsController { + +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; + + public 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"); + } + + public 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="/user/news/{siteIdx}/01/{siteMenuIdx}/write.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"); + } + + 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/user/news/write"); + } + + + + // /user/news/case/01/322/regReq.do + @RequestMapping(value="/user/news/{siteIdx}/01/{siteMenuIdx}/regReq.do", method=RequestMethod.POST) + public ModelAndView regReq(ModelMap map, HttpSession session, HttpServletRequest req, HttpServletResponse res, @RequestParam Map paramMap, SeedCriteria cri, + @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"); + } + + 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 ip = req.getHeader("X-FORWARDED-FOR"); + + if(ip == null) + ip = req.getRemoteAddr(); + + paramMap.put("clientEmail", paramMap.get("clientEmail1")+"@"+paramMap.get("hidEmail2")); + paramMap.put("clientIp", ip); + paramMap.put("agreeCheck", (paramMap.get("agreeCheck")=="true"?'Y':'N')); + + // 뉴스레터 중복확인 + int dupRs = newsService.newsDuplication(paramMap); + + if(dupRs > 1){ + map.put("siteIdx", "case"); + map.put("url", "/user/news/case/01/"+siteMenuIdx+"/write.do"); + map.put("message", "user.survey.message.no.overlap"); + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return new ModelAndView("/_common/jsp/umessage"); + } + + // 뉴스레터 추가 + int rs = newsService.newsInsert(paramMap); + + map.put("siteIdx", "case"); + map.put("url", "/user/news/case/01/"+siteMenuIdx+"/write.do"); + if(rs==1){ + map.put("message", "common.message.reg"); + } + else{ + map.put("message", "common.message.error.reg"); + } + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return new ModelAndView("/_common/jsp/umessage"); + } + + // /user/news/case/01/322/delReq.do + @RequestMapping(value="/user/news/{siteIdx}/01/{siteMenuIdx}/delReq.do", method=RequestMethod.POST) + public ModelAndView delReq(ModelMap map, HttpSession session, HttpServletRequest req, HttpServletResponse res, @RequestParam Map paramMap, SeedCriteria cri, + @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"); + } + + 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 ip = req.getHeader("X-FORWARDED-FOR"); + + if(ip == null) + ip = req.getRemoteAddr(); + + paramMap.put("clientEmail", paramMap.get("clientEmail1")+"@"+paramMap.get("hidEmail2")); + paramMap.put("clientIp", ip); + + // 뉴스레터 제거 + int rs = newsService.newsDelete(paramMap); + + map.put("siteIdx", "case"); + map.put("url", "/user/news/case/01/"+siteMenuIdx+"/write.do"); + if(rs>0){ + map.put("message", "common.message.del"); + } + else if(rs == 0){ + map.put("message","common.message.no.history"); + } + else{ + map.put("message", "common.message.error.del"); + } + map.put("opener", ""); + map.put("append", ""); + map.put("self", ""); + + return new ModelAndView("/_common/jsp/umessage"); + } +} diff --git a/src/main/java/seed/com/user/news/NewsService.java b/src/main/java/seed/com/user/news/NewsService.java new file mode 100644 index 00000000..4ad7961e --- /dev/null +++ b/src/main/java/seed/com/user/news/NewsService.java @@ -0,0 +1,29 @@ +package seed.com.user.news; + +import java.util.Map; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import seed.com.user.dao.NewsDao; + +@Service +public class NewsService { + + @Autowired + private NewsDao dao; + + + public int newsInsert(Map paramMap){ + return dao.newsInsert(paramMap); + } + + public int newsDelete(Map paramMap){ + return dao.newsDelete(paramMap); + } + + public int newsDuplication(Map paramMap) { + return dao.newsDuplication(paramMap); + } + +} diff --git a/src/main/java/seed/manager/skin/web/ManagerSiteSkinController.java b/src/main/java/seed/manager/skin/web/ManagerSiteSkinController.java index 9f7527b1..a7cb3143 100644 --- a/src/main/java/seed/manager/skin/web/ManagerSiteSkinController.java +++ b/src/main/java/seed/manager/skin/web/ManagerSiteSkinController.java @@ -19,6 +19,7 @@ import org.springframework.web.servlet.ModelAndView; import seed.manager.member.service.ManagerMemberService; import seed.manager.site.service.ManagerSiteManagerService; import seed.manager.skin.service.ManagerSiteSkinService; +import seed.utils.FairnetUtils; import seed.utils.InterceptorCheck; import seed.utils.SeedUtils; @@ -493,8 +494,11 @@ public class ManagerSiteSkinController { , HttpSession p_session , Map p_map ) { + boolean b_ret = true; + b_ret = FairnetUtils.hasAuth(p_memberIdx, p_memberGrant, p_memberAuth, p_session, p_map); + //기존 권한 관리 부분을 주석 처리함 - 필요시 사용할것 /* try { diff --git a/src/main/java/seed/manager/visual/web/ManagerVisualController.java b/src/main/java/seed/manager/visual/web/ManagerVisualController.java index a83b8744..86471d10 100644 --- a/src/main/java/seed/manager/visual/web/ManagerVisualController.java +++ b/src/main/java/seed/manager/visual/web/ManagerVisualController.java @@ -28,6 +28,7 @@ import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; +import seed.manager.member.service.ManagerMemberService; import seed.manager.site.service.ManagerSiteManagerService; import seed.manager.visual.service.ManagerVisualDataService; import seed.manager.visual.service.ManagerVisualManagerService; @@ -35,12 +36,11 @@ import seed.manager.visual.service.ManagerVisualRelationDataService; import seed.manager.visual.service.ManagerVisualRelationIconService; import seed.manager.visual.service.ManagerVisualRelationSetService; import seed.manager.visual.service.ManagerVisualSetService; -import seed.manager.member.service.ManagerMemberService; import seed.map.T_VISUAL_DATA; import seed.map.T_VISUAL_MANAGER; import seed.map.T_VISUAL_RELATION_DATA; -import seed.map.T_VISUAL_RELATION_SET; import seed.map.T_VISUAL_RELATION_ICON; +import seed.map.T_VISUAL_RELATION_SET; import seed.map.T_VISUAL_SET; import seed.utils.InterceptorCheck; import seed.utils.Paging; @@ -607,12 +607,14 @@ public class ManagerVisualController { String memberGrant = (memberIdx == 0) ? "N" : SeedUtils.setReplaceNull(managerMemberService.getMemberMapForm(memberIdx, new String[] {"memberGrant"}).get("_memberGrant"), "N"); boolean memberAuth = managerSiteManagerService.getSiteManagerListCnt(siteIdx, memberIdx); + /* if(memberIdx == 0 || (!memberGrant.equals("S") && !memberAuth)){ setSessionRemove(session); map.put("url", "/gtm/login.do"); map.put("message", "common.message.no.grant"); return new ModelAndView("/_common/jsp/message"); } + */ Iterator iteratorfileNames = multipartHttpServletRequest.getFileNames(); diff --git a/src/main/java/seed/utils/FairnetUtils.java b/src/main/java/seed/utils/FairnetUtils.java new file mode 100644 index 00000000..a78c8eef --- /dev/null +++ b/src/main/java/seed/utils/FairnetUtils.java @@ -0,0 +1,39 @@ +package seed.utils; + +import java.util.Map; + +import javax.servlet.http.HttpSession; + +public class FairnetUtils { + + //private static Logger log = Logger.getLogger(FairnetUtils.class); + + public static boolean hasAuth( + int p_memberIdx + , String p_memberGrant + , boolean p_memberAuth + , HttpSession p_session + , Map p_map + ) { + boolean b_ret = true; + + //기존 권한 관리 부분을 주석 처리함 - 필요시 사용할것 + /* + try { + if(p_memberIdx == 0 || (!p_memberGrant.equals("S") && !p_memberAuth)){ + setSessionRemove(p_session); + p_map.put("url", "/gtm/login.do"); + p_map.put("url", "/uat/uia/EgovLoginUsr.do"); + p_map.put("message", "common.message.no.grant"); + //return new ModelAndView("/_common/jsp/message"); + b_ret = false; + } + }catch(Exception ex) { + ex.printStackTrace(); + } + */ + + return b_ret; + } + +} \ No newline at end of file diff --git a/src/main/resources/egovframework/sqlmap/config/mappers/news/newsletter_sql.xml b/src/main/resources/egovframework/sqlmap/config/mappers/news/newsletter_sql.xml new file mode 100644 index 00000000..f431cbf8 --- /dev/null +++ b/src/main/resources/egovframework/sqlmap/config/mappers/news/newsletter_sql.xml @@ -0,0 +1,72 @@ + + + + + + + + + + + UPDATE C_NEWSLETTER + SET CLIENT_CHECK = 'N' + WHERE SEQ_NO = #{newsSeq} + + + + DELETE FROM C_NEWSLETTER + WHERE SEQ_NO = #{newsSeq} + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/news/list.jsp b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/news/list.jsp new file mode 100644 index 00000000..5b4c6a52 --- /dev/null +++ b/src/main/webapp/WEB-INF/jsp/seed/_extra/gtm/news/list.jsp @@ -0,0 +1,299 @@ +<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> +<%@ taglib uri="http://www.springframework.org/tags/form" prefix="form"%> +<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %> + + + + +정보 관리 + + + + + + + +
+
+

뉴스레터 관리

+
+ +
+
+ +
+

뉴스레터 관리를 할 수 있는 리스트 페이지 입니다.

+
+
+
+ + + + + +
+ + +
+ + + +
+
+
+ ~ +
+
+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
뉴스레터 관리 테이블입니다.
번호신청인명이메일IP상태등록일관리
${(pageMaker.totalCount - ((pageMaker.cri.page-1)*pageMaker.cri.perPageNum)) - status.index}${list.CLIENT_NAME}${list.CLIENT_EMAIL}${list.CLIENT_IP}신청해제${list.CLIENT_DATE} + + +
+ +
+
+ +
+ +
+
+
+
+
+ + +
+
+ +
+
+
+
+ + +
+
+ + + + + +
+
+ + + + + + + \ No newline at end of file diff --git a/src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp b/src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp index 48dbefbc..e0b7ee00 100644 --- a/src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp +++ b/src/main/webapp/WEB-INF/jsp/sym/mnu/mpm/EgovMenuCreatSelectJtree.jsp @@ -20,7 +20,8 @@ - +<%-- --%> +