환불완료시 회원등급 업데이트 기능 추가
This commit is contained in:
parent
7d32430968
commit
daa6b8bd49
@ -48,6 +48,8 @@ import itn.let.mjo.pay.service.RefundService;
|
||||
import itn.let.mjo.pay.service.RefundVO;
|
||||
import itn.let.mjo.tax.service.TaxService;
|
||||
import itn.let.mjo.tax.service.TaxVO;
|
||||
import itn.let.sym.grd.service.MberGrdService;
|
||||
import itn.let.sym.grd.service.MberGrdVO;
|
||||
import itn.let.sym.site.service.EgovSiteManagerService;
|
||||
import itn.let.sym.site.service.JoinSettingVO;
|
||||
import itn.let.uat.uia.service.EgovLoginService;
|
||||
@ -107,6 +109,9 @@ public class RefundController {
|
||||
@Resource(name = "MjonEventService")
|
||||
private MjonEventService mjonEventService;
|
||||
|
||||
@Resource(name = "mberGrdService")
|
||||
MberGrdService mberGrdService;
|
||||
|
||||
/**
|
||||
* 환불요청 목록 페이지
|
||||
* @param RefundVO
|
||||
@ -542,7 +547,15 @@ public class RefundController {
|
||||
mjonPayVO.setMemo("환불처리 " + refundVO.getRefundPoint() + "포인트");
|
||||
mjonPayService.insertPoint(mjonPayVO);
|
||||
|
||||
|
||||
// 등급제 Start
|
||||
// 회원별 등급 적용
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO.setMberId(refundVO.getMberId());
|
||||
mberGrdVO.setAmt("0");
|
||||
mberGrdVO.setMoid("");
|
||||
mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);
|
||||
// End
|
||||
|
||||
//modelAndView.addObject("status", "success");
|
||||
s_status = "success";
|
||||
|
||||
@ -722,6 +735,15 @@ public class RefundController {
|
||||
}
|
||||
}
|
||||
|
||||
// 등급제 Start
|
||||
// 회원별 등급 적용
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO.setMberId(refundVO.getMberId());
|
||||
mberGrdVO.setAmt("0");
|
||||
mberGrdVO.setMoid("");
|
||||
mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);
|
||||
// End
|
||||
|
||||
}else if(afterStatus.equals("4")) {// 처리불가로 변경 시
|
||||
|
||||
if(beforeStatus.equals("3")) {
|
||||
|
||||
@ -9,6 +9,9 @@ public interface MberGrdService {
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용
|
||||
public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception;
|
||||
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용 Last
|
||||
public JoinSettingVO selectMberGrdDefaultInfoLast(JoinSettingVO sysJoinSetVO, String mberId) throws Exception;
|
||||
|
||||
// 등급제 설정 일괄변경
|
||||
public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception;
|
||||
|
||||
@ -85,9 +88,15 @@ public interface MberGrdService {
|
||||
// 회원별 등급 적용
|
||||
public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception;
|
||||
|
||||
// 회원별 등급 적용 Last
|
||||
public void mberGrdSaveByUserLast(MberGrdVO mberGrdVO) throws Exception;
|
||||
|
||||
// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외)
|
||||
public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception;
|
||||
|
||||
// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외) Last
|
||||
public void mberGrdSaveByUserNoHistLast(MberGrdVO mberGrdVO) throws Exception;
|
||||
|
||||
// 회원별 등급제 대상여부
|
||||
int selectMberGrdCnt(String mberId) throws Exception;
|
||||
|
||||
@ -100,6 +109,8 @@ public interface MberGrdService {
|
||||
// 회원별 등급 저장여부
|
||||
int selectMberGrdSaveCnt(String mberId) throws Exception;
|
||||
|
||||
// 회원별 등급제 기간내, 최종결제이후 환불총금액
|
||||
int selectMberGrdRefundSum(String mberId) throws Exception;
|
||||
|
||||
// 회원별 등급 히스토리 등록
|
||||
public void insertMberGrdHist(MberGrdVO mberGrdVO) throws Exception;
|
||||
|
||||
@ -158,6 +158,10 @@ public class MberGrdDAO extends EgovAbstractDAO {
|
||||
return (int) select("mberGrdDAO.selectMberGrdSaveCnt", mberId);
|
||||
}
|
||||
|
||||
// 회원별 등급제 기간내, 최종결제이후 환불총금액
|
||||
public int selectMberGrdRefundSum(String mberId) throws Exception{
|
||||
return (int) select("mberGrdDAO.selectMberGrdRefundSum", mberId);
|
||||
}
|
||||
|
||||
// 회원별 등급 히스토리 등록
|
||||
public void insertMberGrdHist(MberGrdVO mberGrdVO) throws Exception{
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
package itn.let.sym.grd.service.impl;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.util.List;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
@ -35,38 +38,6 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
@Resource(name="egovGrdSettingHistIdGnrService")
|
||||
private EgovIdGnrService gshidgenService;
|
||||
|
||||
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용
|
||||
@Override
|
||||
public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception {
|
||||
/*
|
||||
// 공백제거
|
||||
mberId = mberId.trim();
|
||||
|
||||
// Step 1. 등급제 시행 ON 일경우
|
||||
if (StringUtils.isNotEmpty(mberId)) {
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO = selectMberGrdInfo(mberId);
|
||||
if (null != mberGrdVO) {
|
||||
if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) {
|
||||
sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice());
|
||||
sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice());
|
||||
sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice());
|
||||
sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price());
|
||||
sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
*/
|
||||
|
||||
return sysJoinSetVO;
|
||||
}
|
||||
|
||||
// 등급제 시행여부 변경
|
||||
@Override
|
||||
public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception {
|
||||
@ -276,11 +247,76 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
return mberGrdDAO.updateMberGrdRestoreByUser(mberGrdVO);
|
||||
}
|
||||
|
||||
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용
|
||||
@Override
|
||||
public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception {
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용 Last
|
||||
//sysJoinSetVO = selectMberGrdDefaultInfoLast(sysJoinSetVO, mberId);
|
||||
|
||||
return sysJoinSetVO;
|
||||
}
|
||||
|
||||
// 회원별 등급 적용
|
||||
@Override
|
||||
public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception {
|
||||
/*
|
||||
// 회원별 등급 적용 Last
|
||||
//mberGrdSaveByUserLast(mberGrdVO);
|
||||
}
|
||||
|
||||
// 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)
|
||||
@Override
|
||||
public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception {
|
||||
// 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)
|
||||
//mberGrdSaveByUserNoHistLast(mberGrdVO);
|
||||
}
|
||||
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용 Last
|
||||
@Override
|
||||
public JoinSettingVO selectMberGrdDefaultInfoLast(JoinSettingVO sysJoinSetVO, String mberId) throws Exception {
|
||||
System.out.println("START 등급제 단가 추출 => 시스템 단가에 적용");
|
||||
|
||||
// 공백제거
|
||||
mberId = mberId.trim();
|
||||
|
||||
if (StringUtils.isNotEmpty(mberId)) {
|
||||
System.out.println("아이디 : " + mberId);
|
||||
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
// Step 1. 등급제 시행 ON 일경우
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
System.out.println("Step 1. 등급제 시행 ON 일경우");
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO = new MberGrdVO();
|
||||
|
||||
// Step 2. 등급 정보 조회
|
||||
mberGrdVO = selectMberGrdInfo(mberId);
|
||||
System.out.println("Step 2. 등급 정보 조회");
|
||||
if (null != mberGrdVO) {
|
||||
if(mberGrdVO.getShortPrice() > 1 && mberGrdVO.getLongPrice() > 1 && mberGrdVO.getPicturePrice() > 1 && mberGrdVO.getPicture2Price() > 1 && mberGrdVO.getPicture3Price() > 1) {
|
||||
sysJoinSetVO.setShortPrice(mberGrdVO.getShortPrice());
|
||||
sysJoinSetVO.setLongPrice(mberGrdVO.getLongPrice());
|
||||
sysJoinSetVO.setPicturePrice(mberGrdVO.getPicturePrice());
|
||||
sysJoinSetVO.setPicture2Price(mberGrdVO.getPicture2Price());
|
||||
sysJoinSetVO.setPicture3Price(mberGrdVO.getPicture3Price());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
System.out.println("END 등급제 단가 추출 => 시스템 단가에 적용");
|
||||
|
||||
return sysJoinSetVO;
|
||||
}
|
||||
|
||||
// 회원별 등급 적용 Last
|
||||
@Override
|
||||
public void mberGrdSaveByUserLast(MberGrdVO mberGrdVO) throws Exception {
|
||||
try {
|
||||
System.out.println("START 회원별 등급 적용");
|
||||
System.out.println("아이디 : " + mberGrdVO.getMberId());
|
||||
|
||||
// 현재 날짜 구하기
|
||||
LocalDate now = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
|
||||
@ -292,15 +328,18 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
|
||||
|
||||
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
|
||||
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
|
||||
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
|
||||
if(isMberGrd == 1) {
|
||||
// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
|
||||
MberGrdVO mberGrdVO3 = new MberGrdVO();
|
||||
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
|
||||
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
|
||||
if (null != mberGrdVO3) {
|
||||
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
|
||||
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
|
||||
@ -308,6 +347,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 4. 등급제 설정값 조회
|
||||
MberGrdVO mberGrdVO4 = new MberGrdVO();
|
||||
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
|
||||
System.out.println("Step 4. 등급제 설정값 조회");
|
||||
if (null != mberGrdVO4) {
|
||||
mberGrdVO.setAmt(mberGrdVO.getAmt());
|
||||
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
|
||||
@ -324,6 +364,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 5. 인서트 Or 업데이트
|
||||
MberGrdVO mberGrdVO5 = new MberGrdVO();
|
||||
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
|
||||
System.out.println("Step 5. 인서트 Or 업데이트");
|
||||
if (null != mberGrdVO5) {
|
||||
updateMberGrdOk(mberGrdVO);
|
||||
|
||||
@ -341,6 +382,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("START 회원별 등급 적용");
|
||||
}
|
||||
catch (Exception e) {
|
||||
// Slack 메시지 발송(단순본문)
|
||||
@ -350,14 +392,16 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
System.out.println("#############################################################");
|
||||
System.out.println(mberGrdVO.getMberId() + "님 결제중 회원등급 저장 오류");
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외)
|
||||
// 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)
|
||||
@Override
|
||||
public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception {
|
||||
/*
|
||||
public void mberGrdSaveByUserNoHistLast(MberGrdVO mberGrdVO) throws Exception {
|
||||
|
||||
try {
|
||||
System.out.println("START 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
|
||||
System.out.println("아이디 : " + mberGrdVO.getMberId());
|
||||
|
||||
// 현재 날짜 구하기
|
||||
LocalDate now = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
|
||||
@ -369,15 +413,18 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
|
||||
|
||||
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
|
||||
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
|
||||
System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
|
||||
if(isMberGrd == 1) {
|
||||
// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
|
||||
MberGrdVO mberGrdVO3 = new MberGrdVO();
|
||||
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
|
||||
System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
|
||||
if (null != mberGrdVO3) {
|
||||
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
|
||||
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
|
||||
@ -385,6 +432,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 4. 등급제 설정값 조회
|
||||
MberGrdVO mberGrdVO4 = new MberGrdVO();
|
||||
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
|
||||
System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
|
||||
if (null != mberGrdVO4) {
|
||||
mberGrdVO.setAmt(mberGrdVO.getAmt());
|
||||
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
|
||||
@ -401,6 +449,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 5. 인서트 Or 업데이트
|
||||
MberGrdVO mberGrdVO5 = new MberGrdVO();
|
||||
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
|
||||
System.out.println("Step 5. 인서트 Or 업데이트");
|
||||
if (null != mberGrdVO5) {
|
||||
updateMberGrdOk(mberGrdVO);
|
||||
}
|
||||
@ -412,6 +461,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("END 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
|
||||
}
|
||||
catch (Exception e) {
|
||||
// Slack 메시지 발송(단순본문)
|
||||
@ -421,7 +471,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
System.out.println("#############################################################");
|
||||
System.out.println(mberGrdVO.getMberId() + "님 로그인중 회원등급 저장 오류");
|
||||
}
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
// 회원별 등급제 대상여부
|
||||
@ -460,6 +510,14 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
return mberGrdDAO.selectMberGrdSaveCnt(mberId);
|
||||
}
|
||||
|
||||
// 회원별 등급제 기간내, 최종결제이후 환불총금액
|
||||
@Override
|
||||
public int selectMberGrdRefundSum(String mberId) throws Exception{
|
||||
// 공백제거
|
||||
mberId = mberId.trim();
|
||||
|
||||
return mberGrdDAO.selectMberGrdRefundSum(mberId);
|
||||
}
|
||||
|
||||
// 회원별 등급 히스토리 등록
|
||||
@Override
|
||||
|
||||
@ -417,7 +417,7 @@
|
||||
SELECT
|
||||
S.USER_ID
|
||||
, SUM(S.AMT) AS AMT_SUM_ORIGIN
|
||||
, (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM
|
||||
, (SUM(S.AMT) - IFNULL(SUM(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10)), 0)) AS AMT_SUM
|
||||
, (
|
||||
SELECT IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) FROM MJ_REFUND R
|
||||
WHERE S.USER_ID = R.MBER_ID
|
||||
@ -643,7 +643,7 @@
|
||||
SELECT
|
||||
S.USER_ID
|
||||
, SUM(S.AMT) AS AMT_SUM_ORIGIN
|
||||
, (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM
|
||||
, (SUM(S.AMT) - IFNULL(SUM(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10)), 0)) AS AMT_SUM
|
||||
, (
|
||||
SELECT IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) FROM MJ_REFUND R
|
||||
WHERE S.USER_ID = R.MBER_ID
|
||||
@ -712,7 +712,7 @@
|
||||
SELECT
|
||||
S.USER_ID
|
||||
, SUM(S.AMT) AS AMT_SUM_ORIGIN
|
||||
, (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM
|
||||
, (SUM(S.AMT) - IFNULL(SUM(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10)), 0)) AS AMT_SUM
|
||||
, (
|
||||
SELECT IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) FROM MJ_REFUND R
|
||||
WHERE S.USER_ID = R.MBER_ID
|
||||
@ -947,7 +947,18 @@
|
||||
LIMIT 1
|
||||
</select>
|
||||
|
||||
|
||||
<!-- 회원별 등급제 기간내, 최종결제이후 환불총금액 -->
|
||||
<select id="mberGrdDAO.selectMberGrdRefundSum" parameterClass="String" resultClass="Integer">
|
||||
SELECT
|
||||
IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) refundSum
|
||||
FROM MJ_REFUND R
|
||||
WHERE R.MBER_ID = #mberId#
|
||||
AND R.REFUND_STATUS = '3'
|
||||
AND R.REFUND_DIVISION = '1'
|
||||
AND R.REFUND_HANDLE_PNTTM >= (SELECT G.GRD_DATE FROM MJ_MBER_GRD_INFO G WHERE G.MBER_ID = #mberId#)
|
||||
AND R.REFUND_HANDLE_PNTTM >= (SELECT MAX(S.REG_DATE) FROM MJ_PG S WHERE S.USER_ID = #mberId# AND S.PG_STATUS = '1')
|
||||
</select>
|
||||
|
||||
<!-- 회원별 등급 히스토리 등록 -->
|
||||
<insert id="mberGrdDAO.insertMberGrdHist" parameterClass="mberGrdVO">
|
||||
INSERT INTO MJ_MBER_GRD_HIST
|
||||
@ -991,34 +1002,67 @@
|
||||
<!-- 회원별 등급 히스토리 목록 => 등급제 시행일이후 목록(사용자화면용) -->
|
||||
<!-- AND A.GRD_DATE >= (SELECT S.GRD_DATE FROM MJ_MBER_GRD_INFO S WHERE S.MBER_ID = #mberId#) -->
|
||||
<select id="mberGrdDAO.selectMberGrdHistByGrdDateList" parameterClass="mberGrdVO" resultClass="mberGrdVO">
|
||||
SELECT
|
||||
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
|
||||
, A.PICTURE2_PRICE AS picture2Price
|
||||
, A.PICTURE3_PRICE AS picture3Price
|
||||
, A.AMT AS amt
|
||||
, A.TOT_AMT AS totAmt
|
||||
, A.GRD_DATE AS grdDate
|
||||
, A.MOID AS moid
|
||||
, A.REG_ID AS regId
|
||||
, 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
|
||||
<![CDATA[
|
||||
SELECT
|
||||
M3.totCnt
|
||||
, M3.mberId
|
||||
, M3.regDate
|
||||
, M3.amt
|
||||
, M3.amtStepSum
|
||||
, M3.refundSum
|
||||
, M3.totAmt
|
||||
, M3.GRD_SET_NO AS grdSetNo
|
||||
, B.GRD_SET_NM AS grdSetNm
|
||||
FROM (
|
||||
SELECT
|
||||
M2.totCnt
|
||||
, M2.mberId
|
||||
, M2.regDate
|
||||
, M2.amt
|
||||
, M2.amtStepSum
|
||||
, M2.refundSum
|
||||
, (IFNULL(ROUND(M2.amtStepSum - M2.refundSum), 0)) AS totAmt
|
||||
, (
|
||||
SELECT IFNULL(MIN(S1.GRD_SET_NO), (SELECT MAX(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING)) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= IFNULL(ROUND(M2.amtStepSum - M2.refundSum), 0)
|
||||
) GRD_SET_NO
|
||||
FROM (
|
||||
SELECT
|
||||
M.totCnt
|
||||
, M.mberId
|
||||
, DATE_FORMAT(M.REG_DATE, '%Y-%m-%d %H:%i') AS regDate
|
||||
, M.amt
|
||||
, SUM(M.amt) OVER(ORDER BY M.REG_DATE ASC) AS amtStepSum
|
||||
, (
|
||||
SELECT IFNULL(ROUND(SUM(R.TRNSF_CASH)), 0) FROM MJ_REFUND R
|
||||
WHERE M.mberId = R.MBER_ID
|
||||
AND R.REFUND_STATUS = '3'
|
||||
AND R.REFUND_DIVISION = '1'
|
||||
AND R.REFUND_HANDLE_PNTTM >= (SELECT G.GRD_DATE FROM MJ_MBER_GRD_INFO G WHERE G.MBER_ID = M.mberId)
|
||||
AND M.REG_DATE >= R.REFUND_HANDLE_PNTTM
|
||||
) refundSum
|
||||
FROM (
|
||||
SELECT
|
||||
COUNT(S.USER_ID) OVER() AS totCnt
|
||||
, S.USER_ID AS mberId
|
||||
, S.REG_DATE
|
||||
, (S.AMT - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS amt
|
||||
FROM MJ_PG S
|
||||
LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS
|
||||
ON S.USER_ID = SS.MBER_ID
|
||||
AND S.MOID = SS.EVENT_PG_MOID
|
||||
WHERE
|
||||
S.USER_ID = #mberId#
|
||||
AND S.PG_STATUS = '1'
|
||||
AND S.REG_DATE >= (SELECT G.GRD_DATE FROM MJ_MBER_GRD_INFO G WHERE G.MBER_ID = #mberId#)
|
||||
ORDER BY S.REG_DATE ASC
|
||||
) M
|
||||
ORDER BY M.REG_DATE DESC
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
) M2
|
||||
) M3
|
||||
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 IFNULL(TRIM(A.MOID), '') != ''
|
||||
AND A.TOT_AMT > 0
|
||||
AND A.GRD_DATE >= (SELECT S.GRD_DATE FROM MJ_MBER_GRD_INFO S WHERE S.MBER_ID = #mberId#)
|
||||
ORDER BY A.REG_DATE DESC
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
ON M3.GRD_SET_NO = B.GRD_SET_NO
|
||||
]]>
|
||||
</select>
|
||||
|
||||
<!-- 회원별 등급 히스토리 목록 -->
|
||||
|
||||
Loading…
Reference in New Issue
Block a user