File name
Commit message
Commit date
2024-11-28
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
File name
Commit message
Commit date
2024-11-14
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;
}
}