등급제관리 등록화면 시행여부 추가

This commit is contained in:
itn 2023-07-04 16:36:46 +09:00
parent fdf52e92fb
commit c9ba6517b8
6 changed files with 79 additions and 7 deletions

View File

@ -26,6 +26,9 @@ public interface MberGrdService {
// 회원별 등급 수정
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급 일괄변경
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception;
// 회원별 등급 진행여부
int selectMberGrdPrgCnt(String userId) throws Exception;

View File

@ -44,6 +44,11 @@ public class MberGrdDAO extends EgovAbstractDAO {
// 회원별 등급 수정
public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception{
update("mberGrdDAO.updateMberGrd", mberGrdVO);
}
// 회원별 등급 일괄변경
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception {
return update("mberGrdDAO.updateMberGrdAll", mberGrdVO);
}
// 회원별 등급 진행여부

View File

@ -75,6 +75,12 @@ public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberG
mberGrdDAO.updateMberGrd(mberGrdVO);
}
// 회원별 등급 일괄변경
@Override
public int updateMberGrdAll(MberGrdVO mberGrdVO) throws Exception {
return mberGrdDAO.updateMberGrdAll(mberGrdVO);
}
// 회원별 등급 진행여부
@Override
public int selectMberGrdPrgCnt(String userId) throws Exception{

View File

@ -53,6 +53,7 @@ public class MberGrdController {
boolean isSuccess = true;
String msg = "";
int updateMberCnt = 0;
// 로그인VO에서 사용자 정보 가져오기
LoginVO loginVO = (LoginVO)EgovUserDetailsHelper.getAuthenticatedUser();
@ -60,15 +61,23 @@ public class MberGrdController {
mberGrdVO.setEditId(frstRegisterId); // 최초등록자ID
try{
// 등급제 시행여부 변경
int updateCnt = mberGrdService.updateMberSetting(mberGrdVO);
if (updateCnt == 0) {
// Step1. 등급제 시행여부 변경
int updateCnt1 = mberGrdService.updateMberSetting(mberGrdVO);
if (updateCnt1 == 0) {
isSuccess = false;
msg = "등급제 시행여부 변경에 실패했습니다.";
}
else {
// 등급제 업데이트
mberGrdService.updateGrdSettingList(mberGrdVO);
// Step2. 등급제 단가 업데이트
int updateCnt2 = mberGrdService.updateGrdSettingList(mberGrdVO);
if (updateCnt2 == 0) {
isSuccess = false;
msg = "등급제 단가 변경에 실패했습니다.";
}
else {
// Step3. 회원 등급 일괄변경
updateMberCnt = mberGrdService.updateMberGrdAll(mberGrdVO);
}
}
}
catch(Exception e) {
@ -78,6 +87,7 @@ public class MberGrdController {
modelAndView.addObject("isSuccess", isSuccess);
modelAndView.addObject("msg", msg);
modelAndView.addObject("updateMberCnt", updateMberCnt);
return modelAndView;
}

View File

@ -147,6 +147,54 @@
MBER_ID = #mberId#
</update>
<!-- 회원별 등급 일괄변경 -->
<update id="mberGrdDAO.updateMberGrdAll" parameterClass="mberGrdVO">
<![CDATA[
UPDATE MJ_MBER_GRD_INFO A
INNER JOIN (
SELECT
M.USER_ID
, M.AMT_SUM_ORIGIN
, M.AMT_SUM
, M.GRD_SET_NO
FROM (
SELECT
S.USER_ID
, SUM(S.AMT) AS AMT_SUM_ORIGIN
, (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0)) AS AMT_SUM
, (
SELECT MIN(GRD_SET_NO) FROM MJ_MBER_GRD_SETTING S1 WHERE S1.STD_AMT <= (SUM(S.AMT) - IFNULL(SS.EVENT_FRST_CASH + ROUND(SS.EVENT_FRST_CASH / 10), 0))
) GRD_SET_NO
FROM MJ_PG S
LEFT OUTER JOIN MJ_EVENT_MBER_INFO SS
ON S.USER_ID = SS.MBER_ID
AND SS.EVENT_START_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00')
WHERE S.PG_STATUS = '1'
AND S.REG_DATE >= CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00')
GROUP BY S.USER_ID
) M
WHERE M.GRD_SET_NO IS NOT NULL
) B
ON A.MBER_ID = B.USER_ID
INNER JOIN MJ_MBER_GRD_SETTING C
ON C.GRD_SET_NO = B.GRD_SET_NO
SET
A.GRD_SET_NO = C.GRD_SET_NO
, A.SHORT_PRICE = C.SHORT_PRICE
, A.LONG_PRICE = C.LONG_PRICE
, A.PICTURE_PRICE = C.PICTURE_PRICE
, A.PICTURE2_PRICE = C.PICTURE2_PRICE
, A.PICTURE3_PRICE = C.PICTURE3_PRICE
, A.TOT_AMT = B.AMT_SUM
, A.GRD_START_DATE = CONCAT(DATE_FORMAT(#grdDate#, '%Y-%m-%d'), ' ', '00:00:00')
, A.EDIT_DATE = NOW()
WHERE B.GRD_SET_NO IS NOT NULL
AND A.GRD_SET_NO >= B.GRD_SET_NO
AND GRD_STATUS NOT IN ('N', 'E')
AND NOW() BETWEEN GRD_START_DATE AND GRD_END_DATE
]]>
</update>
<!-- 회원별 등급 진행여부 -->
<select id="mberGrdDAO.selectMberGrdPrgCnt" parameterClass="String" resultClass="Integer">
SELECT

View File

@ -24,7 +24,7 @@
return false;
}
if(confirm("등급별 단가를 변경 하시겠습니까?")) {
if(confirm("수정사항 저장 시 모든 고객의 단가가 변경될 수 있습니다.\n수정하시겠습니까?")) {
$("#grdDate").val($("#ntceBgndeYYYMMDD").val());
// 콤마 제거
@ -41,7 +41,7 @@
success: function (data) {
console.log(data);
if (data.isSuccess) {
alert("저장 완료했습니다.");
alert(data.updateMberCnt + "저장 완료했습니다.");
location.reload();
}
else {