등급제 관리 일괄등록 로직 수정

This commit is contained in:
itn 2023-07-07 15:22:27 +09:00
parent 9e624f25b5
commit d7cbc1b301
4 changed files with 63 additions and 5 deletions

View File

@ -38,6 +38,9 @@ public interface MberGrdService {
// 회원별 등급 일괄변경 // 회원별 등급 일괄변경
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception; public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception;
// 문자할인, B선라인 대상자 초기화
public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급 초기화 // 회원별 등급 초기화
public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception; public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception;

View File

@ -68,6 +68,11 @@ public class MberGrdDAO extends EgovAbstractDAO {
return update("mberGrdDAO.updateMberGrdAll", mberGrdVO); 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 { public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception {
return update("mberGrdDAO.updateMberGrdEndAll", mberGrdVO); return update("mberGrdDAO.updateMberGrdEndAll", mberGrdVO);

View File

@ -106,27 +106,38 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
mberGrdDAO.updateMberGrd(mberGrdVO); mberGrdDAO.updateMberGrd(mberGrdVO);
} }
// 회원별 등급 초기화 // 회원별 등급 일괄변경
@Override @Override
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception { public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception {
int updateCnt = 0; int updateCnt1 = 0;
int updateCnt2 = 0;
// Step 1. 등급제 시행 ON 일경우 // Step 1. 등급제 시행 ON 일경우
MberGrdVO mberGrdVO1 = new MberGrdVO(); MberGrdVO mberGrdVO1 = new MberGrdVO();
mberGrdVO1 = selectMberSettingDetail(mberGrdVO); mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) { if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) {
updateCnt = mberGrdDAO.updateMberGrdAll(mberGrdVO); // 문자할인, B선라인 대상자 초기화
} updateCnt1 = updateMberGrdEndBySale(mberGrdVO);
return updateCnt;
}
// 회원별 등급 일괄변경 // 회원별 등급 일괄변경
updateCnt2 = mberGrdDAO.updateMberGrdAll(mberGrdVO);
}
return updateCnt1 + updateCnt2;
}
// 회원별 등급 초기화
@Override @Override
public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception { public int updateMberGrdEndAll(MberGrdVO mberGrdVO) throws Exception {
return mberGrdDAO.updateMberGrdEndAll(mberGrdVO); return mberGrdDAO.updateMberGrdEndAll(mberGrdVO);
} }
// 문자할인, B선라인 대상자 초기화
@Override
public int updateMberGrdEndBySale(MberGrdVO mberGrdVO) throws Exception {
return mberGrdDAO.updateMberGrdEndBySale(mberGrdVO);
}
// 회원별 등급 적용 // 회원별 등급 적용
@Override @Override
public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception { public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception {

View File

@ -303,6 +303,45 @@
]]> ]]>
</update> </update>
<!-- 문자할인, B선라인 대상자 초기화 -->
<update id="mberGrdDAO.updateMberGrdEndBySale" parameterClass="mberGrdVO">
<![CDATA[
UPDATE MJ_MBER_GRD_INFO SET
GRD_END_DATE = NOW()
, GRD_STATUS = 'E'
, EDIT_DATE = NOW()
WHERE MBER_ID IN (
SELECT
M.MBER_ID
FROM (
SELECT
A.MBER_ID
, IFNULL(A.BLINE_CODE, 'N') AS BLINE_CODE
, CASE
WHEN
(A.SHORT_PRICE > 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>
<!-- 회원별 등급 초기화 --> <!-- 회원별 등급 초기화 -->
<update id="mberGrdDAO.updateMberGrdEndAll" parameterClass="mberGrdVO"> <update id="mberGrdDAO.updateMberGrdEndAll" parameterClass="mberGrdVO">
UPDATE MJ_MBER_GRD_INFO SET UPDATE MJ_MBER_GRD_INFO SET