Procházet zdrojové kódy

이태영 - 20210304 임시커밋

xodud1202 před 5 roky
rodič
revize
9d8c0769a6

+ 7 - 4
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -841,8 +841,8 @@ public class TsfCartService {
 					cart.setCustNo(param.getCustNo());
 					cart.setRegNo(param.getRegNo());
 
-					cartDao.updateCartInfo(cart);               // 장바구니 정보 수정
-					cartDao.insertCartHst(cart);                // 장바구니 수정 이력 저장
+					cartDao.updateCartInfo(cart);				// 장바구니 정보 수정
+					cartDao.insertCartHst(cart);				// 장바구니 수정 이력 저장
 
 					// 장바구니 삭제
 					int[] cartSqArr = {param.getCartSq()};
@@ -852,16 +852,19 @@ public class TsfCartService {
 				}
 			} else {		// 동일 상품 없을 시 UPDATE
 				cartDao.updateCart(param);						// 장바구니 마스터 정보 저장
-				cartDao.insertCartHst(param);                   // 장바구니 이력 정보 저장
+				cartDao.insertCartHst(param);					// 장바구니 이력 정보 저장
 				for(int i = 0 ; i < param.getCartDtlSqArr().length ; i++) {
 					param.setItemCd(param.getItemCds()[i]);
 					param.setCartDtlSq(param.getCartDtlSqArr()[i]);
 					param.setOptCd(param.getOptCds()[i]);
 
 					cartDao.updateCartDetail(param);		// 장바구니 상세 저장
-					cartDao.insertCartDetailHst(param);         // 장바구니 상세 이력 저장
+					cartDao.insertCartDetailHst(param);		// 장바구니 상세 이력 저장
 				}
 			}
+		} else {
+			// TODO 세트가 아닐 경우 처리
+			int a = 0;
 		}
 	}
 }

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

