itn 2023-08-21
휴대폰인증시 ci, di 값 xss 필터 제외처리
@40f2c5dbb1d44bad33b9e20e3b161df0ab33f1dc
src/main/java/itn/com/cmm/interceptor/InterceptorHandler.java
--- src/main/java/itn/com/cmm/interceptor/InterceptorHandler.java
+++ src/main/java/itn/com/cmm/interceptor/InterceptorHandler.java
@@ -50,6 +50,9 @@
 				&& !name.toLowerCase().contains("info3list")
 				&& !name.toLowerCase().contains("info4list")
 				&& !name.toLowerCase().contains("nttcn")
+				&& !name.toLowerCase().contains("ci")
+				&& !name.toLowerCase().contains("certdi")
+				&& !name.toLowerCase().contains("di")				
 			) {	
 				//파라미터 중에 URL 주소를 넘겨주는 부분이 있어서 해당 부분에것 select~, update~, delete~ 로 시작하는 주소경로가 있어서 제외처리를 하였음
 				String[] values = request.getParameterValues(name);
src/main/java/itn/let/mjo/pay/service/impl/RefundServiceImpl.java
--- src/main/java/itn/let/mjo/pay/service/impl/RefundServiceImpl.java
+++ src/main/java/itn/let/mjo/pay/service/impl/RefundServiceImpl.java
@@ -18,6 +18,8 @@
 import itn.let.mjo.pay.service.MjonPayVO;
 import itn.let.mjo.pay.service.RefundService;
 import itn.let.mjo.pay.service.RefundVO;
+import itn.let.sym.grd.service.MberGrdService;
+import itn.let.sym.grd.service.MberGrdVO;
 import itn.let.uss.umt.service.MberManageVO;
 import itn.let.utl.sim.service.EgovFileScrty;
 
@@ -43,6 +45,9 @@
 	
 	@Resource(name="mjonPayDAO")
 	private MjonPayDAO mjonPayDAO;
+	
+	@Resource(name = "mberGrdService")
+	MberGrdService mberGrdService;	
 	
 	@Override
 	public List<RefundVO> selectRefundList(RefundVO refundVO) throws Exception {
@@ -176,6 +181,20 @@
 		else
 			msg = "결제취소요청이 취소처리 되었습니다";
 		
+		try {
+			// 등급제 Start
+	   		// 회원별 등급 적용
+			MberGrdVO mberGrdVO = new MberGrdVO();
+			mberGrdVO.setMberId(refundVO.getMberId());
+	    	mberGrdVO.setAmt("0");
+	    	mberGrdVO.setMoid("");
+	   		mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);    		
+			// End	
+    	}
+    	catch (Exception e) {
+
+    	}
+   		
 		return new StatusResponse(HttpStatus.OK, msg, LocalDateTime.now());
 	}
 
src/main/java/itn/let/mjo/pay/web/MjonPayController.java
--- src/main/java/itn/let/mjo/pay/web/MjonPayController.java
+++ src/main/java/itn/let/mjo/pay/web/MjonPayController.java
@@ -1906,6 +1906,17 @@
 		
 		model.addAttribute("mjonCandidateVO", mjonCandidateVO);
     	
