itn 2023-07-12
이벤트 진행여부 쿼리 추가
@098b1ee6398dffed030940af2f64ed2cf76149e1
src/main/java/itn/let/sym/grd/service/MberGrdService.java
--- src/main/java/itn/let/sym/grd/service/MberGrdService.java
+++ src/main/java/itn/let/sym/grd/service/MberGrdService.java
@@ -32,7 +32,7 @@
 	public MberGrdVO selectMberGrdDetail(MberGrdVO mberGrdVO) throws Exception;
 
 	// 회원 등급제 대상여부 정보(사용자화면용)
-	public MberGrdVO selectMberGrdInfo(String userId) throws Exception;
+	public MberGrdVO selectMberGrdInfo(String mberId) throws Exception;
 	
 	// 회원별 등급 누적결제액 상세
 	public MberGrdVO selectMberGrdAmtDetail(MberGrdVO mberGrdVO) throws Exception;
@@ -56,10 +56,13 @@
 	public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception;
 	
 	// 회원별 등급 진행여부
-	int selectMberGrdPrgCnt(String userId) throws Exception;
+	int selectMberGrdPrgCnt(String mberId) throws Exception;
+	
+	// 회원별 이벤트 진행여부
+	int selectMberEventPrgCnt(String mberId) throws Exception;
 	
 	// 회원별 등급 저장여부
-	int selectMberGrdSaveCnt(String userId) throws Exception;
+	int selectMberGrdSaveCnt(String mberId) throws Exception;
 	
 	
 	// 회원별 등급 히스토리 등록
src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdDAO.java
@@ -49,8 +49,8 @@
 	}
 
 	// 회원 등급제 대상여부 정보(사용자화면용)
-	public MberGrdVO selectMberGrdInfo(String userId) throws Exception{
-		return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", userId);
+	public MberGrdVO selectMberGrdInfo(String mberId) throws Exception{
+		return (MberGrdVO) select("mberGrdDAO.selectMberGrdInfo", mberId);
 	}
 	
 	// 회원별 등급 누적결제액 상세
@@ -84,13 +84,18 @@
 	}		
 	
 	// 회원별 등급 진행여부
