diff --git a/src/main/java/itn/let/sym/grd/service/MberGrdService.java b/src/main/java/itn/let/sym/grd/service/MberGrdService.java index b86da814..915b211d 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdService.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdService.java @@ -38,6 +38,9 @@ public interface MberGrdService { // 회원별 등급 일괄변경 public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception; + // 문자할인, B선라인 대상자 초기화 + public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception; + // 회원별 등급 초기화 public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception; diff --git a/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java b/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java index 3b4a8561..e2a97bb4 100644 --- a/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java +++ b/src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java @@ -68,6 +68,11 @@ public class MberGrdDAO extends EgovAbstractDAO { return update("mberGrdDAO.updateMberGrdAll", mberGrdVO); } + // 문자할인, B선라인 대상자 초기화 + public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception { + return update("mberGrdDAO.updateMberGrdEndBySale", mberGrdVO); + } + // 회원별 등급 초기화 public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception { return update("mberGrdDAO.updateMberGrdEndAll", mberGrdVO); 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 0149c753..5605db67 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 @@ -106,27 +106,38 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG mberGrdDAO.updateMberGrd(mberGrdVO); } - // 회원별 등급 초기화 + // 회원별 등급 일괄변경 @Override public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception { - int updateCnt = 0; + int updateCnt1 = 0; + int updateCnt2 = 0; // Step 1. 등급제 시행 ON 일경우 MberGrdVO mberGrdVO1 = new MberGrdVO(); mberGrdVO1 = selectMberSettingDetail(mberGrdVO); if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) { - updateCnt = mberGrdDAO.updateMberGrdAll(mberGrdVO); + // 문자할인, B선라인 대상자 초기화 + updateCnt1 = updateMberGrdEndBySale(mberGrdVO); + + // 회원별 등급 일괄변경 + updateCnt2 = mberGrdDAO.updateMberGrdAll(mberGrdVO); } - return updateCnt; + return updateCnt1 + updateCnt2; } - // 회원별 등급 일괄변경 + // 회원별 등급 초기화 @Override public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception { return mberGrdDAO.updateMberGrdEndAll(mberGrdVO); } + // 문자할인, B선라인 대상자 초기화 + @Override + public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception { + return mberGrdDAO.updateMberGrdEndBySale(mberGrdVO); + } + // 회원별 등급 적용 @Override public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception { diff --git a/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml b/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml index d8507540..722caa32 100644 --- a/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml +++ b/src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml @@ -303,6 +303,45 @@ ]]> + + + 0 + AND (B.SHORT_PRICE > A.SHORT_PRICE + OR B.LONG_PRICE > A.LONG_PRICE + OR B.PICTURE_PRICE > A.PICTURE_PRICE + OR B.PICTURE2_PRICE > A.PICTURE2_PRICE + OR B.PICTURE3_PRICE > A.PICTURE3_PRICE) + ) + THEN 'Y' + ELSE 'N' + END isSalePrice + FROM LETTNGNRLMBER A + INNER JOIN MJ_MBER_GRD_INFO G + ON A.MBER_ID = G.MBER_ID + JOIN MJ_MBER_SETTING B + WHERE 1=1 + AND G.GRD_STATUS != 'E' + ) M + WHERE M.isSalePrice = 'Y' + OR M.BLINE_CODE != 'N' + ) + ]]> + + UPDATE MJ_MBER_GRD_INFO SET