File name
Commit message
Commit date
File name
Commit message
Commit date
2024-09-10
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
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 MberGrdMngController {
@Resource(name = "mberGrdService")
MberGrdService mberGrdService;
/**
* 등급제 관리자 화면
*
* @param mberGrdVO
* @param model
* @return
* @throws Exception
*/
@RequestMapping("/sym/grd/selectMberGrdSetting.do")
public String selectJoinSetting(MberGrdVO mberGrdVO,
HttpServletRequest request,
ModelMap model) throws Exception {
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String id = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(id == "") {
return "redirect:/uat/uia/EgovLoginUsr.do";
}
List<MberGrdVO> mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO);
mberGrdVO = mberGrdService.selectMberSettingDetail(mberGrdVO);
model.addAttribute("grdNoti", mberGrdVO.getGrdNoti());
model.addAttribute("grdDate", mberGrdVO.getGrdDate());
model.addAttribute("grdPeriod", mberGrdVO.getGrdPeriod());
model.addAttribute("mberGrdSettingList", mberGrdSettingList);
return "/sym/grd/mberGrdSetting";
}
// 등급제 단가 정보
@RequestMapping(value = "/sym/grd/mberGrdSettingListAjax.do")
public ModelAndView mberGrdSettingListAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
String msg = "";
List<MberGrdVO> mberGrdSettingList = null;
try{
// 등급별 단가 정보
mberGrdSettingList = mberGrdService.selectMberGrdSettingList(mberGrdVO);
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
modelAndView.addObject("mberGrdSettingList", mberGrdSettingList);
return modelAndView;
}
// 등급제 설정 저장
@RequestMapping(value = "/sym/grd/mberGrdSettingUpdateAjax.do")
public ModelAndView mberGrdSettingUpdateAjax(
@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.setRegId(frstRegisterId); // 최초등록자ID
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
// Step1. 등급제 시행여부 변경
int updateCnt1 = mberGrdService.updateMberSetting(mberGrdVO);
if (updateCnt1 == 0) {
isSuccess = false;
msg = "등급제 시행여부 변경에 실패했습니다.";
}
}
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/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.setRegId(frstRegisterId); // 최초등록자ID
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/mberGrdResetMassUpdateAjax.do")
public ModelAndView mberGrdResetMassUpdateAjax(
@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{
// Step 1. 등급제 시행 ON 일경우
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (StringUtils.isNotEmpty(mberGrdVO1.getGrdNewDate())) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
// 회원별 등급 초기화
updateMberCnt = mberGrdService.updateMberGrdWhiteAll(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");
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{
LoginVO loginVO = EgovUserDetailsHelper.isAuthenticated()? (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser():null;
String id = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
if(id == "") {
return "redirect:/uat/uia/EgovLoginUsr.do";
}
/** 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<MberGrdVO> 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 = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String frstRegisterId = loginVO == null ? "" : loginVO.getId();
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
// 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;
}
// 회원 등급 예외 정보
@RequestMapping(value = "/sym/grd/mberGrdEtcChkAjax.do")
public ModelAndView mberGrdEtcChkAjax(
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
ModelAndView modelAndView = new ModelAndView();
modelAndView.setViewName("jsonView");
boolean isSuccess = true;
boolean isEvent = false;
String msg = "";
MberGrdVO rtnMberGrdVO = new MberGrdVO();
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
String frstRegisterId = loginVO == null ? "" : loginVO.getId();
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
// Step 2. 회원별 이벤트 진행여부
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
if (mberEventPrgCnt == 0) {
rtnMberGrdVO = mberGrdService.selectMberEtcInfo(mberGrdVO.getMberId());
if (null != rtnMberGrdVO) {
}
else {
msg = "종료";
}
}
else {
isEvent = true;
}
}
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("rtnMberGrdVO", rtnMberGrdVO);
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("isEvent", isEvent);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 회원 등급제 종료
@RequestMapping(value = "/sym/grd/mberGrdEndByUserAjax.do")
public ModelAndView mberGrdEndByUserAjax(
@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{
// 회원 등급제 종료
mberGrdService.updateMberGrdEndByUser(mberGrdVO);
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 회원 등급제 복원
@RequestMapping(value = "/sym/grd/mberGrdRestoreByUserAjax.do")
public ModelAndView mberGrdRestoreByUserAjax(
@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.setRegId(frstRegisterId);
mberGrdVO.setEditId(frstRegisterId);
try{
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
int isMberGrd = mberGrdService.selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
if(isMberGrd == 1) {
// 회원 등급제 복원
mberGrdService.updateMberGrdRestoreByUser(mberGrdVO);
// 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트
mberGrdService.updateMberGrdAfterRefund(mberGrdVO);
}
else {
isSuccess = false;
msg = "문자할인, B선라인, 스팸회원 대상자는 등급제 대상자가 아닙니다.";
}
}
else {
isSuccess = false;
msg = "등급제 시행 OFF 일경우 복원이 불가합니다.";
}
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
// 회원 등급제 갱신
@RequestMapping(value = "/sym/grd/mberGrdUpdateByUserAjax.do")
public ModelAndView mberGrdUpdateByUserAjax(
@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{
// Step 1. 등급제 시행 ON 일경우
MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = mberGrdService.selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y")) {
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
// 회원 등급 변경(환불후) => 기존등급 상관없이 업데이트
mberGrdService.updateMberGrdAfterRefund(mberGrdVO);
}
}
catch(Exception e) {
isSuccess = false;
msg = e.getMessage();
}
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
return modelAndView;
}
}