package itn.let.sym.grd.web; import java.util.List; import javax.annotation.Resource; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang.StringUtils; 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.com.utl.fcc.service.EgovStringUtil; import itn.let.sym.grd.service.MberGrdService; import itn.let.sym.grd.service.MberGrdVO; @Controller public class MberGrdController { @Resource(name = "mberGrdService") MberGrdService mberGrdService; /** * ######################################## * 등급제 사용자 화면 * ######################################## */ /** * 마이페이지 등급제 누적결제액 세부내역 * @param mjonMsgVO * @param model * @return "/web/member/grd/MberGrdHistListAjax.do" * @throws Exception */ @RequestMapping(value= {"/web/member/grd/mberGrdHistListAjax.do"}) public String mberGrdHistListAjax(@ModelAttribute("searchVO") MberGrdVO mberGrdVO, HttpServletRequest request, ModelMap model) throws Exception{ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); mberGrdVO.setMberId(userId); if(mberGrdVO.getPageUnit() != 10) { mberGrdVO.setPageUnit(mberGrdVO.getPageUnit()); } /** pageing */ mberGrdVO.setPageUnit(3); 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 } // 회원별 등급제 기간내, 최종결제이후 환불총금액 int refundSumAfterLastPay = mberGrdService.selectMberGrdRefundSumAfterLastPay(mberGrdVO.getMberId()); // 회원별 등급제 기간내, 최종결제이전 환불총금액 int refundSumBeforeLastPay = mberGrdService.selectMberGrdRefundSumBeforeLastPay(mberGrdVO.getMberId()); List mberGrdHistList = mberGrdService.selectMberGrdHistByGrdDateList(mberGrdVO); paginationInfo.setTotalRecordCount(mberGrdHistList.size()> 0 ? mberGrdHistList.get(0).getTotCnt() : 0); model.addAttribute("paginationInfo", paginationInfo); model.addAttribute("mberGrdHistList", mberGrdHistList); model.addAttribute("grdSetNm", mberGrdVO.getGrdSetNm()); model.addAttribute("totAmt", mberGrdVO.getTotAmt()); model.addAttribute("refundSumAfterLastPay", refundSumAfterLastPay); model.addAttribute("refundSumBeforeLastPay", refundSumBeforeLastPay); return "/web/grd/MberGrdHistListAjax"; } // 등급제 시행 ON/OFF 체크(로그인 상태에서만 조회) @RequestMapping(value = "/web/grd/mberSettDetailAjax.do") public ModelAndView mberSettingDetailAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = false; String msg = ""; try{ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; if (null != loginVO) { MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); if (mberGrdVO1.getGrdNoti().equals("Y")) { isSuccess = true; } } } catch(Exception e) { msg = e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } // 등급제 시행 ON/OFF 체크(비로그인 상태에서 조회) @RequestMapping(value = "/web/grd/mberSettDetailByNotLoginAjax.do") public ModelAndView mberSettDetailByNotLoginAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); boolean isSuccess = false; String msg = ""; MberGrdVO rtnMberGrdVO = new MberGrdVO(); try{ LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); if (null != loginVO) { mberGrdVO.setMberId(userId); // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); if (mberGrdVO1.getGrdNoti().equals("Y")) { // Step 2. 회원별 이벤트 진행여부 int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); if (mberEventPrgCnt == 0) { rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); if (null != rtnMberGrdVO) { isSuccess = true; } else { msg = "종료"; } } } } else { MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); if (mberGrdVO1.getGrdNoti().equals("Y")) { isSuccess = true; } } } catch(Exception e) { msg = e.getMessage(); } modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } // 등급제 적용여부 체크 @RequestMapping(value = "/web/grd/mberGrdChkAjax.do") public ModelAndView mberGrdChkAjax( @ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception { ModelAndView modelAndView = new ModelAndView(); modelAndView.setViewName("jsonView"); // 로그인VO에서 사용자 정보 가져오기 LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null; String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId()); boolean isSuccess = false; String msg = ""; MberGrdVO rtnMberGrdVO = new MberGrdVO(); try{ if (StringUtils.isNotEmpty(userId)) { mberGrdVO.setMberId(userId); // Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우) MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO); if (mberGrdVO1.getGrdNoti().equals("Y")) { // Step 2. 회원별 이벤트 진행여부 int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId()); if (mberEventPrgCnt == 0) { rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId()); if (null != rtnMberGrdVO) { isSuccess = true; } else { msg = "종료"; } } } } } catch(Exception e) { msg = e.getMessage(); } modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO); modelAndView.addObject("isSuccess", isSuccess); modelAndView.addObject("msg", msg); return modelAndView; } }