@@ -232,11 +232,11 @@ public class TsfOrderService {
 			if("KCP".equals(param.getPayGb())) {
 				result = coreKcpService.kcpPayRequest(param, request, response);
 			} else if ("PAYCO".equals(param.getPayGb())) {
-				param = null;
+				result = null;
 			} else if ("KAKAO".equals(param.getPayGb())) {
-				param = null;
+				result = null;
 			} else if ("NAVER".equals(param.getPayGb())) {
-
+				result = null;
 			}
 		} catch(Exception e) {
 			e.printStackTrace();

+ 1 - 30
src/main/java/com/style24/front/biz/web/TsfCartController.java

@@ -37,7 +37,7 @@ import lombok.extern.slf4j.Slf4j;
 
 /**
  * 장바구니 Controller
- * 
+ *
  * @author gagamel
  * @since 2020. 12. 29
  */
@@ -206,36 +206,7 @@ public class TsfCartController extends TsfBaseController {
 	@ResponseBody
 	@PostMapping("/change/option")
 	public GagaResponse updateCartOption(@RequestBody Cart param) {
-		log.info("CHECK INFO >> {} / {} / {} / {}", param.getCartSq(), param.getCartDtlSqArr().toString(), param.getOptCds().toString(), param.getGoodsQty());
 		cartService.updateCartOption(param);
 		return super.ok(message.getMessage("SUCC_0001"));
 	}
-
-	/**
-	 * 주문페이지
-	 *
-	 * @param
-	 * @return
-	 * @author xodud1202
-	 * @since 2021. 03. 05
-	 */
-	@ResponseBody
-	@RequestMapping(value = "/kcp/vBankEnd")
-	public String vBankEnd(Payment param, HttpServletRequest request, HttpServletResponse response) {
-
-		log.info("CHECK site_cd ::::: {}", request.getParameter("site_cd"));
-		log.info("CHECK tno ::::: {}", request.getParameter("tno"));
-		log.info("CHECK order_no ::::: {}", request.getParameter("order_no"));
-		log.info("CHECK tx_cd ::::: {}", request.getParameter("tx_cd")); // 무통장 입금 통보는 TX00
-		log.info("CHECK result ::::: {}", request.getParameter("result"));
-		log.info("CHECK noti_id ::::: {}", request.getParameter("noti_id"));
-		log.info("CHECK ipgm_mnyx ::::: {}", request.getParameter("ipgm_mnyx"));
-		log.info("CHECK totl_mnyx ::::: {}", request.getParameter("totl_mnyx"));
-		log.info("CHECK noti_id ::::: {}", request.getParameter("noti_id"));
-		log.info("CHECK op_cd ::::: {}", request.getParameter("op_cd"));	// 13이 오면 입금이 잘못된 경우로 취소 노티가 온다고함.
-		log.info("CHECK cash_a_no ::::: {}", request.getParameter("cash_a_no"));
-		log.info("CHECK cash_no ::::: {}", request.getParameter("cash_no"));
-
-		return "0000";
-	}
 }

+ 2 - 3
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -779,7 +779,7 @@ public class TsfOrderController extends TsfBaseController {
 		// KCP 주문요청 공통 데이터
 		payment.setReqTx("pay");						// 필수 (주문시 only "pay")
 		payment.setOrdrIdxx((int)(Math.random()*10000));// 필수
-		payment.setPayMethod("001000000000");			// 필수 결제수단코드(신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000, 포인트 : 000100000000, 휴대폰 : 000010000000, 상품권 : 000000001000, ARS : 000000000010)
+		payment.setPayMethod("100000000000");			// 필수 결제수단코드(신용카드 : 100000000000, 계좌이체 : 010000000000, 가상계좌 : 001000000000, 포인트 : 000100000000, 휴대폰 : 000010000000, 상품권 : 000000001000, ARS : 000000000010)
 		payment.setGoodName("LTY_TEST_GOODS_NAME");		// 필수
 		payment.setGoodMny(1779);						// 필수
 		payment.setBuyrName("LTY");						// 필수
@@ -798,8 +798,7 @@ public class TsfOrderController extends TsfBaseController {
 		payment.setQuotaopt(12);						// 최대 할부 개월 수
 
 		// KCP 무통장입금 옵션
-		payment.setVcntExpireTerm(3);					// 무통장입금 유효기간
-		payment.setDispTaxYn("Y");
+		/*payment.setVcntExpireTerm(3); */					// 무통장입금 유효기간
 
 		// KCP PAYCO 호출
 		if(!StringUtils.isEmpty(payment.getPgGb()) && TscConstants.PgGb.PAYCO.value().equals(payment.getPgGb())) {		// PAYCO일경우

+ 54 - 0
src/main/java/com/style24/front/biz/web/TsfPgController.java

@@ -0,0 +1,54 @@
+package com.style24.front.biz.web;
+
+import java.io.PrintWriter;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import com.style24.persistence.domain.Payment;
+
+import lombok.extern.slf4j.Slf4j;
+
+@Controller
+@RequestMapping("/pg")
+@Slf4j
+public class TsfPgController {
+
+	/**
+	 * 주문페이지
+	 *
+	 * @param
+	 * @return
+	 * @author xodud1202
+	 * @since 2021. 03. 05
+	 */
+	@RequestMapping(value = "/kcp/vBankEnd")
+	public ModelAndView vBankEnd(Payment param, HttpServletRequest request, HttpServletResponse response, Model model) throws Exception{
+		PrintWriter out = response.getWriter();
+		String result = "0000";
+
+		log.info("CHECK site_cd		::::: {}", request.getParameter("site_cd")	);	// 가맹점 코드
+		log.info("CHECK tno			::::: {}", request.getParameter("tno")		);	// KCP 거래번호
+		log.info("CHECK order_no	::::: {}", request.getParameter("order_no")	);	// 가맹점 주문번호
+		log.info("CHECK tx_cd		::::: {}", request.getParameter("tx_cd")		);	// 무통장 입금 통보는 TX00(PC), TX08(MOB). 아닐경우 처리 X
+		log.info("CHECK result		::::: {}", request.getParameter("result")	);	// KCP에서 전송한 결과를 가맹점에서 받았는지 확인하는 데이터. "0000"으로 설정해야함...? model로 보내주면 되는건지 ?
+		log.info("CHECK noti_id		::::: {}", request.getParameter("noti_id")	);	// 가상계좌의 입금 통보건에 대한 고유한 값..?
+		log.info("CHECK ipgm_name	::::: {}", request.getParameter("ipgm_name")	);	// 거래에 대한 주문자명
+		log.info("CHECK ipgm_mnyx	::::: {}", request.getParameter("ipgm_mnyx")	);	// 입금자가 실제 입금한 입금 금액
+		log.info("CHECK bank_code	::::: {}", request.getParameter("bank_code")	);	// 가상계좌 은행코드
+		log.info("CHECK remitter	::::: {}", request.getParameter("remitter")	);	// 가상계좌 입금자 명(주문자명과 다를 수 있음)
+		log.info("CHECK op_cd		::::: {}", request.getParameter("op_cd")		);	// 13이 오면 입금이 잘못된 경우로 취소 노티가 온다고함. 13이 아닌 경우에만 진행해야할듯함.
+		log.info("CHECK cash_a_no	::::: {}", request.getParameter("cash_a_no")	);	// 현금영수증 승인번호
+		log.info("CHECK cash_no		::::: {}", request.getParameter("cash_no")	);	// 현금영수증 거래번호
+
+		// 결과 데이터 세팅 ("0000"은 성공, 그 외에는 실패. 실패시에 입금 결과 재통보)
+		out.print("<html><body><form><input type='hidden' name='result' value='" + result + "'></form></body></html>");
+		return null;
+	}
+}

+ 2 - 2
src/main/resources/config/application-locd.yml

@@ -59,10 +59,10 @@ pg:
     kcp:
         log.dir: D:\\WIDE\\workspace\\files\\data\\style24\\logs\\front
         user.type: PGNW
-        gw:     # CARD
+        gw:
             url: testpaygw.kcp.co.kr
             port: 8090
-        pa:     # 무통장입금
+        pa:
             url: testpaygw.kcp.co.kr
             port: 8090
         js.url: https://testpay.kcp.co.kr/plugin/payplus_web.jsp

+ 21 - 24
src/main/webapp/WEB-INF/views/web/order/OrderFormWeb.html

@@ -52,21 +52,23 @@
 		}
 	</script>
 
-	<script type="text/javascript" th:src="${@environment.getProperty('pg.kcp.js.url')}" src=""></script>
+	<script th:inline="javascript" th:src="|${@environment.getProperty('pg.kcp.js.url')}?v=${#calendars.format(#calendars.createNow(), 'yyyyMMddHHmmss')}|" src=""></script>
+
+	<form id="order_info" name="order_info" method="post" action="/order/pay/result/response" >
+		<input type="button" id="kcpBuyBtn" value="테스트버튼" style="width:200px; height:200px;"/>
+	</form>
 
 	<script type="text/javascript">
 		/* 표준웹 실행 */
-		function jsf__pay( form ) {
+		function jsf__pay(form) {
 			try {
-				KCP_Pay_Execute( form );
+				KCP_Pay_Execute(form);
 			} catch (e) {
 				/* IE 에서 결제 정상종료시 throw로 스크립트 종료 */
 			}
 		}
 
-
-
-		$(document).on("click", "#buyBtn", function() {
+		$("#kcpBuyBtn").click(function() {
 			$.ajax({
 				type: "POST",
 				url : '/order/create/order',
@@ -82,11 +84,6 @@
 			});
 		});
 	</script>
-
-	<form id="order_info" name="order_info" method="post" action="/order/pay/result/response" >
-		<input type="button" id="buyBtn" value="테스트버튼" style="width:200px; height:200px;"/>
-	</form>
-
 <!-- // xodud1202 -->
 
 
@@ -118,14 +115,14 @@
 			data.approvalUrl = protocol + _frontUrl + redirectUrl;
 			data.failUrl = protocol + _frontUrl + redirectUrl;
 			data.cancelUrl = protocol + _frontUrl + redirectUrl;
-			
+
 			let jsonData = JSON.stringify(data);
-			
+
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 				let tid = result.kakaoPay.tid;
 				let nextRedirectUrl = result.kakaoPay.next_redirect_pc_url;
 				let option = 'width=420, height=520';
-				
+
 				$('#order_info').append('<input type=hidden name="pgTid" value="' + tid + '" />');
 
 				window.open(nextRedirectUrl, 'kakaoPaymentPopup', option);
@@ -141,16 +138,16 @@
 			data.pgTid = $('#order_info input[name=pgTid]').val();
 			data.ordNo = $('#order_info input[name=ordr_idxx]').val();
 			data.pgToken = $('#order_info input[name=pgToken]').val();
-			
+
 			let jsonData = JSON.stringify(data);
-			
+
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 				console.log('====== kakaoPaymentRequest ======');
 				console.log(result.payment);
 				console.log(' ');
 				fnKakaoPaymentOrder();
 			});
-			
+
 			return true;
 		}
 
@@ -159,16 +156,16 @@
 			let url = '/order/kakao/payment/order';
 			let data = {};
 			data.pgTid = $('#order_info input[name=pgTid]').val();
-			
+
 			let jsonData = JSON.stringify(data);
-			
+
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 				console.log('====== kakaoPaymentOrder ======');
 				console.log(result.kakaoPay);
 				console.log(' ');
 				fnCancelKakaoPayment();
 			});
-			
+
 			return true;
 		}
 
@@ -179,19 +176,19 @@
 			data.pgTid = $('#order_info input[name=pgTid]').val();
 			data.cnclRtnAmt = 1000;
 			//data.allCanYn = 'Y';
-			
+
 			let jsonData = JSON.stringify(data);
-			
+
 			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
 				console.log('====== kakaoPaymentCancel ======');
 				console.log(result.kakaoPay);
 				console.log(' ');
-				
+
 			});
 		}
 	</script>
 
-	<form id="kakao_order_info" name="order_info" method="post" action="/order/pay/result/response" >
+	<form id="kakao_order_info" name="kakao_order_info" method="post" action="/order/pay/result/response" >
 		<input type="button" id="kakaoBtn" value="카카오테스트버튼" style="width:200px; height:200px;"/>
 	</form>
 <!-- // card007 -->

+ 6 - 18
src/main/webapp/WEB-INF/views/web/pg/kcpOrderWeb.html

@@ -1,11 +1,8 @@
 <html lang="ko" xmlns:th="http://www.thymeleaf.org">
-	<th:block th:if="${payment.reqTx} == null or ${payment.reqTx} == ''">
-		<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
-		<script src="/ux/pc/js/slick.min.js"></script>
-		<script src="/ux/pc/js/jquery-ui.js"></script>
-		<script src="/ux/pc/js/jquery.modal.min.js"></script>
-		<script src="/ux/pc/js/jquery.ui.datepicker.monthyearpicker.js"></script>
-	</th:block>
+<meta http-equiv="Content-Type" content="text/html; charset=euc-kr" />
+<meta http-equiv="X-UA-Compatible" content="IE=edge" />
+<meta http-equiv="Pragma" content="no-cache">
+<meta http-equiv="Expires" content="-1">
 
 	<!-- 선택, 상점이름(영문으로 작성권장) -->
 	<input type="hidden" name="site_name"	th:value="${payment.siteName}" />
@@ -34,8 +31,7 @@
 	<input type="hidden" name="quotaopt"		th:value="${payment.quotaopt}"/>	<!-- 최대 할부 개월 수(0 ~ 18까지 설정 가능) -->
 
 	<!-- 무통장입금 정보 -->
-	<input type="hidden" name="vcnt_expire_term"	th:value="${payment.vcntExpireTerm}"/>	<!-- 무통장입금 유효기간 설정 (3 = 3일) -->
-	<input type="hidden" name="disp_tax_yn"	th:value="${payment.dispTaxYn}"/>	<!-- 무통장입금 유효기간 설정 (3 = 3일) -->
+	<!-- <input type="hidden" name="vcnt_expire_term"	th:value="${payment.vcntExpireTerm}"/> -->	<!-- 무통장입금 유효기간 설정 (3 = 3일) -->
 
 	<!-- 2012년 8월 18일 전자상거래법 개정 관련 설정 부분 -->
 	<!-- 제공 기간 설정 0:일회성 1:기간설정(ex 1:2012010120120131)  -->
@@ -55,7 +51,7 @@
 	<input type="hidden" name="enc_data"        value=""/>
 	<input type="hidden" name="ret_pay_method"  value=""/>
 	<input type="hidden" name="tran_cd"         value=""/>
-	<input type="hidden" name="use_pay_method"  th:value="${payment.usePayMethod}"/>
+	<input type="hidden" name="use_pay_method"  value=""/>
 
 	<!-- 주문정보 검증 관련 정보 : 표준웹 에서 설정하는 정보입니다 -->
 	<input type="hidden" name="ordr_chk"        value=""/>
@@ -64,12 +60,4 @@
 	<input type="hidden" name="cash_yn"         value=""/>
 	<input type="hidden" name="cash_tr_code"    value=""/>
 	<input type="hidden" name="cash_id_info"    value=""/>
-
-
-	<script th:inline="javascript">
-		if([[${payment.reqTx}]] == null || [[${payment.reqTx}]] == "") {
-			receiptWin3 = "http://devadmin.kcp.co.kr/Modules/Noti/TEST_Vcnt_Noti.jsp";
-			window.open(receiptWin3, "", "width=520, height=300");
-		}
-	</script>
 </html>