package seed.com.gtm.exam; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; 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.PathVariable; 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.seedfile.SeedFileService; import seed.com.gtm.util.PageMaker; import seed.com.gtm.util.SeedCriteria; import seed.utils.SeedDbUtilsSupport; @Controller @RequestMapping("/gtm/case") public class ExamBoardController { @Autowired private ExamBoardService service; @Autowired private SeedFileService fileService; public void setSessionMessageRemove(HttpSession session){ session.removeAttribute("url"); session.removeAttribute("message"); session.removeAttribute("opener"); session.removeAttribute("append"); session.removeAttribute("self"); } @RequestMapping(value="/exam/{boardIdx}/write.do", method=RequestMethod.GET) public String examWrite(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ model.addAttribute("boardIdx", boardIdx); return "/seed/_extra/gtm/exam/write"; } @RequestMapping(value="/exam/{boardIdx}/write.do", method=RequestMethod.POST) public String examWrite(HttpServletRequest request ,HttpSession session, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx, Map map){ paramMap.put("memberName", session.getAttribute("memberName")); paramMap.put("memberId", session.getAttribute("memberId")); paramMap.put("boardIdx", boardIdx); /*paramMap.put("mediationBigType", boardIdx); paramMap.put("mediationSmallType", boardIdx); paramMap.put("examType", boardIdx);*/ service.boardInsert(paramMap); //현제 등록된 게시글의 시퀀스 불러와 맵에 저장 paramMap.put("dataIdx", paramMap.get("seq")); fileService.fileInsert(paramMap, request, session); map.put("message", "common.message.reg"); map.put("url", "/gtm/case/exam/"+boardIdx+"/list.do"); return "/_common/jsp/message"; } @RequestMapping("exam/{boardIdx}/list.do") public String examList(ModelMap model, HttpSession session, SeedCriteria cri,@RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ //로그인페이지로 튕겨나가지 않게 우선은 임시방편 session.setAttribute("siteIdx", "case"); String menuName = ""; if(boardIdx.equals("402")){ menuName = "공정거래"; }else if(boardIdx.equals("403")){ menuName = "가맹사업거래"; }else if(boardIdx.equals("404")){ menuName = "하도급거래"; }else if(boardIdx.equals("405")){ menuName = "대규모유통업거래"; }else if(boardIdx.equals("406")){ menuName = "불공정약관"; }else if(boardIdx.equals("407")){ menuName = "대리점거래"; } session.setAttribute("menuName", menuName); //페이징 관련 paramMap.put("pageStart", cri.getPageStart()); paramMap.put("perPageNum", cri.getPerPageNum()); paramMap.put("boardIdx", boardIdx); List> bbsList = service.boardList(paramMap); PageMaker pageMaker = new PageMaker(); pageMaker.setCri(cri); pageMaker.setTotalCount(service.boardListCnt(paramMap)); model.addAttribute("boardIdx", boardIdx); model.addAttribute("bbsList", bbsList); model.addAttribute("pageMaker", pageMaker); return "/seed/_extra/gtm/exam/list"; } @RequestMapping("exam/{boardIdx}/view.do") public String examView(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ SeedDbUtilsSupport seeDbUtilsSupport = new SeedDbUtilsSupport(); paramMap.put("dataIdx", paramMap.get("examNo")); Map bbsInfoView = service.boardView(paramMap); bbsInfoView.put("EXAM_CONT", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT"))); bbsInfoView.put("EXAM_CONT2", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT2"))); bbsInfoView.put("EXAM_CONT3", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT3"))); bbsInfoView.put("EXAM_CONT4", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT4"))); model.addAttribute("bbsView", bbsInfoView); model.addAttribute("boardIdx", boardIdx); model.addAttribute("fileList", fileService.fileList(paramMap)); return "/seed/_extra/gtm/exam/view"; } @RequestMapping("exam/{boardIdx}/bbsDel.do") public String examDel(HttpSession session, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx, Map map){ paramMap.put("dataIdx", paramMap.get("examNo")); service.boardDel(paramMap); fileService.fileDelAll(paramMap); this.setSessionMessageRemove(session); map.put("message", "common.message.del"); map.put("url", "/gtm/case/exam/"+boardIdx+"/list.do?searchType=" + paramMap.get("searchType") + "&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page") ); return "/_common/jsp/message"; } @RequestMapping(value="/exam/{boardIdx}/edit.do", method=RequestMethod.GET) public String examEdit(ModelMap model, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx){ SeedDbUtilsSupport seeDbUtilsSupport = new SeedDbUtilsSupport(); paramMap.put("dataIdx", paramMap.get("examNo")); Map bbsInfoView = service.boardView(paramMap); bbsInfoView.put("EXAM_CONT", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT"))); bbsInfoView.put("EXAM_CONT2", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT2"))); bbsInfoView.put("EXAM_CONT3", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT3"))); bbsInfoView.put("EXAM_CONT4", seeDbUtilsSupport.clobToString(bbsInfoView.get("EXAM_CONT4"))); List> fileList = fileService.fileList(paramMap); model.addAttribute("bbsView", bbsInfoView); model.addAttribute("boardIdx", boardIdx); model.addAttribute("fileList", fileList); model.addAttribute("fileListSize", fileList.size()); return "/seed/_extra/gtm/exam/edit"; } @RequestMapping(value="/exam/{boardIdx}/edit.do", method=RequestMethod.POST) public String examEdit(HttpSession session, HttpServletRequest request, @RequestParam Map paramMap, @PathVariable(value="boardIdx") String boardIdx, Map map){ paramMap.put("memberId", session.getAttribute("memberId")); paramMap.put("dataIdx", paramMap.get("examNo"));//fileInsert에서 필요 service.boardUpdate(paramMap); fileService.fileInsert(paramMap, request, session); fileService.fileDel(paramMap); this.setSessionMessageRemove(session); map.put("message", "common.message.mod"); map.put("url", "/gtm/case/exam/"+boardIdx+"/view.do?examNo=" + paramMap.get("examNo") + "&searchType=" + paramMap.get("searchType") + "&searchTilte=" + paramMap.get("searchTilte") + "&page=" + paramMap.get("page")+ "&fileFuncType=" + paramMap.get("fileFuncType") ); return "/_common/jsp/message"; } }