itn 2023-07-07
회원별 등급 적용 로직 수정
@f8566b0fdcf83f4564a6a10165a164585d9161d3
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
@@ -9,8 +9,11 @@
 import org.springframework.stereotype.Service;
 
 import egovframework.rte.fdl.cmmn.EgovAbstractServiceImpl;
+import itn.let.mjo.pay.service.MjonPayService;
 import itn.let.sym.grd.service.MberGrdService;
 import itn.let.sym.grd.service.MberGrdVO;
+import itn.let.uss.umt.service.EgovMberManageService;
+import itn.let.uss.umt.service.MberManageVO;
 
 @Service("mberGrdService")
 public class MberGrdServiceImpl extends EgovAbstractServiceImpl implements MberGrdService {
@@ -18,6 +21,13 @@
 	@Resource(name="mberGrdDAO")
 	MberGrdDAO mberGrdDAO;
 
+	@Resource(name = "mjonPayService")
+	private MjonPayService mjonPayService;
+	
+	/** mberManageService */
+	@Resource(name = "mberManageService")
+	private EgovMberManageService mberManageService;
+	
 	// 등급제 시행여부 변경
 	@Override
 	public int updateMberSetting(MberGrdVO mberGrdVO) throws Exception {
@@ -134,52 +144,64 @@
 		if (mberGrdVO1.getGrdNoti().equals("Y") && null != mberGrdVO1.getGrdDate()) {
 			mberGrdVO.setGrdDate(mberGrdVO1.getGrdDate());
 			
-			// Step 2. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
-			MberGrdVO mberGrdVO2 = new MberGrdVO();				
-			mberGrdVO2 = selectMberGrdAmtDetail(mberGrdVO);
-			if (null != mberGrdVO2) {
-				mberGrdVO.setTotAmt(mberGrdVO2.getTotAmt());
-				mberGrdVO.setGrdSetNo(mberGrdVO2.getGrdSetNo());
-				
-				// Step 3. 등급제 설정값 조회
-				MberGrdVO mberGrdVO3 = new MberGrdVO();
-				mberGrdVO3 = selectMberGrdSettingDetail(mberGrdVO);
-				if (null != mberGrdVO3) {
-					mberGrdVO.setAmt("0");
-			    	mberGrdVO.setTotAmt(mberGrdVO.getTotAmt());
-			    	mberGrdVO.setShortPrice(mberGrdVO3.getShortPrice());
-			    	mberGrdVO.setLongPrice(mberGrdVO3.getLongPrice());
-			    	mberGrdVO.setPicturePrice(mberGrdVO3.getPicturePrice());
-			    	mberGrdVO.setPicture2Price(mberGrdVO3.getPicture2Price());
-			    	mberGrdVO.setPicture3Price(mberGrdVO3.getPicture3Price());
-			    	mberGrdVO.setGrdDate(mberGrdVO.getGrdDate());
-			    	mberGrdVO.setGrdStartDate(nowDate + " 00:00:00");
-			    	mberGrdVO.setGrdEndDate("9999:12:31 23:59:59");
-			    	mberGrdVO.setGrdStatus("Y");
-			    	
-					// Step 4. 인서트 Or 업데이트
-					MberGrdVO mberGrdVO4 = new MberGrdVO();
-					mberGrdVO4 = selectMberGrdDetail(mberGrdVO);
-					if (null != mberGrdVO4) {
-						// 업데이트 => 현재 등급보다 낮거나 같으면 업데이트 처리
-						if (mberGrdVO4.getGrdSetNo() >= mberGrdVO.getGrdSetNo()) {
-							updateMberGrd(mberGrdVO);
-							
-							// 회원별 등급 히스토리 인서트
-							insertMberGrdHist(mberGrdVO);							
-						}
-					}
-					else {
-						// 인서트
-						insertMberGrd(mberGrdVO);
+			// Step 2. /협의/스팸/비선등급 적용 제외
+			// 문자할인여부(1: 할인, 0: 미할인)
+			int isMsgSalePrice = mjonPayService.selectMsgSalePriceCnt(mberGrdVO.getMberId());
+			if(isMsgSalePrice == 0) {
+				// B선 전송사 이용고객 => 등급제대상 제외처리
+				MberManageVO mberManageVO = new MberManageVO();
+				mberManageVO.setMberId(mberGrdVO.getMberId());
+				String blineCode = mberManageService.selectBlineCodeByMberId(mberManageVO);
+				if (blineCode != null && blineCode.equals("N")) {		
+					
+					// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
+					MberGrdVO mberGrdVO3 = new MberGrdVO();				
+					mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
+					if (null != mberGrdVO3) {
+						mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
+						mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
 						
-						// 회원별 등급 히스토리 인서트
-						insertMberGrdHist(mberGrdVO);
-					}
+						// Step 4. 등급제 설정값 조회
+						MberGrdVO mberGrdVO4 = new MberGrdVO();
+						mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
+						if (null != mberGrdVO4) {
+							mberGrdVO.setAmt("0");
+					    	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) {
+								// 업데이트 => 현재 등급보다 낮거나 같으면 업데이트 처리
+								if (mberGrdVO5.getGrdSetNo() >= mberGrdVO.getGrdSetNo()) {
+									updateMberGrd(mberGrdVO);
+									
+									// 회원별 등급 히스토리 인서트
+									insertMberGrdHist(mberGrdVO);							
+								}
+							}
+							else {
+								// 인서트
+								insertMberGrd(mberGrdVO);
+								
+								// 회원별 등급 히스토리 인서트
+								insertMberGrdHist(mberGrdVO);
+							}
+						}
+					}					
 				}
-			}
+			}			
+
 		}
-		
 	}			
 	
 	// 회원별 등급 진행여부
src/main/java/itn/let/sym/grd/web/MberGrdController.java
--- src/main/java/itn/let/sym/grd/web/MberGrdController.java
+++ src/main/java/itn/let/sym/grd/web/MberGrdController.java
@@ -147,7 +147,8 @@
         try{
         	
        		// 회원별 등급 적용
-        	mberGrdVO.setMberId("nopay");
+        	mberGrdVO.setAmt("0");			// 결제금액
+        	mberGrdVO.setMberId("nopay");	// 결제자
        		mberGrdService.mberGrdSaveByUser(mberGrdVO);
        		
 		}
Add a comment
List