ソースを参照

주문정보 미생성 로그 테이블 추가 작업

jsh77b 4 年 前
コミット
91768a51b9

+ 65 - 41
src/main/java/com/style24/front/biz/service/TsfOrderService.java

@@ -366,22 +366,11 @@ public class TsfOrderService {
 			param.setPgGb(TscConstants.PgGb.KCP.value());
 			param.setPayMeans(TscConstants.PayMeans.CREDIT_CARD.value());
 		}
-		
-		// 2021.10.25 주문번호
-		StringBuffer errMsg 	= new StringBuffer();
-		int ordNo 				= 0;
-		String pgGb 			= "";
 
 		try {
 			// 결제수단체크
 			if (StringUtils.isEmpty(param.getPgGb())) {
-				// 2021.10.26 결제실패내용등록 
-				errMsg.append("@errMsg=").append("결제수단을 선택해주세요.");
-				errMsg.append("@ordNo=").append(ordNo);
-				errMsg.append("@pgGb=").append(pgGb);
-				errMsg.append("@stepNo=").append(1);
-				
-				throw new IllegalArgumentException(errMsg.toString());
+				throw new IllegalArgumentException("결제수단을 선택해주세요.");
 			}
 			
 			// 결제수단이 KCP, PAYCO 일때 실행
@@ -416,19 +405,9 @@ public class TsfOrderService {
 			}
 			// 그외 결제수단은 실패
 			else {
-				// 2021.10.26 결제실패내용등록 
-				errMsg.append("@errMsg=").append("결제 수단이 잘못 입력되었습니다. 새로고침 후 다시 시도해주세요.");
-				errMsg.append("@ordNo=").append(ordNo);
-				errMsg.append("@pgGb=").append(pgGb);
-				errMsg.append("@stepNo=").append(2);
-				
-				throw new IllegalArgumentException(errMsg.toString());
+				throw new IllegalArgumentException("결제 수단이 잘못 입력되었습니다. 새로고침 후 다시 시도해주세요.");
 			}
 			
-			// 2021.10.25 주문번호등록
-			ordNo 	= result.getOrdNo();
-			pgGb 	= result.getPgGb();
-			
 			// 결제 수단이 없는 경우(KAKAO, NAVER) CARD로 세팅
 			if (StringUtils.isEmpty(param.getPayMeans())) {
 				result.setPayMeans(TscConstants.PayMeans.CREDIT_CARD.value());
@@ -462,8 +441,6 @@ public class TsfOrderService {
 			// 결제완료 업데이트
 			int resultCnt = coreOrderDao.updatePaymentOrderComplete(result);
 			
-			resultCnt = 0;
-			
 			// 결제실패일때 실행
 			if (resultCnt < 1) {
 				if (TscConstants.PgGb.KCP.value().equals(param.getPgGb()) || TscConstants.PgGb.PAYCO.value().equals(param.getPgGb())) {
@@ -483,13 +460,7 @@ public class TsfOrderService {
 					coreNaverPayService.naverPayRollBack(param);
 				}
 				
-				// 2021.10.26 결제실패내용등록 
-				errMsg.append("@errMsg=").append("결제 정보 저장 실패. 새로고침 후 다시 시작해주세요.");
-				errMsg.append("@ordNo=").append(ordNo);
-				errMsg.append("@pgGb=").append(pgGb);
-				errMsg.append("@stepNo=").append(3);
-				
-				throw new IllegalArgumentException(errMsg.toString());
+				throw new IllegalArgumentException("결제 정보 저장 실패. 새로고침 후 다시 시작해주세요.");
 			}
 			// 결제성공일때 실행
 			else {
@@ -498,6 +469,27 @@ public class TsfOrderService {
 			}
 		} catch(Exception e) {
 			e.printStackTrace();
+			
+			// 2021.10.27 KCP 결제취소로직
+			/*
+			if (TscConstants.PgGb.KCP.value().equals(param.getPgGb()) || TscConstants.PgGb.PAYCO.value().equals(param.getPgGb())) {
+				if(TscConstants.PayMeans.GIFTCARD.value().equals(param.getPayMeans())) {
+					// 상품권 100% 결제 (PG PASS)
+					result.setPayStat(TscConstants.PaymentStat.PAY_BEFORE_CANCEL.value());
+					coreOrderDao.insertPayment(result);
+				} else {
+					result.setModType("STSC");
+					coreKcpService.kcpCancel(result);
+				}
+			} else if (TscConstants.PgGb.KAKAO.value().equals(param.getPgGb())) {
+				param.setLeftAmt(0);
+				coreKakaoPayService.kakaoPayRollBack(param);
+			} else if (TscConstants.PgGb.NAVER.value().equals(param.getPgGb())) {
+				param.setLeftAmt(0);
+				coreNaverPayService.naverPayRollBack(param);
+			}
+			*/
+			
 			throw new IllegalArgumentException(e.getMessage());
 		}
 
@@ -528,7 +520,7 @@ public class TsfOrderService {
 			result.setPayGb("O");
 
 			// TB_PAYMENT 등록. 실패시 PG 환불.
-			if(coreOrderDao.updatePaymentOrderComplete(result) < 1) {
+			if (coreOrderDao.updatePaymentOrderComplete(result) < 1) {
 				payment.setLeftAmt(0);
 				coreKakaoPayService.kakaoPayRollBack(payment);
 
@@ -541,6 +533,11 @@ public class TsfOrderService {
 			}
 		} catch(Exception e) {
 			e.printStackTrace();
+			
+			// 2021.10.27 카카오페이 결제취소로직
+			//payment.setLeftAmt(0);
+			//coreKakaoPayService.kakaoPayRollBack(payment);
+			
 			throw new IllegalArgumentException(e.getMessage());
 		}
 
@@ -563,7 +560,7 @@ public class TsfOrderService {
 			result = coreNaverPayService.approveNaverPayment(payment);
 
 			// 결제 수단이 없는 경우(KAKAO, NAVER) CARD로 세팅
-			if(StringUtils.isEmpty(result.getPayMeans())) {
+			if (StringUtils.isEmpty(result.getPayMeans())) {
 				result.setPayMeans(TscConstants.PayMeans.CREDIT_CARD.value());
 			}
 
@@ -571,7 +568,7 @@ public class TsfOrderService {
 			result.setPayGb("O");
 
 			// TB_PAYMENT 등록. 실패시 PG 환불.
-			if(coreOrderDao.updatePaymentOrderComplete(result) < 1) {
+			if (coreOrderDao.updatePaymentOrderComplete(result) < 1) {
 				payment.setLeftAmt(0);
 				coreNaverPayService.naverPayRollBack(payment);
 
@@ -584,6 +581,11 @@ public class TsfOrderService {
 			}
 		} catch(Exception e) {
 			e.printStackTrace();
+			
+			// 2021.10.27 네이버페이 결제취소로직
+			//payment.setLeftAmt(0);
+			//coreNaverPayService.naverPayRollBack(payment);
+						
 			throw new IllegalArgumentException(e.getMessage());
 		}
 
@@ -2573,14 +2575,36 @@ public class TsfOrderService {
 	
 	// 2021.10.25 결제실패 등록
 	@Transactional("shopTxnManager")
-	public void createPaymentFail(Order order) {
+	public void createPaymentFail(String msg, int custNo) {
 		Order po = new Order();
-		po.setOrdNo(order.getOrdNo());
-		po.setStepNo(order.getStepNo());
-		po.setPgGb(order.getPgGb());
-		po.setErrMsg(order.getErrMsg());
-		po.setRegNo(order.getRegNo());
+		String [] msgArr0 = msg.split("@");
+		
+		po.setRegNo(custNo);
+		
+		if (msgArr0.length > 1) {
+			for (int i=0 ; i<msgArr0.length ; i++) {
+				String [] msgArr1 = msgArr0[i].split("=");
+				
+				if (msgArr1.length > 1) {
+					if ("ordNo".equals(msgArr1[0])) {
+						po.setOrdNo(Integer.valueOf(msgArr1[1]));
+					}
+					else if ("pgGb".equals(msgArr1[0])) {
+						po.setPgGb(msgArr1[1]);
+					}
+					else if ("errMsg".equals(msgArr1[0])) {
+						po.setErrMsg(msgArr1[1]);
+					}
+					else if ("stepNo".equals(msgArr1[0])) {
+						po.setStepNo(Integer.valueOf(msgArr1[1]));
+					}
+				}
+			}
+		} else {
+			po.setErrMsg(msg);
+		}
 		
+		// 결제실패정보등록
 		coreOrderDao.createPaymentFail(po);
 	}
 }

+ 18 - 82
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -784,59 +784,6 @@ public class TsfOrderController extends TsfBaseController {
 		
 		return mav;
 	}
-	
-	/**
-	 * 주문 데이터 생성 (주문접수) : 사용안함
-	 *
-	 * @param
-	 * @return
-	 * @author xodud1202
-	 * @since 2021. 03. 04
-	 */
-	@PostMapping("/validationCheck")
-	@ResponseBody
-	public ModelAndView validationCheck(@RequestBody Order order) {
-		ModelAndView mav = new ModelAndView();
-		 
-		// 2021.03.09 주문데이타 등록 
-		// 1. 로그인체크 후 custNo 설정
-		if (TsfSession.isLogin()) {
-			order.setCustNo(TsfSession.getInfo().getCustNo());
-		} else {
-			order.setJsessionId(TsfSession.getSessionId());
-			order.setCustNo(0);
-		}
-		
-		order.setFrontGb(TsfSession.getFrontGb());
-
-		// 2. 주문정보유효성체크
-		String resultStr = orderService.orderValidationCheck(order);
-		
-		// 주문정보유효성체크 실패
-		if (!"SUCCESS".equals(resultStr)) {
-			mav.addObject("message", resultStr);
-			mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
-			return mav;
-		}
-		
-		// 2.1 주문금액유효성체크
-		/*
-		resultStr = orderService.orderAmtValidationCheck(order);
-		
-		// 주문금액유효성체크 실패
-		if (!"SUCCESS".equals(resultStr)) {
-			mav.addObject("message", resultStr);
-			mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
-			return mav;
-		}
-		*/
-		
-		// 2021.05.10 추가
-		mav.addObject("message"	, resultStr);
-		mav.setViewName(super.getDeviceViewName("order/OrderEmpty"));
-
-		return mav;
-	}
 
 	/**
 	 * 주문 데이터 생성 (주문접수)
@@ -952,33 +899,7 @@ public class TsfOrderController extends TsfBaseController {
 			param = orderService.orderPgPayResult(param, request, response);
 		} catch (Exception e) {
 			// 2021.10.25 결제실패 등록
-			Order po = new Order();
-			String [] msgArr0 = e.getMessage().split("@");
-			
-			if (msgArr0.length > 0) {
-				for (int i=0 ; i<msgArr0.length ; i++) {
-					String [] msgArr1 = msgArr0[i].split("=");
-					
-					if (msgArr1.length > 1) {
-						if ("ordNo".equals(msgArr1[0])) {
-							po.setOrdNo(Integer.valueOf(msgArr1[1]));
-						}
-						else if ("pgGb".equals(msgArr1[0])) {
-							po.setPgGb(msgArr1[1]);
-						}
-						else if ("errMsg".equals(msgArr1[0])) {
-							po.setErrMsg(msgArr1[1]);
-						}
-						else if ("stepNo".equals(msgArr1[0])) {
-							po.setStepNo(Integer.valueOf(msgArr1[1]));
-						}
-					}
-				}
-				
-				po.setRegNo(param.getCustNo());
-				orderService.createPaymentFail(po);
-			}
-			
+			orderService.createPaymentFail(e.getMessage(), param.getCustNo());
 			throw new IllegalArgumentException(e.getMessage());
 		}
 
@@ -1048,7 +969,15 @@ public class TsfOrderController extends TsfBaseController {
 		payment.setUpdNo(custNo);
 
 		// 2. 결재정보등록(TB_PAYMENT)
-		Payment result = orderService.kakaoPayResult(payment);
+		Payment result = new Payment();
+		
+		try {
+			result = orderService.kakaoPayResult(payment);
+		} catch (Exception e) {
+			// 2021.10.25 결제실패 등록
+			orderService.createPaymentFail(e.getMessage(), custNo);
+			throw new IllegalArgumentException(e.getMessage());
+		}
 
 		// 3. 주문정보 업데이트
 		Order order = new Order();
@@ -1110,7 +1039,14 @@ public class TsfOrderController extends TsfBaseController {
 		param.setUpdNo(custNo);
 
 		// 2. 결재정보등록(TB_PAYMENT)
-		Payment result = orderService.naverPayResult(param);
+		Payment result = new Payment();
+		try {
+			result = orderService.naverPayResult(param);
+		} catch (Exception e) {
+			// 2021.10.25 결제실패 등록
+			orderService.createPaymentFail(e.getMessage(), custNo);
+			throw new IllegalArgumentException(e.getMessage());
+		}
 
 		// 3. 주문정보 업데이트
 		Order order = new Order();