Pārlūkot izejas kodu

Merge branch 'style' into yujung_style

yujung 4 gadi atpakaļ
vecāks
revīzija
08234e3d65

+ 7 - 0
pom.xml

@@ -290,6 +290,13 @@
 			<artifactId>metadata-extractor</artifactId>
 			<version>2.12.0</version>
 		</dependency>
+
+		<!-- 이모티콘 처리 관련 -->
+		<dependency>
+			<groupId>com.vdurmont</groupId>
+			<artifactId>emoji-java</artifactId>
+			<version>5.1.1</version>
+		</dependency>
 	</dependencies>
 	
 	<build>

+ 6 - 4
src/main/java/com/style24/front/biz/service/TsfReviewService.java

@@ -18,10 +18,10 @@ import com.style24.core.support.env.TscConstants;
 import com.style24.front.biz.dao.TsfReviewDao;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Goods;
-import com.style24.persistence.domain.Plan;
 import com.style24.persistence.domain.Point;
 import com.style24.persistence.domain.Review;
 import com.style24.persistence.domain.ReviewAttach;
+import com.vdurmont.emoji.EmojiParser;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -68,14 +68,16 @@ public class TsfReviewService {
 	 */
 	public Collection<Review> getReviewList(Review review) {
 		Collection<Review> reviewList = reviewDao.getReviewList(review);
-		
+
 		// 첨부파일
 		for(Review loopReview : reviewList) {
 			loopReview.setReviewAttachList(reviewDao.getReviewAttachList(loopReview));
 			loopReview.setGoodsOptionList(reviewDao.getReviewGoodsOptionList(loopReview));
+
+			// 이모티콘 제거
+			loopReview.setReviewContent(EmojiParser.removeAllEmojis(loopReview.getReviewContent()));
 		}
-		//log.info("getReviewList {}", reviewList);
-		
+
 		return reviewList;
 	}
 	

+ 15 - 13
src/main/java/com/style24/front/biz/thirdparty/NiceCertify.java

@@ -1,24 +1,27 @@
 package com.style24.front.biz.thirdparty;
 
-import Kisinfo.Check.IPIN2Client;
-import NiceID.Check.CPClient;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.HashMap;
+
+import javax.annotation.PostConstruct;
+
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.core.env.Environment;
+import org.springframework.stereotype.Component;
+
 import com.gagaframework.web.parameter.GagaMap;
 import com.gagaframework.web.util.GagaDateUtil;
 import com.gagaframework.web.util.GagaFileUtil;
 import com.style24.core.support.env.TscConstants;
 import com.style24.front.support.security.session.TsfSession;
 import com.style24.persistence.domain.Customer;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.core.env.Environment;
-import org.springframework.stereotype.Component;
 
-import javax.annotation.PostConstruct;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.HashMap;
+import Kisinfo.Check.IPIN2Client;
+import NiceID.Check.CPClient;
+import lombok.extern.slf4j.Slf4j;
 
 /**
  * 나이스 인증
@@ -196,7 +199,6 @@ public class NiceCertify {
 		String sMobileNo = (String)result.get("MOBILE_NO");				// 휴대폰번호
 		String sMobileCo = (String)result.get("MOBILE_CO");				// 통신사
 
-
 		String sRequestNo = TsfSession.getAttribute("REQ_SEQ");	// 세션에 저장된 요청번호
 		log.info("sRequestNo ===> {}, sRequestNumber ===> {}",sRequestNo ,sRequestNumber);
 //		if (!sRequestNo.equals(sRequestNumber)) {

+ 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;
+	}
 }

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

@@ -97,8 +97,8 @@ naverPay:
     zzim.api.url: https://pay.naver.com/customer/api/wishlist.nhn
     zzim.popup.url: https://pay.naver.com/customer/wishlistPopup.nhn
     zzim.mobile.url: https://m.pay.naver.com/mobile/customer/wishList.nhn
-    access.license:
-    secret.key:
+    access.license: 01000100005add7973062fb26d6ab0270bbb0e426475ca6de319ce56126da2bed70b8fdc9a
+    secret.key: AQABAADLd4Aq3e/eUoHUVnplCOtJul09xEgICn50rnTw6joQNg==
     port.address: http://ec.api.naver.com/Checkout/MallService5
     service.name: MallService5
     version: 5.0

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

@@ -118,8 +118,8 @@ naverPay:
     order.api.url: https://api.pay.naver.com/o/customer/api/order/v20/register
     order.pc.url: https://order.pay.naver.com/customer/buy/
     order.mobile.url: https://m.pay.naver.com/o/customer/buy/
-    access.license:
-    secret.key:
+    access.license: 01000100005add7973062fb26d6ab0270bbb0e426475ca6de319ce56126da2bed70b8fdc9a
+    secret.key: AQABAADLd4Aq3e/eUoHUVnplCOtJul09xEgICn50rnTw6joQNg==
     port.address: http://ec.api.naver.com/Checkout/MallService5
     service.name: MallService5
     version: 5.0

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

@@ -107,8 +107,8 @@ naverPay:
     zzim.api.url: https://pay.naver.com/customer/api/wishlist.nhn
     zzim.popup.url: https://pay.naver.com/customer/wishlistPopup.nhn
     zzim.mobile.url: https://m.pay.naver.com/mobile/customer/wishList.nhn
-    access.license:
-    secret.key:
+    access.license: 01000100005add7973062fb26d6ab0270bbb0e426475ca6de319ce56126da2bed70b8fdc9a
+    secret.key: AQABAADLd4Aq3e/eUoHUVnplCOtJul09xEgICn50rnTw6joQNg==
     port.address: http://ec.api.naver.com/Checkout/MallService5
     service.name: MallService5
     version: 5.0

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

@@ -107,8 +107,8 @@ naverPay:
     zzim.api.url: https://pay.naver.com/customer/api/wishlist.nhn
     zzim.popup.url: https://pay.naver.com/customer/wishlistPopup.nhn
     zzim.mobile.url: https://m.pay.naver.com/mobile/customer/wishList.nhn
-    access.license:
-    secret.key:
+    access.license: 01000100005add7973062fb26d6ab0270bbb0e426475ca6de319ce56126da2bed70b8fdc9a
+    secret.key: AQABAADLd4Aq3e/eUoHUVnplCOtJul09xEgICn50rnTw6joQNg==
     port.address: http://ec.api.naver.com/Checkout/MallService5
     service.name: MallService5
     version: 5.0

+ 10 - 1
src/main/webapp/WEB-INF/views/mob/display/BrandMainFormMob.html

@@ -60,7 +60,9 @@
 						<!-- 정보 -->
 						<div class="inner">
 							<div class="br_top_info" id="brandDesc">
-								<p class="br_subtitle" th:text="${contentsTitle}"></p>
+								<p class="br_subtitle brand_title">
+									<input type="hidden" name="title" th:value="${contentsTitle}">
+								</p>
 								<p class="cate">
 									<input type="hidden" name="brandTitle" th:value="${ContentsData.strTitle1}">
 								</p>
@@ -774,6 +776,13 @@
 			$(this).append(tag);
 		}
 	});
+	
+	// 브랜드 타이틀 <br> 처리
+	if(!gagajf.isNull($(".brand_title").find("input[name=title]").val())){
+		var brText = $(".brand_title").find("input[name=title]").val();
+		let tag = fnRemoveHTML(brText);
+		$(".brand_title").append(tag);
+	}
 </script>
 
 </th:block>

+ 48 - 20
src/main/webapp/WEB-INF/views/mob/mypage/MypageCancelFormMob.html

@@ -370,15 +370,20 @@ 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;
+	let chk = 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 {
+			chk = true;
+		}
 	}
 
 	// 취소요청 데이터 설정
@@ -401,17 +406,40 @@ var fnCancel = function() {
 
 	let jsonData = JSON.stringify(data);
 	
-	// 취소 처리 가능 여부 조회
-	gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function(result) {
-		if (result.cancelYn == 'Y') {
-			// 취소 처리
-			gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
-			}, true);
-		} else {
-			mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
-		}
-	});
+	// 무통장입금 취소의 경우 계좌인증처리 후 취소 진행
+	if (chk) {
+		// 무통장입금 계좌인증
+		gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+			if (result.isValid) { // 유효하면 true
+				// 취소 처리 가능 여부 조회
+				gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function (result) {
+					if (result.cancelYn == 'Y') {
+						// 취소 처리
+						gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+							cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+						}, true);
+					} else {
+						mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
+					}
+				});
+			} else {
+				mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+				return false;
+			}
+		});
+	} else {
+		// 취소 처리 가능 여부 조회
+		gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function (result) {
+			if (result.cancelYn == 'Y' && chk > 0) {
+				// 취소 처리
+				gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+					cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+				}, true);
+			} else {
+				mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
+			}
+		});
+	}
 }
 
 // 취소 수량 변경 이벤트 처리

+ 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);
 	});

+ 53 - 23
src/main/webapp/WEB-INF/views/mob/mypage/MypageReturnFormMob.html

@@ -594,15 +594,20 @@ 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;
+	let chk = 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 {
+			chk = true
+		}
 	}
 
 	// 추가배송비 PG 처리
@@ -633,20 +638,45 @@ var fnReturn = function() {
 	data.shipCompCd			= $('#returnForm input[name=shipCompCd]').val();
 
 	let jsonData = JSON.stringify(data);
-
-	gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-		if (addPayCost > 0) {
-			let ordChgSq = result.ordChgSq;
-			let ordNo = result.ordNo;
-
-			$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
-			$('#addPaymentForm input[name=ordNo]').val(ordNo);
-
-			document.addPaymentForm.submit();
-		} else {
-			cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
-		}
-	}, true);
+	
+	// 무통장입금 취소의 경우 계좌인증처리 후 반품 진행
+	if (chk) {
+		// 무통장입금 계좌인증
+		gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+			if (result.isValid) { // 유효하면 true
+				gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+					if (addPayCost > 0) {
+						let ordChgSq = result.ordChgSq;
+						let ordNo = result.ordNo;
+						
+						$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+						$('#addPaymentForm input[name=ordNo]').val(ordNo);
+						
+						document.addPaymentForm.submit();
+					} else {
+						cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+					}
+				}, true);
+			} else {
+				mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+				return false;
+			}
+		});
+	} else {
+		gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+			if (addPayCost > 0) {
+				let ordChgSq = result.ordChgSq;
+				let ordNo = result.ordNo;
+				
+				$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+				$('#addPaymentForm input[name=ordNo]').val(ordNo);
+				
+				document.addPaymentForm.submit();
+			} else {
+				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+			}
+		}, true);
+	}
 }
 
 // 반품 수량 변경 이벤트 처리

+ 10 - 1
src/main/webapp/WEB-INF/views/web/display/BrandMainFormWeb.html

@@ -74,7 +74,9 @@
 						<div class="content brand_info">
 							<div class="cont_body clear">
 								<div class="brand_tit">
-									<p th:text="${contentsTitle}"></p>
+									<p class="brand_title">
+										<input type="hidden" name="title" th:value="${contentsTitle}">
+									</p>
 									<th:block th:if="${ContentsData.strVar1!=null && ContentsData.strVar1!='' && ContentsData.strVar1!='#' }">
 										<a th:if="${ContentsData.contentsType=='SELF'}" th:href="${ContentsData.strVar1}" target="_self">브랜드 사이트</a>
 										<a th:unless="${ContentsData.contentsType=='SELF'}" th:href="${ContentsData.strVar1}" target="_blank">브랜드 사이트</a>
@@ -1150,6 +1152,13 @@ $(document).ready( function() {
 			$(this).append(tag);
 		}
 	});
+	
+	// 브랜드 타이틀 <br> 처리
+	if(!gagajf.isNull($(".brand_title").find("input[name=title]").val())){
+		var brText = $(".brand_title").find("input[name=title]").val();
+		let tag = fnRemoveHTML(brText);
+		$(".brand_title").append(tag);
+	}
 
 }); // end ready
 /*]]>*/

+ 63 - 35
src/main/webapp/WEB-INF/views/web/mypage/MypageCancelFormWeb.html

@@ -259,30 +259,35 @@
 		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 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;
+		let chk = 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;
+				
+				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 {
+				chk = true;
+			}
 		}
 
 		// 취소요청 데이터 설정
