마이페이지 등급제 추가
This commit is contained in:
parent
01c896f91a
commit
dd3a7c626f
@ -8,7 +8,8 @@ public class MberGrdVO extends UserDefaultVO {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
private int grdSetNo; // 등급설정번호
|
||||
private String grdSetNm; // 등급설정명
|
||||
private String grdSetNm; // 등급명
|
||||
private String grdSetIcon; // 등급아이콘
|
||||
private long stdAmt; // 기준결제액
|
||||
private String stdAmtComma; // 기준결제액(콤마)
|
||||
private long totAmt; // 누적결제액
|
||||
@ -58,6 +59,12 @@ public class MberGrdVO extends UserDefaultVO {
|
||||
public void setGrdSetNm(String grdSetNm) {
|
||||
this.grdSetNm = grdSetNm;
|
||||
}
|
||||
public String getGrdSetIcon() {
|
||||
return grdSetIcon;
|
||||
}
|
||||
public void setGrdSetIcon(String grdSetIcon) {
|
||||
this.grdSetIcon = grdSetIcon;
|
||||
}
|
||||
public long getStdAmt() {
|
||||
return stdAmt;
|
||||
}
|
||||
|
||||
@ -3,6 +3,7 @@ package itn.let.sym.grd.web;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.ui.ModelMap;
|
||||
@ -13,6 +14,7 @@ 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;
|
||||
|
||||
@ -23,158 +25,33 @@ public class MberGrdController {
|
||||
MberGrdService mberGrdService;
|
||||
|
||||
/**
|
||||
* 등급제 관리 화면
|
||||
*
|
||||
* @param mberGrdVO
|
||||
* @param model
|
||||
* @return
|
||||
* @throws Exception
|
||||
* ########################################
|
||||
* 등급제 사용자 화면
|
||||
* ########################################
|
||||
*/
|
||||
@RequestMapping("/sym/grd/selectMberGrdSetting.do")
|
||||
public String selectJoinSetting(MberGrdVO mberGrdVO, ModelMap model) throws Exception {
|
||||
|
||||
List<MberGrdVO> 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 mjonMsgVO
|
||||
* @param model
|
||||
* @return
|
||||
* @return "/web/member/grd/MberGrdHistListAjax.do"
|
||||
* @throws Exception
|
||||
*/
|
||||
@RequestMapping("/sym/grd/selectMberGrdList.do")
|
||||
public String selectMetaTagList(@ModelAttribute("searchVO") MberGrdVO mberGrdVO, ModelMap model) throws Exception{
|
||||
@RequestMapping(value= {"/web/member/grd/mberGrdHistListAjax.do"})
|
||||
public String mberGrdHistListAjax(@ModelAttribute("searchVO") MberGrdVO mberGrdVO,
|
||||
HttpServletRequest request,
|
||||
ModelMap model) throws Exception{
|
||||
|
||||
/** paging */
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
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());
|
||||
@ -185,50 +62,53 @@ public class MberGrdController {
|
||||
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);
|
||||
List<MberGrdVO> mberGrdHistList = mberGrdService.selectMberGrdHistByGrdDateList(mberGrdVO);
|
||||
|
||||
return "/sym/grd/mberGrdList";
|
||||
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());
|
||||
|
||||
return "/web/grd/MberGrdHistListAjax";
|
||||
}
|
||||
|
||||
// 등급제 적용여부 체크
|
||||
@RequestMapping(value = "/sym/grd/mberGrdChkAjax.do")
|
||||
@RequestMapping(value = "/web/member/grd/mberGrdChkAjax.do")
|
||||
public ModelAndView mberGrdChkAjax(
|
||||
@ModelAttribute("mberGrdVO") MberGrdVO mberGrdVO) throws Exception {
|
||||
|
||||
ModelAndView modelAndView = new ModelAndView();
|
||||
modelAndView.setViewName("jsonView");
|
||||
|
||||
boolean isSuccess = true;
|
||||
// 로그인VO에서 사용자 정보 가져오기
|
||||
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
|
||||
String userId = loginVO == null ? "" : EgovStringUtil.isNullToString(loginVO.getId());
|
||||
mberGrdVO.setMberId(userId);
|
||||
|
||||
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{
|
||||
// @@@@@ 등급제 적용여부 체크
|
||||
//MberGrdVO rtnMberGrdVO = new MberGrdVO();
|
||||
// 회원별 이벤트 진행여부
|
||||
int mberEventPrgCnt = mberGrdService.selectMberEventPrgCnt(mberGrdVO.getMberId());
|
||||
if (mberEventPrgCnt == 0) {
|
||||
rtnMberGrdVO = mberGrdService.selectMberGrdInfo(mberGrdVO.getMberId());
|
||||
if (null != rtnMberGrdVO) {
|
||||
// 등급제 적용
|
||||
|
||||
isSuccess = true;
|
||||
}
|
||||
else {
|
||||
isSuccess = false;
|
||||
msg = "종료";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
catch(Exception e) {
|
||||
isSuccess = false;
|
||||
msg = e.getMessage();
|
||||
}
|
||||
|
||||
|
||||
240
src/main/java/itn/let/sym/grd/web/MberGrdMngController.java
Normal file
240
src/main/java/itn/let/sym/grd/web/MberGrdMngController.java
Normal file
@ -0,0 +1,240 @@
|
||||
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<MberGrdVO> 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<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 = 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;
|
||||
}
|
||||
|
||||
}
|
||||
@ -186,6 +186,22 @@
|
||||
, blineCode
|
||||
, M.grdSetNo
|
||||
, M.grdSetNm
|
||||
, CASE
|
||||
WHEN M.grdSetNo = 1 THEN 'vvip'
|
||||
WHEN M.grdSetNo = 2 THEN 'vip'
|
||||
WHEN M.grdSetNo = 3 THEN 'gold'
|
||||
WHEN M.grdSetNo = 4 THEN 'sliver'
|
||||
WHEN M.grdSetNo = 5 THEN 'black'
|
||||
WHEN M.grdSetNo = 6 THEN 'red'
|
||||
WHEN M.grdSetNo = 7 THEN 'purple'
|
||||
WHEN M.grdSetNo = 8 THEN 'blue'
|
||||
WHEN M.grdSetNo = 9 THEN 'orange'
|
||||
WHEN M.grdSetNo = 10 THEN 'green'
|
||||
WHEN M.grdSetNo = 11 THEN 'yellow'
|
||||
WHEN M.grdSetNo = 112 THEN 'white'
|
||||
END grdSetIcon
|
||||
, M.grdDate
|
||||
, M.totAmt
|
||||
, M.shortPrice
|
||||
, M.longPrice
|
||||
, M.picturePrice
|
||||
@ -197,6 +213,8 @@
|
||||
, IFNULL(A.BLINE_CODE, 'N') AS blineCode
|
||||
, G.GRD_SET_NO AS grdSetNo
|
||||
, S.GRD_SET_NM AS grdSetNm
|
||||
, DATE_FORMAT(G.GRD_DATE, '%Y-%m-%d') AS grdDate
|
||||
, G.TOT_AMT AS totAmt
|
||||
, G.SHORT_PRICE AS shortPrice
|
||||
, G.LONG_PRICE AS longPrice
|
||||
, G.PICTURE_PRICE AS picturePrice
|
||||
@ -494,6 +512,7 @@
|
||||
COUNT(MBER_ID) OVER() AS totCnt
|
||||
, A.MBER_ID AS mberId
|
||||
, A.GRD_SET_NO AS grdSetNo
|
||||
, B.GRD_SET_NM AS grdSetNm
|
||||
, A.SHORT_PRICE AS shortPrice
|
||||
, A.LONG_PRICE AS longPrice
|
||||
, A.PICTURE_PRICE AS picturePrice
|
||||
@ -503,19 +522,16 @@
|
||||
, A.TOT_AMT AS totAmt
|
||||
, A.GRD_DATE AS grdDate
|
||||
, A.REG_ID AS regId
|
||||
, A.REG_DATE AS regDate
|
||||
, DATE_FORMAT(A.REG_DATE, '%Y-%m-%d %H:%i') AS regDate
|
||||
, A.EDIT_ID AS editId
|
||||
, A.EDIT_DATE AS editDate
|
||||
FROM MJ_MBER_GRD_HIST A
|
||||
INNER JOIN MJ_MBER_GRD_SETTING B
|
||||
ON A.GRD_SET_NO = B.GRD_SET_NO
|
||||
WHERE 1=1
|
||||
AND A.MBER_ID = #mberId#
|
||||
AND A.GRD_DATE >= (SELECT S.GRD_DATE FROM MJ_MBER_GRD_INFO S WHERE S.MBER_ID = #mberId#)
|
||||
<isNotEmpty property="searchSortCnd">
|
||||
,$searchSortCnd$
|
||||
</isNotEmpty>
|
||||
<isNotEmpty property="searchSortOrd">
|
||||
$searchSortOrd$
|
||||
</isNotEmpty>
|
||||
ORDER BY A.REG_DATE DESC
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</select>
|
||||
|
||||
|
||||
@ -52,7 +52,7 @@ function fnSelectMber(mberId) {
|
||||
}
|
||||
|
||||
// 등급제 적용 테스트
|
||||
function setMberGrdChk(mberId) {
|
||||
function getMberGrdChk(mberId) {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/sym/grd/mberGrdChkAjax.do",
|
||||
|
||||
112
src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
Normal file
112
src/main/webapp/WEB-INF/jsp/web/grd/MberGrdHistListAjax.jsp
Normal file
@ -0,0 +1,112 @@
|
||||
<%--
|
||||
Class Name : SendNumberList.jsp
|
||||
Description : 발신번호 리스트 조회 페이지
|
||||
Modification Information
|
||||
|
||||
수정일 수정자 수정내용
|
||||
------- -------- ---------------------------
|
||||
2021.03.31 신명섭 최초 생성
|
||||
|
||||
Copyright (C) 2009 by ITN All right reserved.
|
||||
--%>
|
||||
<%@ page contentType="text/html; charset=utf-8"%>
|
||||
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
|
||||
<%@ taglib prefix="ui" uri="http://egovframework.gov/ctl/ui"%>
|
||||
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
|
||||
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
|
||||
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
|
||||
<%@ taglib prefix="ec" uri="/WEB-INF/tld/ecnet_tld.tld"%>
|
||||
|
||||
<script src="/publish/js/content.js"></script>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
/* 목록 정렬 항목 아이콘 표시 */
|
||||
var searchSortCnd = $("[name='searchSortCnd']").val();
|
||||
var searchSortOrd = $("[name='searchSortOrd']").val();
|
||||
if (searchSortCnd != "" && searchSortOrd != "" && searchSortCnd != undefined && searchSortOrd != undefined) {
|
||||
var $sort_div = $("#sort_"+ searchSortCnd);
|
||||
var sortClass = 'sortBtn' ;
|
||||
if (searchSortOrd == "desc") sortClass = "sortBtnDesc";
|
||||
$sort_div.replaceClass('sortBtn' , sortClass) ;
|
||||
$sort_div.attr("sortOrd", searchSortOrd);
|
||||
};
|
||||
|
||||
// 정렬 항목 이벤트
|
||||
$(".sort").click(function(e) {
|
||||
listSortOrd(this);
|
||||
});
|
||||
|
||||
//목록 정렬 항목 클릭
|
||||
function listSortOrd(obj){
|
||||
var sortOrd = $(obj).attr("sortOrd");
|
||||
var sortCnd = $(obj).attr("id");
|
||||
|
||||
$("[name='searchSortCnd']").val(sortCnd.substring(5)); // 구분자 제거
|
||||
if (sortOrd == "desc") $("[name='searchSortOrd']").val("asc");
|
||||
else $("[name='searchSortOrd']").val("desc");
|
||||
payUserListAjax('1'); //각 JSP마다 다를때 메소드 정의해 줘야됨
|
||||
};
|
||||
});
|
||||
|
||||
</script>
|
||||
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${totAmt}" var="totAmtTitle" />
|
||||
<div class="candidate_table">
|
||||
<p class="level_tx" id="grdPopArea">등급 : <c:out value="${grdSetNm}"/>(<c:out value="${totAmtTitle}"/>원) </p>
|
||||
<div class="tb_wrap">
|
||||
<table class="tType4">
|
||||
<colgroup>
|
||||
<col style="width: 50px;">
|
||||
<col style="width: 40%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 20%;">
|
||||
<col style="width: 20%;">
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="level_title">
|
||||
<th>구분</th>
|
||||
<th>결제일시</th>
|
||||
<th>결제금액</th>
|
||||
<th>누적금액</th>
|
||||
<th>등급</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<c:choose>
|
||||
<c:when test="${not empty mberGrdHistList}">
|
||||
<c:forEach var="result" items="${mberGrdHistList}" varStatus="status">
|
||||
<tr class="level_text">
|
||||
<td>1</td>
|
||||
<td><c:out value="${result.regDate}"/></td>
|
||||
<td>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.amt}" var="amt" />
|
||||
<c:out value="${amt}"/>
|
||||
</td>
|
||||
<td>
|
||||
<fmt:formatNumber type="number" maxFractionDigits="3" value="${result.totAmt}" var="totAmt" />
|
||||
<c:out value="${totAmt}"/>
|
||||
</td>
|
||||
<td><c:out value="${result.grdSetNm}"/></td>
|
||||
</tr>
|
||||
</c:forEach>
|
||||
</c:when>
|
||||
<c:otherwise>
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
검색 결과가 없습니다.
|
||||
</td>
|
||||
</tr>
|
||||
</c:otherwise>
|
||||
</c:choose>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- pagination -->
|
||||
<c:if test="${!empty mberGrdHistList}">
|
||||
<ul class="pagination">
|
||||
<ui:pagination paginationInfo = "${paginationInfo}" type="imageWeb" jsFunction="mberGrdHistListAjax" />
|
||||
</ul>
|
||||
</c:if>
|
||||
<!-- pagination -->
|
||||
@ -17,6 +17,9 @@ var thisfuledtlday = "";
|
||||
$(document).ready(function(){
|
||||
payUserListAjax(1);
|
||||
|
||||
// 등급제 대상 여부
|
||||
//getMberGrdChk();
|
||||
|
||||
var date = new Date() ;
|
||||
//이전달 첫날/마지막날 조회
|
||||
if(date.getMonth()+1 == 1){
|
||||
@ -93,8 +96,78 @@ function fnRevDetailPop03(msgGroupId){
|
||||
$('#faxClick').trigger('click');
|
||||
});
|
||||
}
|
||||
|
||||
// 등급제 누적결제액 세부내역
|
||||
function mberGrdHistListAjax(pageNo){
|
||||
document.levelForm.pageIndex.value = pageNo;
|
||||
|
||||
var sendData= $(document.levelForm).serializeArray();
|
||||
$("#mberGrdHistListLoad").load("/web/member/grd/mberGrdHistListAjax.do", sendData ,function(response, status, xhr){
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
// 등급제 대상 여부
|
||||
function getMberGrdChk() {
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "/web/member/grd/mberGrdChkAjax.do",
|
||||
data: {},
|
||||
dataType:'json',
|
||||
async: false,
|
||||
success: function (data) {
|
||||
if (data.isSuccess) {
|
||||
// 등급제 누적결제액 세부내역
|
||||
$("#levelSubTitle").html("(" + data.rtnMberGrdVO.grdDate + " ~ 현재)");
|
||||
document.levelForm.grdSetNm.value = data.rtnMberGrdVO.grdSetNm;
|
||||
document.levelForm.totAmt.value = data.rtnMberGrdVO.totAmt;
|
||||
mberGrdHistListAjax(1, data.rtnMberGrdVO.grdSetNm, data.rtnMberGrdVO.totAmt);
|
||||
|
||||
// 등급제 아이콘 버튼 노출여부
|
||||
var sHtml = "";
|
||||
sHtml += "<img src='/publish/images/level/level_icon/level_small/" + data.rtnMberGrdVO.grdSetIcon + "_small_icon.png' alt='등급별 스몰 아이콘'>";
|
||||
sHtml += "<p>" + data.rtnMberGrdVO.grdSetNm + "</p>";
|
||||
$("#levelIconBtn").html(sHtml);
|
||||
$("#levelIconBtn").show();
|
||||
}
|
||||
else {
|
||||
//alert("Msg : " + data.msg);
|
||||
}
|
||||
},
|
||||
error: function (e) {
|
||||
//alert("ERROR : " + JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<form id="levelForm" name="levelForm" method="post">
|
||||
<input type="hidden" id="pageType" name="pageType" value=""/>
|
||||
<input type="hidden" id="pageIndex" name="pageIndex" value=""/>
|
||||
<input type="hidden" id="grdSetNm" name="grdSetNm" value=""/>
|
||||
<input type="hidden" id="totAmt" name="totAmt" value=""/>
|
||||
</form>
|
||||
|
||||
<!-- 등급 및 누적결제액 확인 팝업 data-tooltip:level_check_popup01 시작 -->
|
||||
<div class="tooltip-wrap level_popup">
|
||||
<div class="popup-com candidate_layer level_check_popup01" tabindex="0" data-tooltip-con="level_check_popup01" data-focus="level_check_popup01" data-focus-prev="level_check_popup01-close" style="width: 680px;">
|
||||
<div class="popup_heading">
|
||||
<p>누적결제액 세부내역<span id="levelSubTitle"></span></p>
|
||||
<button type="button" class="tooltip-close" data-focus="level_check_popup01-close"><img src="/publish/images/content/layerPopup_close.png" alt="팝업 닫기"></button>
|
||||
</div>
|
||||
<div class="layer_in" id="mberGrdHistListLoad" style="padding-bottom: 0px;">
|
||||
|
||||
</div>
|
||||
|
||||
<div class="popup_btn_wrap2" style="margin-bottom: 30px;">
|
||||
<button type="button" class="tooltip-close" data-focus="level_check_popup01-close">닫기</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!-- 등급 및 누적결제액 확인 팝업 data-tooltip:level_check_popup01 끝 -->
|
||||
|
||||
<!-- 문자 팝업 -->
|
||||
<div class="tooltip-wrap">
|
||||
<div class="popup-com adr_layer rev_popup01" tabindex="0" data-tooltip-con="rev_popup01"
|
||||
@ -180,6 +253,8 @@ function fnRevDetailPop03(msgGroupId){
|
||||
</div>
|
||||
<div class="my_dashboard">
|
||||
<div class="my_dashboard_cont1">
|
||||
<button type="button" class="level_icon" data-tooltip="level_check_popup01" id="levelIconBtn" style="display: none;">
|
||||
</button>
|
||||
<div>
|
||||
<p>
|
||||
<span><c:out value="${mberManageVO.mberNm}"/></span> 회원님 반갑습니다
|
||||
|
||||
Loading…
Reference in New Issue
Block a user