Kaynağa Gözat

ST24PRJ-21 [결함] 교환배송비 PG점프/현금환불로직 - 휴대폰 결제시

card007 4 yıl önce
ebeveyn
işleme
b658e898af

+ 28 - 0
src/main/java/com/style24/admin/biz/web/TsaOrderChangeController.java

@@ -151,6 +151,23 @@ public class TsaOrderChangeController extends TsaBaseController {
 		mav.addObject("delvFeeCd"					, delvFeeCd);													// 배송지정책코드
 		mav.addObject("orderChangeDetailList"		, orderChangeDetailList);										// 변경신청목록 (취소/반품/교환)
 		mav.addObject("userId"						, userId);														// 관리자ID
+
+		// 2021.11.29 card007 교환배송비 취소가능 여부
+		String canDeliveryCancelYn = "";
+		String payMeans = "";
+		if (ordChgSq > 0) {
+			// 교환배송비 취소가능여부 조회
+			OrderChange orderChange = new OrderChange();
+			orderChange.setOrdChgSq(order.getOrdChgSq());
+			Collection<Order> paymentList = coreOrderChangeService.getAddDeliveryFeePayment(orderChange);
+
+			if (paymentList != null && paymentList.size() > 0) {
+				canDeliveryCancelYn = paymentList.iterator().next().getCanDeliveryCancelYn();
+				payMeans = paymentList.iterator().next().getPayMeans();
+			}
+		}
+		mav.addObject("canDeliveryCancelYn"			, canDeliveryCancelYn);
+		mav.addObject("payMeans"					, payMeans);
 		
 		String viewName = "";
 		
@@ -950,10 +967,21 @@ public class TsaOrderChangeController extends TsaBaseController {
 				wdGb = exchangeInfoList.iterator().next().getWdGb();
 			}
 
+			// 교환배송비 취소가능여부 조회
+			OrderChange orderChange = new OrderChange();
+			orderChange.setOrdChgSq(order.getOrdChgSq());
+			Collection<Order> paymentList = coreOrderChangeService.getAddDeliveryFeePayment(orderChange);
+			
+			String canDeliveryCancelYn = "";
+			if (paymentList != null && paymentList.size() > 0) {
+				canDeliveryCancelYn = paymentList.iterator().next().getCanDeliveryCancelYn();
+			}
+
 			mav.addObject("exchangeInfoList"		, exchangeInfoList);											// 교환정보
 			mav.addObject("chgOrdDtlStat"			, chgOrdDtlStat);												// 교환상품상세상태
 			mav.addObject("wdGb"					, wdGb);														// 회수방법
 			mav.addObject("recallExceptionInfo"		, coreOrderChangeService.getRecallExceptionInfo(order));		// 회수 예외 정보
+			mav.addObject("canDeliveryCancelYn"		, canDeliveryCancelYn);											// 교환배송비 취소가능 여부
 		}
 
 		mav.addObject("wdBfSendYn"					, wdBfSendYn);													// 선발송여부

+ 9 - 0
src/main/webapp/WEB-INF/views/order/CnclReqForm.html

@@ -342,6 +342,8 @@ var chgMemo						= "";											// 변경사유메모
 var chgStat						= cancelRequestTargetList[0].chgStat			// 변경상태(교환출고실패 취소처리)
 var wdGb						= cancelRequestTargetList[0].wdGb				// 회수구분(교환출고실패 취소처리)
 var addPayCost					= cancelRequestTargetList[0].addPayCost			// 추가결제비용(교환출고실패 취소처리)
