Explorar o código

무통장입금 취소 전 계좌인증 처리 로직 추가 임시 커밋

card007 %!s(int64=4) %!d(string=hai) anos
pai
achega
d17bce5322

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

@@ -24,6 +24,7 @@ import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.rest.server.GagaResponse;
 import com.style24.core.biz.service.TscFreegiftService;
 import com.style24.core.biz.service.TscKakaotalkService;
+import com.style24.core.biz.service.TscKcpService;
 import com.style24.core.biz.service.TscMailService;
 import com.style24.core.biz.service.TscOrderChangeService;
 import com.style24.core.biz.service.TscOrderService;
@@ -36,6 +37,7 @@ import com.style24.front.biz.service.TsfOrderService;
 import com.style24.front.biz.thirdparty.NiceCertify;
 import com.style24.front.support.controller.TsfBaseController;
 import com.style24.front.support.security.session.TsfSession;
+import com.style24.persistence.domain.CustAccount;
 import com.style24.persistence.domain.CustContactHst;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.Order;
@@ -90,6 +92,9 @@ public class TsfOrderController extends TsfBaseController {
 	
 	@Autowired
 	private TsfCustomerService customerService;
+
+	@Autowired
+	private TscKcpService coreKcpService;
 	
 	/**
 	 * 회원, 비회원 주문페이지
@@ -1874,4 +1879,27 @@ public class TsfOrderController extends TsfBaseController {
 		
 		return resultAmt;
 	}
+
+	/**
+	 * 계좌인증
+	 * 
+	 * @param CustAccount
+	 * @return GagaMap
+	 * @author card007
+	 * @since 2021. 10. 15
+	 */
+	@PostMapping("/account/check")
+	@ResponseBody
+	public GagaMap getAccountCheck(@RequestBody CustAccount custAccount) {
+		boolean isValid = false;
+
+		GagaMap result = coreKcpService.checkAccount(custAccount);
+
+		if ("0000".equals(result.get("resCd"))) {
+			isValid = true;
+		}
+
+		result.setBoolean("isValid", isValid);
+		return result;
+	}
 }

+ 26 - 9
src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html

@@ -370,15 +370,32 @@ var fnCancel = function() {
 	let bankCd 		= $('#cancelForm input[name=bankCd]').val();
 
 	// 무통장입금, 결제완료 일때 환불계좌정보 체크
-	if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
-		let data = {};
-		data.ordNo 			= oneData.ordNo;
-		data.accountNm 		= oneData.accountNm;
-		
-		$('#refundAccountPop').show().addClass("active");
-		$("body").css({"overflow":"hidden"});
-		
-		return false;
+	if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30') {
+		if (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd)) {
+			let data = {};
+			data.ordNo = oneData.ordNo;
+			data.accountNm = oneData.accountNm;
+			
+			$('#refundAccountPop').show().addClass("active");
+			$("body").css({"overflow": "hidden"});
+			
+			return false;
+		} else {
+			// 환불계좌 유효성 체크
+			let custInfo = {};
+			custInfo.bankCd = bankCd;
+			custInfo.accountNm = accountNm;
+			custInfo.accountNo = accountNo;
+			
+			let jsonData = JSON.stringify(custInfo);
+			
+			gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+				if (!result.isValid) { // 유효하면 true
+					mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+					return false;
+				}
+			});
+		}
 	}
 
 	// 취소요청 데이터 설정

+ 1 - 1
src/main/webapp/WEB-INF/views/mob/mypage/MypageCustModifyFormMob.html

@@ -336,7 +336,7 @@
 		custInfo.accountNm = $('#custModiFyForm input[name=accountNm]').val();
 		custInfo.accountNo = $('#custModiFyForm input[name=accountNo]').val();
 		custInfo.bankCd = $('#custModiFyForm input[name=bankCd]').val();
-		let jsonData = JSON.stringify(custInfo)
+		let jsonData = JSON.stringify(custInfo);
 		//console.log(jsonData);
 		gagajf.ajaxJsonSubmit('/mypage/account/check', jsonData, fnAccountCheckCallback);
 	});

+ 26 - 9
src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html

@@ -594,15 +594,32 @@ var fnReturn = function() {
 	//paymentInfo.payStat 	= "G016_30";
 	
 	// 무통장입금, 결제완료 일때 환불계좌정보 체크
-	if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
-		let data = {};
-		data.ordNo 			= oneData.ordNo;
-		data.accountNm 		= oneData.accountNm;
-		
-		$('#refundAccountPop').show().addClass("active");
-		$("body").css({"overflow":"hidden"});
-		
-		return false;
+	if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30') {
+		if (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd)) {
+			let data = {};
+			data.ordNo = oneData.ordNo;
+			data.accountNm = oneData.accountNm;
+			
+			$('#refundAccountPop').show().addClass("active");
+			$("body").css({"overflow": "hidden"});
+			
+			return false;
+		} else {
+			// 환불계좌 유효성 체크
+			let custInfo = {};
+			custInfo.bankCd = bankCd;
+			custInfo.accountNm = accountNm;
+			custInfo.accountNo = accountNo;
+			
+			let jsonData = JSON.stringify(custInfo);
+			
+			gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+				if (!result.isValid) { // 유효하면 true
+					mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+					return false;
+				}
+			});
+		}
 	}
 
 	// 추가배송비 PG 처리

+ 46 - 21
src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html

