From c9ba6517b817c1367737ef9302daa1cd57753d73 Mon Sep 17 00:00:00 2001 From: itn Date: Tue, 4 Jul 2023 16:36:46 +0900 Subject: [PATCH] =?UTF-8?q?=EB=93=B1=EA=B8=89=EC=A0=9C=EA=B4=80=EB=A6=AC?= =?UTF-8?q?=20=EB=93=B1=EB=A1=9D=ED=99=94=EB=A9=B4=20=EC=8B=9C=ED=96=89?= =?UTF-8?q?=EC=97=AC=EB=B6=80=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../let/sym/grd/service/MberGrdService.java | 3 ++ .../let/sym/grd/service/impl/MberGrdDAO.java | 5 ++ .../grd/service/impl/MberGrdServiceImpl.java | 6 +++ .../let/sym/grd/web/MberGrdController.java | 20 ++++++-- .../sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml | 48 +++++++++++++++++++ .../WEB-INF/jsp/sym/grd/mberGrdSetting.jsp | 4 +- 6 files changed, 79 insertions(+), 7 deletions(-) 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 7fcd06e0..a39e7099 100644 --- a/src/main/java/itn/let/sym/grd/service/MberGrdService.java +++ b/src/main/java/itn/let/sym/grd/service/MberGrdService.java @@ -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; 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 fd48506a..a03d1592 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 @@ -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); } // 회원별 등급 진행여부 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 af72e691..63a90394 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 @@ -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{ 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 5a5521db..063e04e3 100644 --- a/src/main/java/itn/let/sym/grd/web/MberGrdController.java +++ b/src/main/java/itn/let/sym/grd/web/MberGrdController.java @@ -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; } 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 be6dca09..7723cf9f 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 @@ -147,6 +147,54 @@ MBER_ID = #mberId# + + + = 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 + ]]> + +