diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java index 37f2c939..0149c753 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java @@ -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 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 4. 인서트 Or 업데이트 - MberGrdVO mberGrdVO4 = new MberGrdVO(); - mberGrdVO4 = selectMberGrdDetail(mberGrdVO); - if (null != mberGrdVO4) { - // 업데이트 => 현재 등급보다 낮거나 같으면 업데이트 처리 - if (mberGrdVO4.getGrdSetNo() >= mberGrdVO.getGrdSetNo()) { - updateMberGrd(mberGrdVO); - - // 회원별 등급 히스토리 인서트 - insertMberGrdHist(mberGrdVO); - } - } - else { - // 인서트 - insertMberGrd(mberGrdVO); + // 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 = selectMberGrdAmtDetail(mberGrdVO); + if (null != mberGrdVO3) { + mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt()); + mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo()); - // 회원별 등급 히스토리 인서트 - insertMberGrdHist(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"); + + // 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); + } + } + } } - } + } + } - } // 회원별 등급 진행여부 diff --git a/src/main/java/itn/let/sym/grd/web/MberGrdController.java b/src/main/java/itn/let/sym/grd/web/MberGrdController.java index 0e77d03c..9c6886bf 100644 --- a/src/main/java/itn/let/sym/grd/web/MberGrdController.java +++ b/src/main/java/itn/let/sym/grd/web/MberGrdController.java @@ -147,7 +147,8 @@ public class MberGrdController { try{ // 회원별 등급 적용 - mberGrdVO.setMberId("nopay"); + mberGrdVO.setAmt("0"); // 결제금액 + mberGrdVO.setMberId("nopay"); // 결제자 mberGrdService.mberGrdSaveByUser(mberGrdVO); }