@@ -305,17 +310,40 @@
 
 		let jsonData = JSON.stringify(data);
 
-		// 취소 처리 가능 여부 조회
-		gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function(result) {
-			if (result.cancelYn == 'Y') {
-				// 취소 처리
-				gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-					cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
-				}, true);
-			} else {
-				mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
-			}
-		});
+		// 무통장입금 취소의 경우 계좌인증처리 후 취소 진행
+		if (chk) {
+			// 무통장입금 계좌인증
+			gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+				if (result.isValid) { // 유효하면 true
+					// 취소 처리 가능 여부 조회
+					gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function (result) {
+						if (result.cancelYn == 'Y') {
+							// 취소 처리
+							gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+								cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+							}, true);
+						} else {
+							mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
+						}
+					});
+				} else {
+					mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+					return false;
+				}
+			});
+		} else {
+			// 취소 처리 가능 여부 조회
+			gagajf.ajaxJsonSubmit('/mypage/wms/cancel/available', jsonData, function (result) {
+				if (result.cancelYn == 'Y' && chk > 0) {
+					// 취소 처리
+					gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+						cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+					}, true);
+				} else {
+					mcxDialog.alert('이미 배송처리 되어 취소 처리에 실패 하였습니다.');
+				}
+			});
+		}
 	}
 	
 	// 취소 수량 변경 이벤트 처리

