package itn.let.sym.grd.web; import java.util.List; import javax.annotation.Resource; import org.springframework.stereotype.Controller; import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import egovframework.rte.fdl.security.userdetails.util.EgovUserDetailsHelper; import egovframework.rte.ptl.mvc.tags.ui.pagination.PaginationInfo; import itn.com.cmm.LoginVO; import itn.let.sym.grd.service.MberGrdService; import itn.let.sym.grd.service.MberGrdVO; @Controller public class MberGrdMngController { @Resource(name = "mberGrdService") MberGrdService mberGrdService; /** * 등급제 관리자 화면 * * @param mberGrdVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/grd/selectMberGrdSetting.do") public String selectJoinSetting(MberGrdVO mberGrdVO, ModelMap model) throws Exception { List mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO); mberGrdVO = mberGrdService.selectMberSettingDetail(mberGrdVO); model.addAttribute("grdNoti", mberGrdVO.getGrdNoti()); model.addAttribute("grdDate", mberGrdVO.getGrdDate()); model.addAttribute("mberGrdSettingList", mberGrdSettingList); return "/sym/grd/mberGrdSetting"; } // 등급제 일괄 저장 @RequestMapping(value = "/sym/grd/mberGrdSettingMassUpdateAjax.do") public ModelAndView mberGrdSettingMassUpdateAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String msg = ""; int updateMberCnt = 0; // 로그인VO에서 사용자 정보 가져오기 LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); String frstRegisterId = loginVO == null ? "" : loginVO.getId(); mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID try{ // Step1. 등급제 시행여부 변경 int updateCnt1 = mberGrdService.updateMberSetting(mberGrdVO); if (updateCnt1 == 0) { isSuccess = false; msg = "등급제 시행여부 변경에 실패했습니다."; } else { // Step2. 등급제 단가 업데이트 int updateCnt2 = mberGrdService.updateGrdSettingList(mberGrdVO); if (updateCnt2 == 0) { isSuccess = false; msg = "등급제 단가 변경에 실패했습니다."; } else { // Step3. 회원 등급 일괄변경 updateMberCnt = mberGrdService.updateMberGrdAll(mberGrdVO); } } } catch(Exception e) { isSuccess = false; msg = e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); modelAndView.addObject("updateMberCnt", updateMberCnt); return modelAndView; } // 회원별 등급 초기화 @RequestMapping(value = "/sym/grd/mberGrdEndMassUpdateAjax.do") public ModelAndView mberGrdEndMassUpdateAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String msg = ""; int updateMberCnt = 0; // 로그인VO에서 사용자 정보 가져오기 LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); String frstRegisterId = loginVO == null ? "" : loginVO.getId(); mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID try{ // 회원별 등급 초기화 updateMberCnt = mberGrdService.updateMberGrdEndAll(mberGrdVO); } catch(Exception e) { isSuccess = false; msg = e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); modelAndView.addObject("updateMberCnt", updateMberCnt); return modelAndView; } // 회원별 등급 적용 테스트 @RequestMapping(value = "/sym/grd/mberGrdSaveAjax.do") public ModelAndView mberGrdSaveAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String msg = ""; // 로그인VO에서 사용자 정보 가져오기 LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); String frstRegisterId = loginVO == null ? "" : loginVO.getId(); mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID try{ // 회원별 등급 적용 mberGrdVO.setAmt("0"); // 결제금액 mberGrdVO.setMberId("nopay"); // 결제자 mberGrdService.mberGrdSaveByUser(mberGrdVO); } catch(Exception e) { isSuccess = false; msg = e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } /** * 회원별 등급제 목록 화면 * * @param mberGrdVO * @param model * @return * @throws Exception */ @RequestMapping("/sym/grd/selectMberGrdList.do") public String selectMetaTagList(@ModelAttribute("searchVO") MberGrdVO mberGrdVO, ModelMap model) throws Exception{ /** paging */ PaginationInfo paginationInfo = new PaginationInfo(); paginationInfo.setCurrentPageNo(mberGrdVO.getPageIndex()); paginationInfo.setRecordCountPerPage(mberGrdVO.getPageUnit()); paginationInfo.setPageSize(mberGrdVO.getPageSize()); mberGrdVO.setFirstIndex(paginationInfo.getFirstRecordIndex()); mberGrdVO.setLastIndex(paginationInfo.getLastRecordIndex()); mberGrdVO.setRecordCountPerPage(paginationInfo.getRecordCountPerPage()); if("".equals(mberGrdVO.getSearchSortCnd())){ //최초조회시 최신것 조회List mberGrdVO.setSearchSortCnd("regDate"); mberGrdVO.setSearchSortOrd("desc"); } List resultList = mberGrdService.selectMberGrdList(mberGrdVO); model.addAttribute("resultList", resultList); paginationInfo.setTotalRecordCount( resultList.size()> 0 ? resultList.get(0).getTotCnt() : 0); model.addAttribute("paginationInfo", paginationInfo); return "/sym/grd/mberGrdList"; } // 등급제 적용여부 체크 @RequestMapping(value = "/sym/grd/mberGrdChkAjax.do") public ModelAndView mberGrdChkAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = true; String msg = ""; MberGrdVO rtnMberGrdVO = new MberGrdVO(); // 로그인VO에서 사용자 정보 가져오기 LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser(); String frstRegisterId = loginVO == null ? "" : loginVO.getId(); mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID try{ rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); if (null != rtnMberGrdVO) { // 등급제 적용 } else { isSuccess = false; msg = "종료"; } } catch(Exception e) { isSuccess = false; msg = e.getMessage(); } modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO); modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } }