name 2023-08-24
포인트 결제 금액변조 방지 기능 수정
@c287701e1a3fc723bf5b243a3e5ae3e9cccf41a7
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
@@ -3807,6 +3807,20 @@
 		mjonPayVO.setFrstRegisterId(user.getId());
 		mjonPayVO.setUserId(user.getId());
 		
+		RefundVO refundVO = new RefundVO();
+		refundVO.setMberId(user.getId());
+		
+		RefundVO mberInfoVO = refundService.selectRefundMberInfo(refundVO);
+		if(Double.parseDouble(mberInfoVO.getMberPoint()) 
+				< mjonPayVO.getPoint()) {
+			
+			modelAndView.addObject("status", "moreThanUserPoint");
+			modelAndView.addObject("msg", "현재 회원의 보유포인트보다 큰 포인트를 환불 할 수 없습니다.");
+			
+			return modelAndView;
+		}
+		
+		
 		if("1".equals(mjonPayVO.getType())){ //현금전환 시
 			mjonPayVO.setMemo("현금 "+mjonPayVO.getPoint()+" 전환"); //전환 내용
 			mjonPayVO.setCmpltYn("N"); //현금 전환 시 처리 전
src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
--- src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
+++ src/main/webapp/WEB-INF/jsp/web/com/webCommonHeader.jsp
@@ -597,6 +597,13 @@
 				contentType: false,
 				processData: false,
 				success: function (returnData, status) {
+					
+					//보유 금액 변조 방지
+					if(returnData.status == 'moreThanUserPoint'){
+						alert(returnData.msg)
+						return;
+					}
+					
 					if(status == 'success'){
 						alert(successAlertWord);
 						location.reload();
Add a comment
List