+ 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);
 	});

+ 67 - 37
src/main/webapp/WEB-INF/views/web/mypage/MypageReturnFormWeb.html

@@ -425,30 +425,35 @@
 		let accountNm = $('#returnForm input[name=accountNm]').val();
 		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");
-				}
-			});
+		let chk = 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;
+				
+				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 {
+				chk = true;
+			}
 		}
 
 		// 추가배송비 PG 처리
@@ -479,20 +484,45 @@
 		data.shipCompCd 		= $('#returnForm input[name=shipCompCd]').val();
 
 		let jsonData = JSON.stringify(data);
-
-		gagajf.ajaxJsonSubmit(url, jsonData, function(result) {
-			if (addPayCost > 0) {
-				let ordChgSq = result.ordChgSq;
-				let ordNo = result.ordNo;
-
-				$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
-				$('#addPaymentForm input[name=ordNo]').val(ordNo);
-
-				document.addPaymentForm.submit();
-			} else {
-				cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
-			}
-		}, true);
+		
+		// 무통장입금 취소의 경우 계좌인증처리 후 반품 진행
+		if (chk) {
+			// 무통장입금 계좌인증
+			gagajf.ajaxJsonSubmit('/order/account/check', jsonData, function (result) {
+				if (result.isValid) { // 유효하면 true
+					gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+						if (addPayCost > 0) {
+							let ordChgSq = result.ordChgSq;
+							let ordNo = result.ordNo;
+							
+							$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+							$('#addPaymentForm input[name=ordNo]').val(ordNo);
+							
+							document.addPaymentForm.submit();
+						} else {
+							cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+						}
+					}, true);
+				} else {
+					mcxDialog.alert('환불계좌가 유효하지 않습니다.');
+					return false;
+				}
+			});
+		} else {
+			gagajf.ajaxJsonSubmit(url, jsonData, function (result) {
+				if (addPayCost > 0) {
+					let ordChgSq = result.ordChgSq;
+					let ordNo = result.ordNo;
+					
+					$('#addPaymentForm input[name=ordChgSq]').val(ordChgSq);
+					$('#addPaymentForm input[name=ordNo]').val(ordNo);
+					
+					document.addPaymentForm.submit();
+				} else {
+					cfnGoToPage(_PAGE_MYPAGE_CRE_LIST);
+				}
+			}, true);
+		}
 	}
 
 	// 반품 수량 변경 이벤트 처리