fairnet/src/main/java/seed/com/gtm/exam/ExamBoardController.java

186 lines
7.2 KiB
Java

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<String,Object> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx, Map<String, Object> 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<String,Object> 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<Map<String,Object>> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx){
SeedDbUtilsSupport seeDbUtilsSupport = new SeedDbUtilsSupport();
paramMap.put("dataIdx", paramMap.get("examNo"));
Map<String, Object> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx, Map<String, Object> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx){
SeedDbUtilsSupport seeDbUtilsSupport = new SeedDbUtilsSupport();
paramMap.put("dataIdx", paramMap.get("examNo"));
Map<String, Object> 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<Map<String, Object>> 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<String,Object> paramMap, @PathVariable(value="boardIdx") String boardIdx, Map<String, Object> 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";
}
}