+var canDeliveryCancelYn 		= [[${canDeliveryCancelYn}]];					// 교환배송비 취소가능여부
+var delvPayMeans				= [[${payMeans}]];								// 교환배송비 결제수단
 
 // 변경요청정보 승인, 철회
 if (ordChgSq > 0 && chgStat != 'G685_40') {
@@ -1323,6 +1325,13 @@ var fnCnclReq = function (reqGbn) {
 	else if (reqGbn == "cnclComplete") {
 		confirmStr 		= "취소완료하시겠습니까?";
 		cnclUrl 		= '/orderChange/cnclComplete/';
+
+		// 2021.11.30 card007 교환배송비 취소 불가 시 PG점프 처리
+		if (wdGb == 'W' && delvPayMeans == 'G014_60') {
+			confirmStr = '교환배송비 [' + (addPayCost / 2).addComma() + '원] 취소불가로 PG점프 처리 됩니다. <br /> 요청번호 [' + ordChgSq + '] 에 대한 취소승인 처리를 하시겠습니까?';
+		} else if (wdGb == 'D' && canDeliveryCancelYn == 'N') {
+			confirmStr = '교환배송비 [' + addPayCost.addComma() + '원] 취소불가로 PG점프 처리 됩니다. <br /> 요청번호 [' + ordChgSq + '] 에 대한 취소승인 처리를 하시겠습니까?';
+		}
 	}
 	// 취소신청승인
 	else if (reqGbn == "cnclReqComplete") {

+ 20 - 7
src/main/webapp/WEB-INF/views/order/ExchangeRequestForm.html

@@ -248,7 +248,8 @@ var chgOrdDtlStat;															// 교환상품상세상태값
 var delvAddrSq;																// 교환상품배송지일련번호
 var npayChangeHoldYn		= '';											// 네이버페이 주문형 반품/교환 보류 여부
 var selfGoodsYn 			= cancelRequestTargetList[0].selfGoodsYn;		// 자사,입점여부
-var wdBfSendYn				= ""; 
+var wdBfSendYn				= "";
+var canDeliveryCancelYn		= "";
 
 var temp1 = true;
 var temp2 = true;
@@ -277,6 +278,7 @@ if (ordChgSq > 0) {
 	}
 	
 	wdBfSendYn				= orderChangeDetailList[0].wdBfSendYn;			// 선발송여부
+	canDeliveryCancelYn		= [[${canDeliveryCancelYn}]];
 }
 
 // 1. 주문정보(교환대상)
@@ -955,9 +957,15 @@ var fnExchangeCancel = function() {
 	data.ordChgSq = ordChgSq;
 	data.ordNo = ordNo;
 
+	// 교환배송비 철회 가능여부 체크
+	let message = '요청번호 [' + ordChgSq + '] 에 대한 요청철회 처리를 하시겠습니까?';
+	if (canDeliveryCancelYn == 'N') {
+		message = '교환배송비 [' + addPayCost.addComma() + '원] 취소불가로 PG점프 처리 됩니다. <br /> 요청번호 [' + ordChgSq + '] 에 대한 요청철회 처리를 하시겠습니까?';
+	}
+
 	let jsonData = JSON.stringify(data);
 
-	mcxDialog.confirm('요청번호 [' + ordChgSq + '] 에 대한 요청철회 처리를 하시겠습니까?', {
+	mcxDialog.confirm(message, {
 		cancelBtnText		: "취소",
 		sureBtnClick		: function(){
 			// 교환 실행
@@ -1439,12 +1447,17 @@ $(document).ready(function() {
 		}
 
 		// 네이버페이 주문형 보류 버튼 처리
-		if (!gagajf.isNull(npayChangeHoldYn)) {
-			if (npayChangeHoldYn == 'Y') {
-				$('#fnExchangeHold').css('display', 'none');
-			} else {
-				$('#fnReleaseExchangeHold').css('display', 'none');
+		if (pgGb == 'NAVER_ORDER') {
+			if (!gagajf.isNull(npayChangeHoldYn)) {
+				if (npayChangeHoldYn == 'Y') {
+					$('#fnExchangeHold').css('display', 'none');
+				} else {
+					$('#fnReleaseExchangeHold').css('display', 'none');
+				}
 			}
+		} else {
+			$('#fnExchangeHold').css('display', 'none');
+			$('#fnReleaseExchangeHold').css('display', 'none');
 		}
 	} else {
 		$('#chgerButton').css('display', 'none');						// 회수지 수정 버튼