+    	if(pattern.equals("/web/member/pay/PayListAllAjax.do")) { 
+			// 등급제 Start
+	   		// 회원별 등급 적용
+			MberGrdVO mberGrdVO = new MberGrdVO();
+			mberGrdVO.setMberId(userId);
+	    	mberGrdVO.setAmt("0");
+	    	mberGrdVO.setMoid("");
+	   		mberGrdService.mberGrdSaveByUserNoHist(mberGrdVO);    		
+			// End	    	
+    	}
+    	
     	if(pattern.equals("/web/member/pay/PayListAllAjax.do")
     			|| pattern.equals("/web/member/pay/PayListMobileAjax.do")
     			|| pattern.equals("/web/member/pay/PayListCardAjax.do")
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
@@ -315,72 +315,75 @@
 	public void mberGrdSaveByUserLast(MberGrdVO mberGrdVO) throws Exception {
     	try {
     		System.out.println("START 회원별 등급 적용");
-    		System.out.println("아이디 : " + mberGrdVO.getMberId());
     		
-    		// 현재 날짜 구하기
-            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일경우)
-    		System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
-    		MberGrdVO mberGrdVO1 = new MberGrdVO();
-    		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
-    		if (mberGrdVO1.getGrdNoti().equals("Y")) {
-    			mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
+    		if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
+    			System.out.println("아이디 : " + mberGrdVO.getMberId());
     			
-    			// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
-    			System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
-    			int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId());	// 등급제 대상여부(1: 대상, 0: 미대상)
-    			if(isMberGrd == 1) {
-    				// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
-    				System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
-    				MberGrdVO mberGrdVO3 = new MberGrdVO();				
-    				mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
-    				if (mberGrdVO3 != null) {
-    					mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
-    					mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
-    					
-    					// Step 4. 등급제 설정값 조회
-    					System.out.println("Step 4. 등급제 설정값 조회");
-    					MberGrdVO mberGrdVO4 = new MberGrdVO();
-    					mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
-    					if (mberGrdVO4 != null) {
-    						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 업데이트
-    						System.out.println("Step 5. 인서트 Or 업데이트");
-    				    	MberGrdVO mberGrdVO5 = new MberGrdVO();
-    						mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
-    						if (mberGrdVO5 != null) {
-    							updateMberGrdOk(mberGrdVO);
-    								
-    							// 회원별 등급 히스토리 인서트
-    							insertMberGrdHist(mberGrdVO);							
-    						}
-    						else {
-    							// 인서트
-    							insertMberGrd(mberGrdVO);
-    							
-    							// 회원별 등급 히스토리 인서트
-    							insertMberGrdHist(mberGrdVO);
-    						}
-    					}
-    				}					
-    			}			
+	    		// 현재 날짜 구하기
+	            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일경우)
+	    		System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
+	    		MberGrdVO mberGrdVO1 = new MberGrdVO();
+	    		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
+	    		if (mberGrdVO1.getGrdNoti().equals("Y")) {
+	    			mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
+	    			
+	    			// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
+	    			System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
+	    			int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId());	// 등급제 대상여부(1: 대상, 0: 미대상)
+	    			if(isMberGrd == 1) {
+	    				// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
+	    				System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
+	    				MberGrdVO mberGrdVO3 = new MberGrdVO();				
+	    				mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
+	    				if (mberGrdVO3 != null) {
+	    					mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
+	    					mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
+	    					
+	    					// Step 4. 등급제 설정값 조회
+	    					System.out.println("Step 4. 등급제 설정값 조회");
+	    					MberGrdVO mberGrdVO4 = new MberGrdVO();
+	    					mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
+	    					if (mberGrdVO4 != null) {
+	    						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 업데이트
+	    						System.out.println("Step 5. 인서트 Or 업데이트");
+	    				    	MberGrdVO mberGrdVO5 = new MberGrdVO();
+	    						mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
+	    						if (mberGrdVO5 != null) {
+	    							updateMberGrdOk(mberGrdVO);
+	    								
+	    							// 회원별 등급 히스토리 인서트
+	    							insertMberGrdHist(mberGrdVO);							
+	    						}
+	    						else {
+	    							// 인서트
+	    							insertMberGrd(mberGrdVO);
+	    							
+	    							// 회원별 등급 히스토리 인서트
+	    							insertMberGrdHist(mberGrdVO);
+	    						}
+	    					}
+	    				}					
+	    			}			
+	    		}
     		}
     		System.out.println("END 회원별 등급 적용");
     	}
