결제하기 기능에 등급제 저장 기능 추가
This commit is contained in:
parent
13cfae9b7e
commit
01c178573a
@ -39,6 +39,7 @@ import itn.let.mjo.pay.service.StVcVO;
|
||||
import itn.let.mjo.tax.service.TaxVO;
|
||||
import itn.let.mjo.tax.service.impl.TaxDAO;
|
||||
import itn.let.sym.grd.service.MberGrdService;
|
||||
import itn.let.sym.grd.service.MberGrdVO;
|
||||
import itn.let.sym.site.service.JoinSettingVO;
|
||||
import itn.let.uat.uia.service.impl.MberManageDAO;
|
||||
import itn.let.uss.umt.service.MberManageVO;
|
||||
@ -407,15 +408,16 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
// 등급제 Start
|
||||
// 회원별 등급 적용
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO.setMberId(mjonPayVO.getUserId());
|
||||
mberGrdVO.setAmt(mjonPayVO.getAmt());
|
||||
mberGrdVO.setMoid(mjonPayVO.getMoid());
|
||||
mberGrdService.mberGrdSaveByUser(mberGrdVO);
|
||||
// End
|
||||
*/
|
||||
|
||||
|
||||
mjonPayVO.setPaySuccess(true);
|
||||
return mjonPayVO;
|
||||
@ -722,15 +724,16 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
// 등급제 Start
|
||||
// 회원별 등급 적용
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO.setMberId(mjonPayVO.getUserId());
|
||||
mberGrdVO.setAmt(mjonPayVO.getAmt());
|
||||
mberGrdVO.setMoid(mjonPayVO.getMoid());
|
||||
mberGrdService.mberGrdSaveByUser(mberGrdVO);
|
||||
// End
|
||||
*/
|
||||
|
||||
|
||||
|
||||
//세금계산서/현금영수증 발행 처리해주기
|
||||
@ -2033,15 +2036,16 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
// 등급제 Start
|
||||
// 회원별 등급 적용
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO.setMberId(mjonPayVO.getUserId());
|
||||
mberGrdVO.setAmt(mjonPayVO.getAmt());
|
||||
mberGrdVO.setMoid(mjonPayVO.getMoid());
|
||||
mberGrdService.mberGrdSaveByUser(mberGrdVO);
|
||||
// End
|
||||
*/
|
||||
|
||||
|
||||
mjonPayVO.setPaySuccess(true);
|
||||
}
|
||||
@ -2200,15 +2204,16 @@ public class MjonPayServiceImpl extends EgovAbstractServiceImpl implements MjonP
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
// 등급제 Start
|
||||
// 회원별 등급 적용
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO.setMberId(mjonPayVO.getUserId());
|
||||
mberGrdVO.setAmt(mjonPayVO.getAmt());
|
||||
mberGrdVO.setMoid(mjonPayVO.getMoid());
|
||||
mberGrdService.mberGrdSaveByUser(mberGrdVO);
|
||||
// End
|
||||
*/
|
||||
|
||||
|
||||
mjonPayVO.setPaySuccess(true);
|
||||
}
|
||||
|
||||
@ -47,6 +47,7 @@ public class MberGrdVO extends UserDefaultVO {
|
||||
private String grdDatePrgYn; // 회원등급제 시작일자 진행여부(오늘보다 이전날짜이면 Y, 이후이면 N)
|
||||
private String grdPeriod; // 회원등급제 누적결제 계산기간
|
||||
private String tempYn;
|
||||
private String moid; // 결제번호
|
||||
|
||||
// 검색필터
|
||||
private String searchGrdStatus;
|
||||
@ -275,6 +276,12 @@ public class MberGrdVO extends UserDefaultVO {
|
||||
public void setTempYn(String tempYn) {
|
||||
this.tempYn = tempYn;
|
||||
}
|
||||
public String getMoid() {
|
||||
return moid;
|
||||
}
|
||||
public void setMoid(String moid) {
|
||||
this.moid = moid;
|
||||
}
|
||||
public String getSearchGrdStatus() {
|
||||
return searchGrdStatus;
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ import javax.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
|
||||
import itn.let.mjo.mjocommon.MjonCommon;
|
||||
import itn.let.mjo.pay.service.MjonPayService;
|
||||
import itn.let.sym.grd.service.MberGrdService;
|
||||
import itn.let.sym.grd.service.MberGrdVO;
|
||||
@ -28,6 +29,9 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
@Resource(name = "mberManageService")
|
||||
private EgovMberManageService mberManageService;
|
||||
|
||||
@Resource(name="MjonCommon")
|
||||
private MjonCommon mjonCommon;
|
||||
|
||||
// 등급제 단가 추출 => 시스템 단가에 적용
|
||||
@Override
|
||||
public JoinSettingVO selectMberGrdDefaultInfo(JoinSettingVO sysJoinSetVO, String mberId) throws Exception {
|
||||
@ -40,7 +44,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
MberGrdVO mberGrdVO = new MberGrdVO();
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO = new MberGrdVO();
|
||||
mberGrdVO = selectMberGrdInfo(mberId);
|
||||
if (null != mberGrdVO) {
|
||||
@ -168,7 +172,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// Step 1. 등급제 시행 ON 일경우
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
|
||||
|
||||
// Step1. 대상자 추가
|
||||
@ -246,66 +250,77 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
|
||||
// 회원별 등급 적용
|
||||
@Override
|
||||
public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception {
|
||||
// 현재 날짜 구하기
|
||||
LocalDate now = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
|
||||
String nowDate = now.format(formatter); // 포맷 적용
|
||||
|
||||
mberGrdVO.setRegId(mberGrdVO.getMberId());
|
||||
mberGrdVO.setEditId(mberGrdVO.getMberId());
|
||||
|
||||
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate() && mberGrdVO1.getGrdDatePrgYn().equals("Y")) {
|
||||
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
|
||||
|
||||
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
|
||||
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
|
||||
if(isMberGrd == 1) {
|
||||
// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
|
||||
MberGrdVO mberGrdVO3 = new MberGrdVO();
|
||||
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
|
||||
if (null != mberGrdVO3) {
|
||||
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
|
||||
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
|
||||
|
||||
// Step 4. 등급제 설정값 조회
|
||||
MberGrdVO mberGrdVO4 = new MberGrdVO();
|
||||
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
|
||||
if (null != mberGrdVO4) {
|
||||
mberGrdVO.setAmt(mberGrdVO.getAmt());
|
||||
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
|
||||
mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice());
|
||||
mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice());
|
||||
mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice());
|
||||
mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price());
|
||||
mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price());
|
||||
mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
|
||||
mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
|
||||
mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
|
||||
mberGrdVO.setGrdStatus("Y");
|
||||
|
||||
// Step 5. 인서트 Or 업데이트
|
||||
MberGrdVO mberGrdVO5 = new MberGrdVO();
|
||||
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
|
||||
if (null != mberGrdVO5) {
|
||||
updateMberGrd(mberGrdVO);
|
||||
|
||||
// 회원별 등급 히스토리 인서트
|
||||
insertMberGrdHist(mberGrdVO);
|
||||
}
|
||||
else {
|
||||
// 인서트
|
||||
insertMberGrd(mberGrdVO);
|
||||
|
||||
// 회원별 등급 히스토리 인서트
|
||||
insertMberGrdHist(mberGrdVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
try {
|
||||
// 현재 날짜 구하기
|
||||
LocalDate now = LocalDate.now();
|
||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // 포맷 정의
|
||||
String nowDate = now.format(formatter); // 포맷 적용
|
||||
|
||||
mberGrdVO.setRegId(mberGrdVO.getMberId());
|
||||
mberGrdVO.setEditId(mberGrdVO.getMberId());
|
||||
|
||||
// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
|
||||
MberGrdVO mberGrdVO1 = new MberGrdVO();
|
||||
mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
|
||||
if (mberGrdVO1.getGrdNoti().equals("Y")) {
|
||||
mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
|
||||
|
||||
// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
|
||||
int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId()); // 등급제 대상여부(1: 대상, 0: 미대상)
|
||||
if(isMberGrd == 1) {
|
||||
// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
|
||||
MberGrdVO mberGrdVO3 = new MberGrdVO();
|
||||
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
|
||||
if (null != mberGrdVO3) {
|
||||
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
|
||||
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
|
||||
|
||||
// Step 4. 등급제 설정값 조회
|
||||
MberGrdVO mberGrdVO4 = new MberGrdVO();
|
||||
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
|
||||
if (null != mberGrdVO4) {
|
||||
mberGrdVO.setAmt(mberGrdVO.getAmt());
|
||||
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
|
||||
mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice());
|
||||
mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice());
|
||||
mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice());
|
||||
mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price());
|
||||
mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price());
|
||||
mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
|
||||
mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
|
||||
mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
|
||||
mberGrdVO.setGrdStatus("Y");
|
||||
|
||||
// Step 5. 인서트 Or 업데이트
|
||||
MberGrdVO mberGrdVO5 = new MberGrdVO();
|
||||
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
|
||||
if (null != mberGrdVO5) {
|
||||
updateMberGrd(mberGrdVO);
|
||||
|
||||
// 회원별 등급 히스토리 인서트
|
||||
insertMberGrdHist(mberGrdVO);
|
||||
}
|
||||
else {
|
||||
// 인서트
|
||||
insertMberGrd(mberGrdVO);
|
||||
|
||||
// 회원별 등급 히스토리 인서트
|
||||
insertMberGrdHist(mberGrdVO);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception e) {
|
||||
// Slack 메시지 발송(단순본문)
|
||||
String msg = "[문자온] " + mberGrdVO.getMberId() + "님 결제중 회원등급 저장 오류 알림 => 개발팀에게 문의해주세요.";
|
||||
mjonCommon.sendSimpleSlackMsg(msg);
|
||||
|
||||
System.out.println("#############################################################");
|
||||
System.out.println(mberGrdVO.getMberId() + "님 결제중 회원등급 저장 오류");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
// 회원별 등급제 대상여부
|
||||
|
||||
@ -833,6 +833,7 @@
|
||||
, AMT
|
||||
, TOT_AMT
|
||||
, GRD_DATE
|
||||
, MOID
|
||||
, REG_ID
|
||||
, REG_DATE
|
||||
, EDIT_ID
|
||||
@ -850,6 +851,7 @@
|
||||
, #amt#
|
||||
, #totAmt#
|
||||
, #grdNewDate#
|
||||
, #moid#
|
||||
, #regId#
|
||||
, NOW()
|
||||
, #editId#
|
||||
@ -858,6 +860,7 @@
|
||||
</insert>
|
||||
|
||||
<!-- 회원별 등급 히스토리 목록 => 등급제 시행일이후 목록(사용자화면용) -->
|
||||
<!-- 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
|
||||
@ -872,6 +875,7 @@
|
||||
, 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
|
||||
@ -881,9 +885,8 @@
|
||||
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#)
|
||||
GROUP BY A.TOT_AMT, A.AMT
|
||||
ORDER BY A.REG_DATE DESC
|
||||
LIMIT #recordCountPerPage# OFFSET #firstIndex#
|
||||
</select>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user