package com.mca.cmmn.web; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import com.mca.cmmn.service.AreaCodeService; import com.mca.user.service.UserService; import com.mca.user.vo.UserVO; import egovframework.rte.fdl.property.EgovPropertyService; @Controller public class CommonController { /** * properties값을 가져오는 인터페이스. **/ @Resource(name="propertiesService") private EgovPropertyService propertiesService; @Resource(name="userService") private UserService userService; @Resource(name="areaCodeService") private AreaCodeService areaCodeService; /** * 로그인 화면을 반환한다. * * @param error 로그인 실패정보 * @param fail 사용자 인증정보 * @return 로그인화면 화면 * @throws Exception 기본 예외 처리 */ @RequestMapping(value="/login") public String login(String error, String fail, Model model) throws Exception{ try { if(error != null) { model.addAttribute("errMsg", "접속자 정보를 찾을 수 없습니다."); } if(fail != null) { model.addAttribute("errMsg", "승인 처리중입니다."); } return "login"; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return "error/EgovServerError"; } } /** * 로그아웃처리를 한다 * * @param session 세션 객체 * @param model 모델 객체 * @return 로그인 화면 * @throws Exception 기본 예외 처리 */ @RequestMapping(value="/logout") public String logout(HttpSession session, Model model) throws Exception { try { session.removeAttribute("id"); session.removeAttribute("admin"); model.addAttribute("url", "/"); model.addAttribute("resultMsg", "로그아웃 되었습니다."); return "/redirect"; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return "error/EgovServerError"; } } /** * 회원가입 화면을 반환한다. * @return 회원가입 화면 * @throws Exception 기본 예외 처리 */ @RequestMapping(value="/join") public String join() throws Exception { try { return "join"; } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return "error/EgovServerError"; } } /** * 아이디 중복 체크를 한다. * @param checkId 입력 아이디값 * @return 성공, 실패 여부 * @throws Exception 기본 예외 처리 */ @RequestMapping(value="/userIdCheck") @ResponseBody public String checkId(@RequestParam("checkId")String checkId) throws Exception { try { int cnt = userService.selectUserIdCheck(checkId); if(cnt > 0) { return "duplicate"; }else { return "ok"; } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return "error/EgovServerError"; } } /** * 사용자 등록 처리를 한다. * @param userVO 사용자정보 VO * @param model 모델 객체 * @return 로그인 화면 * @throws Exception 기본 예외 처리 */ @RequestMapping(value="/insertUser") public String userInsert(@ModelAttribute("userVO") UserVO userVO, Model model) throws Exception { try { int result = userService.insertUser(userVO); if(result == 0) { model.addAttribute("url", "/"); model.addAttribute("resultMsg", "회원가입이 완료 되었습니다. 승인을 기다려주세요."); return "/redirect"; }else { model.addAttribute("resultMsg", "오류가 발생하였습니다."); return "/join"; } } catch (Exception e) { // TODO: handle exception e.printStackTrace(); return "error/EgovServerError"; } } /** * 지역 리스트 가져온다. * @param code 법정동 코드 * @param area 지역이름 * @return 선택된 지역 리스트 * @throws Exception 기본 예외 처리 */ @RequestMapping(value="/selectAreaList") @ResponseBody public List selectAreaList(@RequestParam("code")String code, @RequestParam("area")String area) throws Exception { List countyList = areaCodeService.selectCounty(code, area); return countyList; } /** * 권한이 없는 사용자가 접근시 권한제한 화면으로 이동한다. * * @return 권한없음 페이지 * @exception Exception 기본 예외 처리 */ @RequestMapping("/error/EgovAccessDenied") public String accessDenied() throws Exception { return "error/EgovAccessDenied"; } }