xodud lee 5 лет назад
Родитель
Сommit
76db121acb

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

@@ -493,6 +493,18 @@ public class TsfOrderService {
 	public int updateOrderDisplayYn(Order order) { return orderDao.updateOrderDisplayYn(order); }
 
 	public Payment setPgDataInfo(Order order) {
+		// TB_PAYMENT 우선 입력
+		Payment prePay = new Payment();
+		prePay.setOrdNo(order.getOrdNo());
+		prePay.setPgGb(order.getPgGb());
+		prePay.setPayMeans(order.getPayMeans());
+
+
+		// 상품권 100% 결제일 경우 PgGb STYLE24로 변경
+		if(TscConstants.PayMeans.CREDIT_CARD.value().equals(order.getPayMeans())) {prePay.setPgGb(TscConstants.PgGb.ISTYLE.value());}
+
+		// TODO TB_PAYMENT INSERT
+
 		Payment payment;
 		order.setFrontGb(TsfSession.getFrontGb());
 		if(TscConstants.PgGb.KAKAO.value().equals(order.getPgGb())) {			// 카카오페이
@@ -507,6 +519,7 @@ public class TsfOrderService {
 			throw new IllegalArgumentException("결제타입이 잘못 선택되었습니다. 새로고침 후 다시 시도해주세요.");
 		}
 
+		// TODO TB_PAYMENT INSERT
 		payment.setPgGb(order.getPgGb());
 		payment.setPayMeans(order.getPayMeans());
 		return payment;

+ 1 - 0
src/main/java/com/style24/front/biz/web/TsfOrderController.java

@@ -783,6 +783,7 @@ public class TsfOrderController extends TsfBaseController {
 
 		param.setRegNo(param.getCustNo());
 		param.setUpdNo(param.getCustNo());
+		param.setFrontGb(TsfSession.getFrontGb());
 		
 		// 2. 결재정보등록(TB_PAYMENT)
 		param = orderService.orderPgPayResult(param, request, response);

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

@@ -143,51 +143,6 @@ public class TsfPgController extends TsfBaseController {
 		return null;
 	}
 
-	/**
-	 * 결제 PG 요청 완료
-	 *
-	 * @param
-	 * @return
-	 * @author xodud1202
-	 * @since 2021. 03. 05
-	 */
-	@ResponseBody
-	@RequestMapping(value = "/pay/result/response")
-	public ModelAndView payResultResponse(Payment param, HttpServletRequest request, HttpServletResponse response) {
-
-		ModelAndView mav = new ModelAndView();
-
-		Order order = new Order();
-
-		// 1. 로그인체크 후 custNo 설정
-		if (TsfSession.isLogin()) {
-			param.setCustNo(TsfSession.getInfo().getCustNo()); // 고객번호등록
-			order.setCustNo(TsfSession.getInfo().getCustNo());
-		} else {
-			param.setCustNo(0);
-			order.setCustNo(0);
-		}
-
-		param.setUpdNo(param.getCustNo());
-		param.setFrontGb(TsfSession.getFrontGb());
-
-		// 2. 결재정보등록(TB_PAYMENT)
-		param = orderService.orderPgPayResult(param, request, response);
-
-		order.setOrdNo(param.getOrdNo());
-		order.setSellGb("10");
-		order.setPgGb(param.getPgGb());
-		order.setPayMeans(param.getPayMeans());
-
-		// TODO 3. 주문정보 업데이트
-		coreOrderService.updateOrderInfo(order);
-
-		mav.addObject("payment", param);
-
-		mav.setViewName(super.getDeviceViewName("pg/kcpOrder"));
-		return mav;
-	}
-
 	/**
 	 * 네이버 페이 결제 모듈
 	 * @param request

+ 2 - 2
src/main/java/com/style24/persistence/mybatis/shop/TsfOrder.xml

@@ -146,7 +146,7 @@
 				 INNER JOIN TB_PAYMENT P
 				    ON O.ORD_NO = P.ORD_NO
 				   AND P.PAY_GB = 'O'
-				   AND P.PAY_STAT IN ('G016_00', 'G016_30')
+				   AND P.PAY_STAT IN ('G016_10', 'G016_30')
 				  LEFT OUTER JOIN TB_REVIEW R
 				    ON R.ORD_NO = OD.ORD_NO
 				   AND R.ORD_DTL_NO = OD.ORD_DTL_NO
@@ -421,7 +421,7 @@
 			<if test="pgGb != null and pgGb != ''">
 		   AND PG_GB = #{pgGb}
 			</if>
-		   AND PAY_STAT IN ('G016_00', 'G016_30')
+		   AND PAY_STAT IN ('G016_10', 'G016_30')
 		</where>
 	</select>
 

+ 1 - 1
src/main/java/com/style24/persistence/mybatis/shop/TsfOrderChange.xml

@@ -948,7 +948,7 @@
 		         INNER JOIN TB_PAYMENT P
 		            ON P.ORD_NO = O.ORD_NO
 		           AND P.PAY_GB = 'O'
-		           AND P.PAY_STAT IN ('G016_00', 'G016_30')
+		           AND P.PAY_STAT IN ('G016_10', 'G016_30')
 		         WHERE OCD.DEL_YN = 'N'
 		           AND O.DISP_YN = 'Y'
 		<choose>

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderDetailFormWeb.html

@@ -95,7 +95,7 @@
 												</div>
 												<div class="button_box">
 													<!-- 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중) -->
-													<th:block th:if="${ordDtl.payStat != 'G016_00' && (ordDtl.ordDtlStat == 'G013_10' or ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35' or ordDtl.ordDtlStat == 'G013_40')}">
+													<th:block th:if="${ordDtl.payStat != 'G016_10' && (ordDtl.ordDtlStat == 'G013_10' or ordDtl.ordDtlStat == 'G013_20' or ordDtl.ordDtlStat == 'G013_30' or ordDtl.ordDtlStat == 'G013_35' or ordDtl.ordDtlStat == 'G013_40')}">
 														<p><button type="button" class="btn btn_default btn_sm" th:attr="ordNo=${ordDtl.ordNo}, ordDtlNo=${ordDtl.ordDtlNo}, delvFeeCd=${ordDtl.delvFeeCd}, ordCanChgQty=${ordDtl.ordCanChgQty}" onclick="fnCreateChange(this, 'cancel', 'noMember');"><span>주문 취소</span></button></p>
 													</th:block>
 													

+ 1 - 1
src/main/webapp/WEB-INF/views/web/mypage/NoMemberOrderListFormWeb.html

@@ -390,7 +390,7 @@
 
 					// 버튼 처리
 					// 주문취소 버튼(입금대기, 결제완료, 상품준비중, 출고처지정, 배송준비중)
-					if (ordDtl.payStat != 'G016_00' && (ordDtl.ordDtlStat == 'G013_10' || ordDtl.ordDtlStat == 'G013_20' || ordDtl.ordDtlStat == 'G013_30' || ordDtl.ordDtlStat == 'G013_35' || ordDtl.ordDtlStat == 'G013_40')) {
+					if (ordDtl.payStat != 'G016_10' && (ordDtl.ordDtlStat == 'G013_10' || ordDtl.ordDtlStat == 'G013_20' || ordDtl.ordDtlStat == 'G013_30' || ordDtl.ordDtlStat == 'G013_35' || ordDtl.ordDtlStat == 'G013_40')) {
 						tag += '											<p><button type="button" class="btn btn_default btn_sm" ordNo="' + ordDtl.ordNo + '" ordDtlNo="' + ordDtl.ordDtlNo + '" ordCanChgQty="' + ordDtl.ordCanChgQty + '" delvFeeCd="' + ordDtl.delvFeeCd + '" onclick="fnCreateChange(this, \'cancel\', \'noMember\');"><span>주문 취소</span></button></p>\n';
 					}
 

+ 26 - 7
src/main/webapp/biz/payment.js

@@ -39,17 +39,36 @@ function jsf__pay( form ) {
 function call_pay_form()
 {
 	var v_frm = document.order_info;
+	// 인코딩 방식에 따른 변경 Start
+	if(v_frm.encoding_trans == undefined) {
+		v_frm.action = PayUrl;
+	} else if(v_frm.encoding_trans.value == "UTF 8") {
+		v_frm.action = PayUrl.substring(0, PayUrl.lastIndexOf("/")) + "/jsp/encodingFilter/encodingFilter.jsp";
+		v_frm.PayUrl.value = PayUrl;
+	} else {
+		v_frm.action = PayUrl;
+	}
 
-	v_frm.action = PayUrl;
-
-	if (v_frm.Ret_URL.value == "")
-	{
+	if (v_frm.Ret_URL.value == "") {
 		/* Ret_URL값은 현 페이지의 URL 입니다. */
 		alert("연동시 Ret_URL을 반드시 설정하셔야 됩니다.");
 		return false;
-	}
-	else
-	{
+	} else {
 		v_frm.submit();
 	}
+}
+
+/* kcp 통신을 통해 받은 암호화 정보 체크 후 결제 요청 (변경불가) */
+function chk_pay() {
+	self.name = "tar_opener";
+	var pay_form = document.pay_form;
+
+	if (pay_form.res_cd.value == "3001" ) {
+		alert("사용자가 취소하였습니다.");
+		pay_form.res_cd.value = "";
+	}
+
+	if (pay_form.enc_info.value) {
+		pay_form.submit();
+	}
 }

+ 26 - 36
src/main/webapp/ux/plugins/approval_key.js

@@ -28,25 +28,15 @@
 
     function kcp_AJAX()
     {
-        // 占쌔댐옙 占쌀쏙옙占쏙옙 jQuery占쏙옙 占쏙옙占� 占쏙옙占쏙옙 占십댐옙 占쏙옙체占쏙옙占쏙옙占쏙옙 占쌜듸옙 占쌀쇽옙 占쌍듸옙占쏙옙 占쏙옙占쏙옙占실억옙占쏙옙占싹댐옙.
-        // 占쏙옙 占싸븝옙占쏙옙 javascript占쏙옙 占쏙옙占쏙옙占쏙옙 jQuery占쏙옙 占싱울옙占싹몌옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쌀쇽옙 占쌍쏙옙占싹댐옙. 
-        // 占실댐옙
-        // javascript占쏙옙 占쏙옙占쏙옙 ajax 占쏙옙占쏙옙占� 占쏙옙 占십울옙 占쏙옙占쏙옙 占쌀쏙옙占쏙옙占쏙옙 order_approval.jsp占쏙옙 占쏙옙占쏙옙占쌔쇽옙 占쏙옙占� 占싹셔듸옙 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙
-        // 占쏙옙占쏙옙占실댐옙 jar 占쏙옙占싹울옙 占쏙옙占쏙옙 占쏙옙占쌨듸옙 占쏙옙占쏙옙占싶몌옙 占쏙옙占쏙옙寗占� 占쌍듸옙占쏙옙 method占쏙옙 占쏙옙占쏙옙 占실억옙 占쌍쏙옙占싹댐옙.
+        // 해당 소스는 jQuery를 사용 하지 않는 업체에서도 작동 할수 있도록 구현되었습니다.
+        // 이 부분은 javascript로 구현시 jQuery를 이용하면 더욱 쉽게 구현 할수 있습니다. 
+        // 또는
+        // javascript를 통한 ajax 통신을 할 필요 없이 소스내에 order_approval.jsp를 연동해서 사용 하셔도 관계 없으며
+        // 제공되는 jar 파일에 직접 전달된 데이터를 사용할수 있도록 method가 구현 되어 있습니다.
         if(ajax_flag)
         {
             var url    = "http:" + _frontUrl + "/pg/kcp/approval";
             var form = document.order_info;
-            let data = {
-                  site_cd : form.site_cd.value
-                , ordr_idxx : form.ordr_idxx.value
-                , good_mny : form.good_mny.value
-                , pay_method : form.pay_method.value
-                , escw_used : form.escw_used.value
-                , good_name : form.good_name.value
-                , response_type : form.response_type.value
-                , Ret_URL : form.Ret_URL.value
-            }
             var params = "?site_cd=" + form.site_cd.value
                        + "&ordr_idxx=" + form.ordr_idxx.value
                        + "&good_mny=" + form.good_mny.value
@@ -54,14 +44,14 @@
                        + "&escw_used=" + form.escw_used.value
                        + "&good_name=" + form.good_name.value
                        + "&response_type=" + form.response_type.value
-                       + "&Ret_URL=" + form.Ret_URL.value;
-            sendRequest(encodeURI(url + params));
+                       + "&Ret_URL=" + form.Ret_URL.value
+            sendRequest( url + params );
             
             ajax_flag = false;
         }
         else
         {
-            alert("占쏙옙占� 占쏙옙占쌉니댐옙. 占쏙옙첩占� 占쏙옙慕占� 占쌍쇽옙占쏙옙.");
+            alert("통신 중입니다. 잠시만 기다려 주세요.");
         }
             
     }
@@ -74,31 +64,31 @@
             {
                 if ( req01_AJAX.responseText != null )
                 {
-                    // 占쌔댐옙 占쌀쏙옙占쏙옙 jQuery占쏙옙 占쏙옙占� 占쏙옙占쏙옙 占십댐옙 占쏙옙체占쏙옙占쏙옙占쏙옙 占쌜듸옙 占쌀쇽옙 占쌍듸옙占쏙옙 占쏙옙占쏙옙占실억옙占쏙옙占싹댐옙.
-                    // 占쏙옙 占싸븝옙占쏙옙 javascript占쏙옙 占쏙옙占쏙옙占쏙옙 jQuery占쏙옙 占싱울옙占싹몌옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쏙옙占쏙옙 占쌀쇽옙 占쌍쏙옙占싹댐옙. 
-                    // 占실댐옙
-                    // javascript占쏙옙 占쏙옙占쏙옙 ajax 占쏙옙占쏙옙占� 占쏙옙 占십울옙 占쏙옙占쏙옙 占쌀쏙옙占쏙옙占쏙옙 order_approval.jsp占쏙옙 占쏙옙占쏙옙占쌔쇽옙 占쏙옙占� 占싹셔듸옙 占쏙옙占쏙옙 占쏙옙占쏙옙占쏙옙
-                    // 占쏙옙占쏙옙占실댐옙 jar 占쏙옙占싹울옙 占쏙옙占쏙옙 占쏙옙占쌨듸옙 占쏙옙占쏙옙占싶몌옙 占쏙옙占쏙옙寗占� 占쌍듸옙占쏙옙 method占쏙옙 占쏙옙占쏙옙 占실억옙 占쌍쏙옙占싹댐옙.
+                    // 해당 소스는 jQuery를 사용 하지 않는 업체에서도 작동 할수 있도록 구현되었습니다.
+                    // 이 부분은 javascript로 구현시 jQuery를 이용하면 더욱 쉽게 구현 할수 있습니다. 
+                    // 또는
+                    // javascript를 통한 ajax 통신을 할 필요 없이 소스내에 order_approval.jsp를 연동해서 사용 하셔도 관계 없으며
+                    // 제공되는 jar 파일에 직접 전달된 데이터를 사용할수 있도록 method가 구현 되어 있습니다.
                     try
                     {
                         var form = document.order_info;
                         
                         if( form.response_type.value == "JSON" )
                         {
-                            StateChangeForJSON( req01_AJAX ); // JSON 占쏙옙占쏙옙占� 占쏙옙占�
+                            StateChangeForJSON( req01_AJAX ); // JSON 방식일 경우
                         }
                         else if( form.response_type.value == "XML" )
                         {
-                            StateChangeForXML( req01_AJAX ); // XML 占쏙옙占쏙옙占� 占쏙옙占�
+                            StateChangeForXML( req01_AJAX ); // XML 방식일 경우
                         }
                         else if( form.response_type.value == "TEXT" || form.response_type.value == "" )
                         {
-                            StateChangeForText( req01_AJAX ); // TEXT 占쏙옙占쏙옙占� 占쏙옙占�
+                            StateChangeForText( req01_AJAX ); // TEXT 방식일 경우
                         }
                     }
                     catch( e )
                     {
-                        StateChangeForText( req01_AJAX ); // TEXT 占쏙옙占쏙옙占� 占쏙옙占�
+                        StateChangeForText( req01_AJAX ); // TEXT 방식일 경우
                     }
                 }
             }
@@ -117,8 +107,8 @@
         if( txt[0].replace(/^\s*/,'').replace(/\s*$/,'') == '0000' )
         {
             document.getElementById( "approval" ).value = txt[1].replace(/^\s*/,'').replace(/\s*$/,'');
-            // 占싣뤄옙 alert占쏙옙 占쏙옙占쏙옙 占쌔듸옙占쏙옙
-            alert("占쏙옙占쏙옙占쏙옙占쏙옙占쏙옙 占신뤄옙占쏙옙 占쏙옙占� 占실억옙占쏙옙占싹댐옙.");
+            // 아래 alert는 삭제 해도됨
+            alert("성공적으로 거래가 등록 되었습니다.");
             PayUrl = decodeURIComponent( txt[2].replace(/^\s*/,'').replace(/\s*$/,'') );
             
             document.getElementById( "traceNo" ).value = txt[3].replace(/^\s*/,'').replace(/\s*$/,'');
@@ -133,7 +123,7 @@
             var res_msg = txt[2].replace(/^\s*/,'').replace(/\s*$/,'');
             
             ajax_flag=true;
-            alert("占쏙옙占쏙옙 占실억옙占쏙옙占싹댐옙.[" + res_msg + "]");
+            alert("실패 되었습니다.[" + res_msg + "]");
         }
     }
     
@@ -146,8 +136,8 @@
         if( x[0].getElementsByTagName( "Code" )[0].childNodes[0].nodeValue == '0000' )
         {
             document.getElementById( "approval" ).value = x[0].getElementsByTagName( "approvalKey" )[0].childNodes[0].nodeValue;
-            // 占싣뤄옙 alert占쏙옙 占쏙옙占쏙옙 占쌔듸옙占쏙옙
-            alert("占쏙옙占쏙옙占쏙옙占쏙옙占쏙옙 占신뤄옙占쏙옙 占쏙옙占� 占실억옙占쏙옙占싹댐옙.");
+            // 아래 alert는 삭제 해도됨
+            alert("성공적으로 거래가 등록 되었습니다.");
             PayUrl = x[0].getElementsByTagName( "PayUrl" )[0].childNodes[0].nodeValue;
             
             document.getElementById( "traceNo" ).value = x[0].getElementsByTagName( "traceNo"     )[0].childNodes[0].nodeValue;
@@ -162,7 +152,7 @@
         {
             ajax_flag=true;
             
-            alert("占쏙옙占쏙옙 占실억옙占쏙옙占싹댐옙.[" + x[0].getElementsByTagName( "Message" )[0].childNodes[0].nodeValue + "]");
+            alert("실패 되었습니다.[" + x[0].getElementsByTagName( "Message" )[0].childNodes[0].nodeValue + "]");
         }
     }
     
@@ -174,8 +164,8 @@
         if( json.Code == '0000' )
         {
             document.getElementById( "approval" ).value = json.approvalKey;
-            // 占싣뤄옙 alert占쏙옙 占쏙옙占쏙옙 占쌔듸옙占쏙옙
-            alert("占쏙옙占쏙옙占쏙옙占쏙옙占쏙옙 占신뤄옙占쏙옙 占쏙옙占� 占실억옙占쏙옙占싹댐옙.");
+            // 아래 alert는 삭제 해도됨
+            alert("성공적으로 거래가 등록 되었습니다.");
             PayUrl = json.PayUrl;
             
             document.getElementById( "PayUrl"  ).value = json.request_URI;
@@ -187,6 +177,6 @@
         {
             ajax_flag=true;
             
-            alert("占쏙옙占쏙옙 占실억옙占쏙옙占싹댐옙.[" + json.Message + "]");
+            alert("실패 되었습니다.[" + json.Message + "]");
         }
     }

+ 1 - 0
src/main/webapp/ux/style24_link.js

@@ -300,6 +300,7 @@ function cfnAddCart(cartList) {
 									}
 
 									$("header #htopSub .button_wrap .store>span").text(cartCnt);
+									$("#htopMain>.button_wrap>.store>span").text(cartCnt);
 								});
 							}
 						}