@@ -400,66 +403,69 @@
 
     	try {
     		System.out.println("START 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
-    		System.out.println("아이디 : " + mberGrdVO.getMberId());
     		
-    		// 현재 날짜 구하기
-            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일경우)
-    		System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
-    		MberGrdVO mberGrdVO1 = new MberGrdVO();
-    		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
-    		if (mberGrdVO1.getGrdNoti().equals("Y")) {
-    			mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
-    			
-    			// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
-    			System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
-    			int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId());	// 등급제 대상여부(1: 대상, 0: 미대상)
-    			if(isMberGrd == 1) {
-    				// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
-    				System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
-    				MberGrdVO mberGrdVO3 = new MberGrdVO();				
-    				mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
-    				if (mberGrdVO3 != null) {
-    					mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
-    					mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
-    					
-    					// Step 4. 등급제 설정값 조회
-    					System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
-    					MberGrdVO mberGrdVO4 = new MberGrdVO();
-    					mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
-    					if (mberGrdVO4 != null) {
-    						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 업데이트
-    						System.out.println("Step 5. 인서트 Or 업데이트");
-    				    	MberGrdVO mberGrdVO5 = new MberGrdVO();
-    						mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
-    						if (mberGrdVO5 != null) {
-    							updateMberGrdOk(mberGrdVO);
-    						}
-    						else {
-    							// 인서트
-    							insertMberGrd(mberGrdVO);
-    						}
-    					}
-    				}					
-    			}			
+    		if (StringUtils.isNotEmpty(mberGrdVO.getMberId())) {
+        		System.out.println("아이디 : " + mberGrdVO.getMberId());
+        		
+	    		// 현재 날짜 구하기
+	            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일경우)
+	    		System.out.println("Step 1. 등급제 시행 ON 일경우(시행일자 진행여부 Y일경우)");
+	    		MberGrdVO mberGrdVO1 = new MberGrdVO();
+	    		mberGrdVO1 = selectMberSettingDetail(mberGrdVO);
+	    		if (mberGrdVO1.getGrdNoti().equals("Y")) {
+	    			mberGrdVO.setGrdNewDate(mberGrdVO1.getGrdNewDate());
+	    			
+	    			// Step 2. 문자할인, B선라인, 스팸회원 대상자 제외
+	    			System.out.println("Step 2. 문자할인, B선라인, 스팸회원 대상자 제외");
+	    			int isMberGrd = selectMberGrdCnt(mberGrdVO.getMberId());	// 등급제 대상여부(1: 대상, 0: 미대상)
+	    			if(isMberGrd == 1) {
+	    				// Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회
+	    				System.out.println("Step 3. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
+	    				MberGrdVO mberGrdVO3 = new MberGrdVO();				
+	    				mberGrdVO3 = selectMberGrdAmtDetail(mberGrdVO);
+	    				if (mberGrdVO3 != null) {
+	    					mberGrdVO.setTotAmt(mberGrdVO3.getTotAmt());
+	    					mberGrdVO.setGrdSetNo(mberGrdVO3.getGrdSetNo());
+	    					
+	    					// Step 4. 등급제 설정값 조회
+	    					System.out.println("Step 4. 누적결제금액(이벤트금액 제외) 추출 및 등급 조회");
+	    					MberGrdVO mberGrdVO4 = new MberGrdVO();
+	    					mberGrdVO4 = selectMberGrdSettingDetail(mberGrdVO);
+	    					if (mberGrdVO4 != null) {
+	    						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 업데이트
+	    						System.out.println("Step 5. 인서트 Or 업데이트");
+	    				    	MberGrdVO mberGrdVO5 = new MberGrdVO();
+	    						mberGrdVO5 = selectMberGrdDetail(mberGrdVO);
+	    						if (mberGrdVO5 != null) {
+	    							updateMberGrdOk(mberGrdVO);
+	    						}
+	    						else {
+	    							// 인서트
+	    							insertMberGrd(mberGrdVO);
+	    						}
+	    					}
+	    				}					
+	    			}			
+	    		}
     		}
     		System.out.println("END 회원별 등급 적용(로그인, 환불시 사용 => 히스토리 저장 제외)");
     	}
Add a comment
List