회원별 등급 적용 로직 수정

This commit is contained in:
itn 2023-07-07 10:43:28 +09:00
parent 04f60ff9e2
commit f8566b0fdc
2 changed files with 67 additions and 44 deletions

View File

@ -9,8 +9,11 @@ import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
import itn.let.mjo.pay.service.MjonPayService;
import itn.let.sym.grd.service.MberGrdService;
import itn.let.sym.grd.service.MberGrdVO;
import itn.let.uss.umt.service.EgovMberManageService;
import itn.let.uss.umt.service.MberManageVO;
@Service("mberGrdService")
public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberGrdService {
@ -18,6 +21,13 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
@Resource(name="mberGrdDAO")
MberGrdDAO mberGrdDAO;
@Resource(name = "mjonPayService")
private MjonPayService mjonPayService;
/** mberManageService */
@Resource(name = "mberManageService")
private EgovMberManageService mberManageService;
// 등급제 시행여부 변경
@Override
public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception {
@ -134,52 +144,64 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) {
mberGrdVO.setGrdDate(mberGrdVO1.getGrdDate());
// Step 2. 누적결제금액(이벤트금액 제외) 추출 등급 조회
MberGrdVO mberGrdVO2 = new MberGrdVO();
mberGrdVO2 = selectMberGrdAmtDetail(mberGrdVO);
if (null != mberGrdVO2) {
mberGrdVO.setTotAmt(mberGrdVO2.getTotAmt());
mberGrdVO.setGrdSetNo(mberGrdVO2.getGrdSetNo());
// Step 2. /협의/스팸/비선등급 적용 제외
// 문자할인여부(1: 할인, 0: 미할인)
int isMsgSalePrice = mjonPayService.selectMsgSalePriceCnt(mberGrdVO.getMberId());
if(isMsgSalePrice == 0) {
// B선 전송사 이용고객 => 등급제대상 제외처리
MberManageVO mberManageVO = new MberManageVO();
mberManageVO.setMberId(mberGrdVO.getMberId());
String blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO);
if (blineCode != null && blineCode.equals("N")) {
// Step 3. 등급제 설정값 조회
MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO3 = selectMberGrdSettingDetail(mberGrdVO);
if (null != mberGrdVO3) {
mberGrdVO.setAmt("0");
mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
mberGrdVO.setShortPrice(mberGrdVO3.getShortPrice());
mberGrdVO.setLongPrice(mberGrdVO3.getLongPrice());
mberGrdVO.setPicturePrice(mberGrdVO3.getPicturePrice());
mberGrdVO.setPicture2Price(mberGrdVO3.getPicture2Price());
mberGrdVO.setPicture3Price(mberGrdVO3.getPicture3Price());
mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
mberGrdVO.setGrdStatus("Y");
// Step 3. 누적결제금액(이벤트금액 제외) 추출 등급 조회
MberGrdVO mberGrdVO3 = new MberGrdVO();
mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
if (null != mberGrdVO3) {
mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
// Step 4. 인서트 Or 업데이트
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdDetail(mberGrdVO);
if (null != mberGrdVO4) {
// 업데이트 => 현재 등급보다 낮거나 같으면 업데이트 처리
if (mberGrdVO4.getGrdSetNo() >= mberGrdVO.getGrdSetNo()) {
updateMberGrd(mberGrdVO);
// Step 4. 등급제 설정값 조회
MberGrdVO mberGrdVO4 = new MberGrdVO();
mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
if (null != mberGrdVO4) {
mberGrdVO.setAmt("0");
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");
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
// Step 5. 인서트 Or 업데이트
MberGrdVO mberGrdVO5 = new MberGrdVO();
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
if (null != mberGrdVO5) {
// 업데이트 => 현재 등급보다 낮거나 같으면 업데이트 처리
if (mberGrdVO5.getGrdSetNo() >= mberGrdVO.getGrdSetNo()) {
updateMberGrd(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
}
else {
// 인서트
insertMberGrd(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
}
}
else {
// 인서트
insertMberGrd(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
}
}
}
}
}
}
// 회원별 등급 진행여부

View File

@ -147,7 +147,8 @@ public class MberGrdController {
try{
// 회원별 등급 적용
mberGrdVO.setMberId("nopay");
mberGrdVO.setAmt("0"); // 결제금액
mberGrdVO.setMberId("nopay"); // 결제자
mberGrdService.mberGrdSaveByUser(mberGrdVO);
}