itn 2023-08-09
로그인시 회원별 등급 적용 로직 추가
@47226583b5c64fa9cb7899b84119c923c1ab9509
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
@@ -44,7 +44,7 @@
 	public void insertMberGrd(MberGrdVO mberGrdVO)  throws Exception;
 	
 	// 회원별 등급 수정
-	public void updateMberGrd(MberGrdVO mberGrdVO)  throws Exception;		
+	public void updateMberGrdOk(MberGrdVO mberGrdVO)  throws Exception;		
 	
 	// 회원별 등급 등록 All => 기존대상자 제외
 	public void insertMberGrdAllByExist(MberGrdVO mberGrdVO)  throws Exception;
@@ -82,6 +82,9 @@
 	// 회원별 등급 적용
 	public void mberGrdSaveByUser(MberGrdVO mberGrdVO) throws Exception;
 	
+	// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외)
+	public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception;
+	
 	// 회원별 등급제 대상여부
 	int selectMberGrdCnt(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
@@ -69,8 +69,8 @@
 	}
 	
 	// 회원별 등급 수정
-	public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception{
-		update("mberGrdDAO.updateMberGrd", mberGrdVO);
+	public void updateMberGrdOk(MberGrdVO mberGrdVO) throws Exception{
+		update("mberGrdDAO.updateMberGrdOk", mberGrdVO);
 	}	
 
 	// 회원별 등급 등록 All => 기존대상자 제외
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
@@ -153,8 +153,8 @@
 	
 	// 회원별 등급 수정
 	@Override
-	public void updateMberGrd(MberGrdVO mberGrdVO) throws Exception {
-		mberGrdDAO.updateMberGrd(mberGrdVO);
+	public void updateMberGrdOk(MberGrdVO mberGrdVO) throws Exception {
+		mberGrdDAO.updateMberGrdOk(mberGrdVO);
 	}	
 	
 	// 회원별 등급 등록 All => 기존대상자 제외
@@ -303,7 +303,7 @@
     						MberGrdVO mberGrdVO5 = new MberGrdVO();
     						mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
     						if (null != mberGrdVO5) {
-    							updateMberGrd(mberGrdVO);
+    							updateMberGrdOk(mberGrdVO);
     								
     							// 회원별 등급 히스토리 인서트
     							insertMberGrdHist(mberGrdVO);							
@@ -331,6 +331,77 @@
 		*/
 	}			
 	
+	// 회원별 등급 적용(로그인시 사용 => 히스토리 저장 제외)
+	@Override
+	public void mberGrdSaveByUserNoHist(MberGrdVO mberGrdVO) throws Exception {
+		/*
+    	try {
+    		// 현재 날짜 구하기
+            LocalDate now = LocalDate.now();
+            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");	// 포맷 정의
+            String nowDate = now.format(formatter);		// 포맷 적용
+            
+    		mberGrdVO.setRegId(mberGrdVO.getMberId());
+    		mberGrdVO.setEditId(mberGrdVO.getMberId());
+    		
+    		// Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)
+    		MberGrdVO mberGrdVO1 = new MberGrdVO();
+    		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
+    		if (mberGrdVO1.getGrdNoti().equals("Y")) {
+    			mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
+    			
+    			// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
+    			int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId());	// 등급제 대상여부(1: 대상, 0: 미대상)
+    			if(isMberGrd == 1) {
+    				// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
+    				MberGrdVO mberGrdVO3 = new MberGrdVO();				
+    				mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
+    				if (null != mberGrdVO3) {
+    					mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
+    					mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
+    					
+    					// Step 4. 등급제 설정값 조회
+    					MberGrdVO mberGrdVO4 = new MberGrdVO();
+    					mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
+    					if (null != mberGrdVO4) {
+    						mberGrdVO.setAmt(mberGrdVO.getAmt());
+    				    	mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
+    				    	mberGrdVO.setShortPrice(mberGrdVO4.getShortPrice());
+    				    	mberGrdVO.setLongPrice(mberGrdVO4.getLongPrice());
+    				    	mberGrdVO.setPicturePrice(mberGrdVO4.getPicturePrice());
+    				    	mberGrdVO.setPicture2Price(mberGrdVO4.getPicture2Price());
+    				    	mberGrdVO.setPicture3Price(mberGrdVO4.getPicture3Price());
+    				    	mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
+    				    	mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
+    				    	mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
+    				    	mberGrdVO.setGrdStatus("Y");
+    				    	
+    						// Step 5. 인서트 Or 업데이트
+    						MberGrdVO mberGrdVO5 = new MberGrdVO();
+    						mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
+    						if (null != mberGrdVO5) {
+    							updateMberGrdOk(mberGrdVO);
+    						}
+    						else {
+    							// 인서트
+    							insertMberGrd(mberGrdVO);
+    						}
+    					}
+    				}					
+    			}			
+    		}
+    	}
+    	catch (Exception e) {
+	    	// Slack 메시지 발송(단순본문)
+	    	String msg = "[문자온] " + mberGrdVO.getMberId() + "님 로그인중 회원등급 저장 오류 알림 => 개발팀에게 문의해주세요.";
+	    	mjonCommon.sendSimpleSlackMsg(msg);    		
+
+			System.out.println("#############################################################");
+			System.out.println(mberGrdVO.getMberId() + "님 로그인중 회원등급 저장 오류");			    		
+    	}
+    	*/												
+	}			
+	
 	// 회원별 등급제 대상여부
 	@Override
 	public int selectMberGrdCnt(String mberId) throws Exception{
src/main/java/itn/let/uat/uia/web/EgovLoginController.java
--- src/main/java/itn/let/uat/uia/web/EgovLoginController.java
+++ src/main/java/itn/let/uat/uia/web/EgovLoginController.java
@@ -95,6 +95,8 @@
 import itn.let.mjo.msgsent.service.MjonMsgSentVO;
 import itn.let.mjo.pay.service.KmcVO;
 import itn.let.mjo.pay.service.MjonPayService;
+import itn.let.sym.grd.service.MberGrdService;
+import itn.let.sym.grd.service.MberGrdVO;
 import itn.let.sym.log.clg.service.EgovLoginLogService;
 import itn.let.sym.log.clg.service.LoginLog;
 import itn.let.sym.mnu.mpm.service.MenuManageJTreeVO;
@@ -230,6 +232,9 @@
 	
 	@Resource(name = "mjonPayService")
 	private MjonPayService mjonPayService;    
+	
+	@Resource(name = "mberGrdService")
+	MberGrdService mberGrdService;
 	
 	private static final Logger logger = LoggerFactory.getLogger(MjonMsgDataController.class);
 
@@ -1719,6 +1724,15 @@
 				loginService.insertActionLoginLog(loginVO);
 			}
 
+			// 등급제 Start
+	   		// 회원별 등급 적용
+			MberGrdVO mberGrdVO = new MberGrdVO();
+			mberGrdVO.setMberId(loginVO.getId());
+	    	mberGrdVO.setAmt("0");
+	    	mberGrdVO.setMoid("");
+	   		mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);    		
+			// End
+	   		
 			// 이벤트 결제 바로가기 로직 체크 Start
 			String goEventPay = (String) commandMap.get("goEventPay");
 			System.out.println("goEventPay : " + goEventPay);
src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
--- src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
+++ src/main/java/itn/let/uss/umt/web/EgovUserManageController.java
@@ -2812,7 +2812,6 @@
                             	mberManageVO.setPicturePrice(0);
                             	mberManageVO.setPicture2Price(0);
                             	mberManageVO.setPicture3Price(0);
-                            	mberManageVO.setPicture3Price(0);                            	
                             }
                         }
                     }
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
@@ -418,7 +418,7 @@
 	</insert>
 
 	<!-- 회원별 등급 수정 -->
-	<update id="mberGrdDAO.updateMberGrd" parameterClass="mberGrdVO">
+	<update id="mberGrdDAO.updateMberGrdOk" parameterClass="mberGrdVO">
 		UPDATE MJ_MBER_GRD_INFO SET
 			MBER_ID					= #mberId#
 			, GRD_SET_NO			= #grdSetNo#
@@ -432,6 +432,8 @@
 			, GRD_DATE				= #grdNewDate#
 			, EDIT_ID				= #editId#
 			, EDIT_DATE				= NOW()
+			, GRD_END_DATE 			= '9999:12:31 23:59:59'
+			, GRD_STATUS 			= 'Y'				
 		WHERE 
 			MBER_ID = #mberId#
 	</update>	
Add a comment
List