@@ -259,29 +259,54 @@
 		let accountNm = $('#cancelForm input[name=accountNm]').val();
 		let bankCd = $('#cancelForm input[name=bankCd]').val();
 
-		if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
-			let data = {};
-			data.ordNo = oneData.ordNo;
-			data.accountNm = oneData.accountNm;
+		let chk = true;
+		if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30') {
+			if (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd)) {
+				let data = {};
+				data.ordNo = oneData.ordNo;
+				data.accountNm = oneData.accountNm;
+				
+				let jsonData = JSON.stringify(data);
+				
+				$.ajax({
+					type: "POST",
+					url: '/mypage/refund/account/register/popup/form',
+					data: jsonData,
+					dataType: 'html',
+					beforeSend: function (xhr, settings) {
+						xhr.setRequestHeader("AJAX", "true");
+						xhr.setRequestHeader('Accept', 'application/json');
+						xhr.setRequestHeader('Content-Type', 'application/json');
+					},
+					success: function (result) {
+						$("#refundPop .modal-dialog .modal-content").html(result);
+						$("#refundPop").modal("show");
+					}
+				});
+				
+				return false;
+			} else {
+				// 환불계좌 유효성 체크
+				let custInfo = {};
+				custInfo.bankCd = bankCd;
+				custInfo.accountNm = accountNm;
+				custInfo.accountNo = accountNo;
 
-			let jsonData = JSON.stringify(data);
+				let jsonData = JSON.stringify(custInfo);
 
-			$.ajax( {
-				type		: "POST",
-				url 		: '/mypage/refund/account/register/popup/form',
-				data		: jsonData,
-				dataType 	: 'html',
-				beforeSend : function(xhr, settings) {
-					xhr.setRequestHeader("AJAX"			, "true");
-					xhr.setRequestHeader('Accept'		, 'application/json');
-					xhr.setRequestHeader('Content-Type'	, 'application/json');
-				},
-				success 	: function(result) {
-					$("#refundPop .modal-dialog .modal-content").html(result);
-					$("#refundPop").modal("show");
-				}
-			});
-			
+				gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+					mcxDialog.alert('1 : '+result.isValid);
+					if (!result.isValid) { // 유효하면 true
+						chk = false;
+						mcxDialog.alert('2 : '+chk);
+					}
+				});
+			}
+		}
+		mcxDialog.alert('3 : '+chk);
+		if (!chk) {
+			mcxDialog.alert('빙고');
+			mcxDialog.alert('환불계좌가 유효하지 않습니다.');
 			return false;
 		}
 

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

@@ -356,7 +356,7 @@
 		custInfo.accountNm = $('#custModiFyForm input[name=accountNm]').val();
 		custInfo.accountNo = $('#custModiFyForm input[name=accountNo]').val();
 		custInfo.bankCd = $('#custModiFyForm input[name=bankCd]').val();
-		let jsonData = JSON.stringify(custInfo)
+		let jsonData = JSON.stringify(custInfo);
 		//console.log(jsonData);
 		gagajf.ajaxJsonSubmit('/mypage/account/check', jsonData, fnAccountCheckCallback);
 	});

+ 39 - 22
src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html

@@ -426,29 +426,46 @@
 		let bankCd = $('#returnForm input[name=bankCd]').val();
 
 		if (paymentInfo.payMeans == 'G014_20' && paymentInfo.payStat == 'G016_30' && (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd))) {
-			let data = {};
-			data.ordNo = oneData.ordNo;
-			data.accountNm = oneData.accountNm;
-
-			let jsonData = JSON.stringify(data);
-
-			$.ajax( {
-				type		: "POST",
-				url 		: '/mypage/refund/account/register/popup/form',
-				data		: jsonData,
-				dataType 	: 'html',
-				beforeSend : function(xhr, settings) {
-					xhr.setRequestHeader("AJAX"			, "true");
-					xhr.setRequestHeader('Accept'		, 'application/json');
-					xhr.setRequestHeader('Content-Type'	, 'application/json');
-				},
-				success 	: function(result) {
-					$("#refundPop .modal-dialog .modal-content").html(result);
-					$("#refundPop").modal("show");
-				}
-			});
+			if (gagajf.isNull(accountNo) || gagajf.isNull(accountNm) || gagajf.isNull(bankCd)) {
+				let data = {};
+				data.ordNo = oneData.ordNo;
+				data.accountNm = oneData.accountNm;
+				
+				let jsonData = JSON.stringify(data);
+				
+				$.ajax({
+					type: "POST",
+					url: '/mypage/refund/account/register/popup/form',
+					data: jsonData,
+					dataType: 'html',
+					beforeSend: function (xhr, settings) {
+						xhr.setRequestHeader("AJAX", "true");
+						xhr.setRequestHeader('Accept', 'application/json');
+						xhr.setRequestHeader('Content-Type', 'application/json');
+					},
+					success: function (result) {
+						$("#refundPop .modal-dialog .modal-content").html(result);
+						$("#refundPop").modal("show");
+					}
+				});
 
-			return false;
+				return false;
+			} else {
+				// 환불계좌 유효성 체크
+				let custInfo = {};
+				custInfo.bankCd = bankCd;
+				custInfo.accountNm = accountNm;
+				custInfo.accountNo = accountNo;
+				
+				let jsonData = JSON.stringify(custInfo);
+				
+				gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+					if (!result.isValid) { // 유효하면 true
+						mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+						return false;
+					}
+				});
+			}
 		}
 
 		// 추가배송비 PG 처리