-	public int selectMberGrdPrgCnt(String userId) throws Exception{
-		return (int) select("mberGrdDAO.selectMberGrdPrgCnt", userId);
+	public int selectMberGrdPrgCnt(String mberId) throws Exception{
+		return (int) select("mberGrdDAO.selectMberGrdPrgCnt", mberId);
+	}	
+	
+	// 회원별 이벤트 진행여부
+	public int selectMberEventPrgCnt(String mberId) throws Exception{
+		return (int) select("mberGrdDAO.selectMberEventPrgCnt", mberId);
 	}	
 	
 	// 회원별 등급 저장여부
-	public int selectMberGrdSaveCnt(String userId) throws Exception{
-		return (int) select("mberGrdDAO.selectMberGrdSaveCnt", userId);
+	public int selectMberGrdSaveCnt(String mberId) throws Exception{
+		return (int) select("mberGrdDAO.selectMberGrdSaveCnt", mberId);
 	}	
 	
 	
src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
--- src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
+++ src/main/java/itn/let/sym/grd/service/impl/MberGrdServiceImpl.java
@@ -121,11 +121,11 @@
 	
 	// 회원 등급제 대상여부 정보(사용자화면용)
 	@Override
-	public MberGrdVO selectMberGrdInfo(String userId) throws Exception {
+	public MberGrdVO selectMberGrdInfo(String mberId) throws Exception {
 		// 공백제거
-		userId = userId.trim();
+		mberId = mberId.trim();
 		
-		return mberGrdDAO.selectMberGrdInfo(userId);
+		return mberGrdDAO.selectMberGrdInfo(mberId);
 	}	
 	
 	// 회원별 등급 누적결제액 상세
@@ -257,20 +257,29 @@
 	
 	// 회원별 등급 진행여부
 	@Override
-	public int selectMberGrdPrgCnt(String userId) throws Exception{
+	public int selectMberGrdPrgCnt(String mberId) throws Exception{
 		// 공백제거
-		userId = userId.trim();
+		mberId = mberId.trim();
 		
-		return mberGrdDAO.selectMberGrdPrgCnt(userId);
+		return mberGrdDAO.selectMberGrdPrgCnt(mberId);
+	}
+	
+	// 회원별 이벤트 진행여부
+	@Override
+	public int selectMberEventPrgCnt(String mberId) throws Exception{
+		// 공백제거
+		mberId = mberId.trim();
+		
+		return mberGrdDAO.selectMberEventPrgCnt(mberId);
 	}
 	
 	// 회원별 등급 저장여부
 	@Override
-	public int selectMberGrdSaveCnt(String userId) throws Exception{
+	public int selectMberGrdSaveCnt(String mberId) throws Exception{
 		// 공백제거
-		userId = userId.trim();
+		mberId = mberId.trim();
 		
-		return mberGrdDAO.selectMberGrdSaveCnt(userId);
+		return mberGrdDAO.selectMberGrdSaveCnt(mberId);
 	}
 	
 	
src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
--- src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
+++ src/main/resources/egovframework/sqlmap/let/sym/grd/MberGrd_SQL_Mysql.xml
@@ -108,10 +108,12 @@
 			, DATE_FORMAT(A.GRD_END_DATE, '%Y-%m-%d')			AS grdEndDate
 			, A.GRD_STATUS				AS grdStatus
 			, CASE
-				WHEN A.GRD_STATUS = 'Y' AND A.GRD_END_DATE >= NOW()  
-				THEN '진행중'
+				WHEN E.EVENT_STATUS = 'Y' AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(E.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(E.EVENT_END_DATE, '%Y-%m-%d')
+				THEN '대기'			
+				WHEN A.GRD_STATUS = 'Y' AND NOW() BETWEEN A.GRD_START_DATE AND A.GRD_END_DATE
+				THEN '진행'
 				WHEN A.GRD_STATUS = 'N'
-				THEN '미진행'
+				THEN '대기'
 				WHEN A.GRD_STATUS = 'E'
 				THEN '종료'
 				ELSE '종료'
@@ -126,6 +128,8 @@
 				ON A.GRD_SET_NO = B.GRD_SET_NO
 			INNER JOIN LETTNGNRLMBER C
 				ON A.MBER_ID = C.MBER_ID
+			LEFT OUTER JOIN MJ_EVENT_MBER_INFO E
+				ON A.MBER_ID = E.MBER_ID
 		WHERE 1=1
 			AND C.MBER_STTUS = 'Y'
             <isNotEmpty property="searchKeyword">
@@ -239,18 +243,18 @@
 				, 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))
+					SELECT MIN(S1.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
-		AND M.USER_ID = #mberId#
+			AND M.AMT_SUM > 0
+			AND M.USER_ID = #mberId#
 	]]>
 	</select>
 	
@@ -332,17 +336,17 @@
 					, 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))
+						SELECT MIN(S1.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
+				AND M.AMT_SUM > 0
 		) B
 			ON A.MBER_ID = B.USER_ID
 		INNER JOIN MJ_MBER_GRD_SETTING C
@@ -425,6 +429,17 @@
 		LIMIT 1
 	</select>
 	
+	<!-- 회원별 이벤트 진행여부 -->
+	<select id="mberGrdDAO.selectMberEventPrgCnt" parameterClass="String" resultClass="Integer">
+		SELECT
+			COUNT(0)
+		FROM MJ_EVENT_MBER_INFO A 
+		WHERE A.MBER_ID = #mberId#
+			AND A.EVENT_STATUS = 'Y' 
+			AND DATE_FORMAT(NOW(), '%Y-%m-%d') BETWEEN DATE_FORMAT(A.EVENT_START_DATE, '%Y-%m-%d') AND DATE_FORMAT(A.EVENT_END_DATE, '%Y-%m-%d')				
+		LIMIT 1
+	</select>
+
 	<!-- 회원별 등급 저장여부 -->
 	<select id="mberGrdDAO.selectMberGrdSaveCnt" parameterClass="String" resultClass="Integer">
 		SELECT
Add a comment
List