로그인시 회원별 등급 적용 로직 추가

This commit is contained in:
itn 2023-08-09 15:12:50 +09:00
parent b2476984d4
commit 47226583b5
6 changed files with 97 additions and 8 deletions

View File

@ -44,7 +44,7 @@ public interface MberGrdService {
public void insertMberGrd(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급 수정
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception;
public void updateMberGrdOk(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급 등록 All => 기존대상자 제외
public void insertMberGrdAllByExist(MberGrdVO mberGrdVO) throws Exception;
@ -82,6 +82,9 @@ public interface MberGrdService {
// 회원별 등급 적용
public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외)
public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급제 대상여부
int selectMberGrdCnt(String mberId) throws Exception;

View File

@ -69,8 +69,8 @@ public class MberGrdDAO extends EgovAbstractDAO {
}
// 회원별 등급 수정
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception{
update("mberGrdDAO.updateMberGrd", mberGrdVO);
public void updateMberGrdOk(MberGrdVO mberGrdVO) throws Exception{
update("mberGrdDAO.updateMberGrdOk", mberGrdVO);
}
// 회원별 등급 등록 All => 기존대상자 제외

View File

@ -153,8 +153,8 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
// 회원별 등급 수정
@Override
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception {
mberGrdDAO.updateMberGrd(mberGrdVO);
public void updateMberGrdOk(MberGrdVO mberGrdVO) throws Exception {
mberGrdDAO.updateMberGrdOk(mberGrdVO);
}
// 회원별 등급 등록 All => 기존대상자 제외
@ -303,7 +303,7 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
MberGrdVO mberGrdVO5 = new MberGrdVO();
mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
if (null != mberGrdVO5) {
updateMberGrd(mberGrdVO);
updateMberGrdOk(mberGrdVO);
// 회원별 등급 히스토리 인서트
insertMberGrdHist(mberGrdVO);
@ -331,6 +331,77 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
*/
}
// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외)
@Override
public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception {
/*
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) {
updateMberGrdOk(mberGrdVO);
}
else {
// 인서트
insertMberGrd(mberGrdVO);
}
}
}
}
}
}
catch (Exception e) {
// Slack 메시지 발송(단순본문)
String msg = "[문자온] " + mberGrdVO.getMberId() + "님 로그인중 회원등급 저장 오류 알림 => 개발팀에게 문의해주세요.";
mjonCommon.sendSimpleSlackMsg(msg);
System.out.println("#############################################################");
System.out.println(mberGrdVO.getMberId() + "님 로그인중 회원등급 저장 오류");
}
*/
}
// 회원별 등급제 대상여부
@Override
public int selectMberGrdCnt(String mberId) throws Exception{

View File

@ -95,6 +95,8 @@ import itn.let.mjo.msgsent.service.MjonMsgSentService;
import itn.let.mjo.msgsent.service.MjonMsgSentVO;
import itn.let.mjo.pay.service.KmcVO;
import itn.let.mjo.pay.service.MjonPayService;
import itn.let.sym.grd.service.MberGrdService;
import itn.let.sym.grd.service.MberGrdVO;
import itn.let.sym.log.clg.service.EgovLoginLogService;
import itn.let.sym.log.clg.service.LoginLog;
import itn.let.sym.mnu.mpm.service.MenuManageJTreeVO;
@ -231,6 +233,9 @@ public class EgovLoginController {
@Resource(name = "mjonPayService")
private MjonPayService mjonPayService;
@Resource(name = "mberGrdService")
MberGrdService mberGrdService;
private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
/* 문자온 사용자 로그인 시작 */
@ -1719,6 +1724,15 @@ public class EgovLoginController {
loginService.insertActionLoginLog(loginVO);
}
// 등급제 Start
// 회원별 등급 적용
MberGrdVO mberGrdVO = new MberGrdVO();
mberGrdVO.setMberId(loginVO.getId());
mberGrdVO.setAmt("0");
mberGrdVO.setMoid("");
mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);
// End
// 이벤트 결제 바로가기 로직 체크 Start
String goEventPay = (String) commandMap.get("goEventPay");
System.out.println("goEventPay : " + goEventPay);

View File

@ -2812,7 +2812,6 @@ public class EgovUserManageController {
mberManageVO.setPicturePrice(0);
mberManageVO.setPicture2Price(0);
mberManageVO.setPicture3Price(0);
mberManageVO.setPicture3Price(0);
}
}
}

View File

@ -418,7 +418,7 @@
</insert>
<!-- 회원별 등급 수정 -->
<update id="mberGrdDAO.updateMberGrd" parameterClass="mberGrdVO">
<update id="mberGrdDAO.updateMberGrdOk" parameterClass="mberGrdVO">
UPDATE MJ_MBER_GRD_INFO SET
MBER_ID = #mberId#
, GRD_SET_NO = #grdSetNo#
@ -432,6 +432,8 @@
, GRD_DATE = #grdNewDate#
, EDIT_ID = #editId#
, EDIT_DATE = NOW()
, GRD_END_DATE = '9999:12:31 23:59:59'
, GRD_STATUS = 'Y'
WHERE
MBER_ID = #mberId#
</update>