Ver Fonte

ST24PRJ-654 취소접수 로직 수정

card007 há 4 anos atrás
pai
commit
0b6df610a5

+ 45 - 46
src/main/java/com/style24/scm/biz/web/TssOrderController.java

@@ -341,62 +341,61 @@ public class TssOrderController extends TssBaseController {
 
 				// PG구분:KCP, 결제수단:무통장입금, 환불계좌가 없는경우 취소접수단계로 처리
 				// 2021.09.10 card007 핸드폰결제, 무통장입금은 부분취소 시 에러 발생함으로 취소접수로 처리
-				if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && (TscConstants.PayMeans.BANK_DEPOSIT.value().equals(change.getPayMeans()) || TscConstants.PayMeans.CELL_PHONE.value().equals(change.getPayMeans()))) {
-					// 취소점수
-					change.setChgGb(TscConstants.OrderChangeGb.CANCEL.value());
-					coreOrderChangeService.cancelRequest(change);
-
-					// 2021.09.10 card007 취소 접수시에는 CS에서 OB함으로 카카오알림톡 발송 X
-					// try {
-					// 	// 환불계좌X 취소 접수 알림톡 관련 정보 조회
-					// 	OrderChange orderChange = new OrderChange();
-					// 	orderChange = coreOrderChangeService.getKakaoOrderCancelInfo(change.getOrdChgSq());
-					//
-					// 	// 취소 알림톡 발송
-					// 	orderChange.setChgGb(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
-					// 	coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
-					// } catch (Exception e) {
-					// 	e.printStackTrace();
-					// }
+				// 2022.01.04 card007 취소접수 로직 현금환불처리로 변경
+				GagaMap result;
+				// 무통장입금
+				if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.BANK_DEPOSIT.value().equals(change.getPayMeans())) {
+					change.setCashRefundReason(TscConstants.CashRefundReason.BANK_DEPOSIT.value());
+					result = coreOrderChangeService.cashRefund(change, userNo);
+				}
+				// 신용카드(부분취소불가)
+				else if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.CREDIT_CARD.value().equals(change.getPayMeans()) && "N".equals(change.getCardPcableYn())) {
+					change.setCashRefundReason(TscConstants.CashRefundReason.CREDIT_CARD.value());
+					result = coreOrderChangeService.cashRefund(change, userNo);
+				}
+				// 휴대폰결제
+				else if (TscConstants.PgGb.KCP.value().equals(change.getPgGb()) && TscConstants.PayMeans.CELL_PHONE.value().equals(change.getPayMeans())) {
+					change.setCashRefundReason(TscConstants.CashRefundReason.CELL_PHONE.value());
+					result = coreOrderChangeService.cashRefund(change, userNo);
 				}
 				// 무통장입금 주문 중 환불계좌정보 없을 경우 제외는 취소처리
 				// 2021.09.10 card007 핸드폰결제, 무통장입금 제외로 변경
 				else {
 					// 취소완료처리
-					GagaMap cancelInfo = coreOrderChangeService.orderCancelPreInfo(change, userNo);
-
-					// 3. 취소완료 카카오알림톡 발송
-					Integer ordChgSq = cancelInfo.getInt("ordChgSq");
-
-					if (ordChgSq != null && ordChgSq > 0) {
-
-						// 네이버페이 품절취소 송부
-						if(TscConstants.PgGb.NAVER_ORDER.value().equals(change.getPgGb())) {
-							for (int i = 0; i < change.getOrdDtlNoArr().length; i++) {
-								Order order = new Order();
-								order.setOrdDtlNo(change.getOrdDtlNoArr()[i]);
-								try {
-									coreNaverPayService.sendNaverPaySoldoutCancel(order, userNo);        // 품절취소
-								} catch (Exception e) {
-									e.printStackTrace();
-								}
-							}
-						}
+					result = coreOrderChangeService.orderCancelPreInfo(change, userNo);
+				}
 
-						try {
-							// 취소 알림톡 관련 정보 조회
-							OrderChange orderChange = new OrderChange();
-							orderChange = coreOrderChangeService.getKakaoOrderCancelInfo(ordChgSq);
+				// 3. 취소완료 카카오알림톡 발송
+				Integer ordChgSq = result.getInt("ordChgSq");
 
-							// 취소 알림톡 발송
-							orderChange.setChgGb(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
-							coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
-						} catch (Exception e) {
-							e.printStackTrace();
+				if (ordChgSq != null && ordChgSq > 0) {
+
+					// 네이버페이 품절취소 송부
+					if(TscConstants.PgGb.NAVER_ORDER.value().equals(change.getPgGb())) {
+						for (int i = 0; i < change.getOrdDtlNoArr().length; i++) {
+							Order order = new Order();
+							order.setOrdDtlNo(change.getOrdDtlNoArr()[i]);
+							try {
+								coreNaverPayService.sendNaverPaySoldoutCancel(order, userNo);        // 품절취소
+							} catch (Exception e) {
+								e.printStackTrace();
+							}
 						}
+					}
 
-						// TODO 취소 메일 송부를 품절취소에서도 보내는지 ?
+					try {
+						// 취소 알림톡 관련 정보 조회
+						OrderChange orderChange = new OrderChange();
+						orderChange = coreOrderChangeService.getKakaoOrderCancelInfo(ordChgSq);
+
+						// 취소 알림톡 발송
+						orderChange.setChgGb(TscConstants.OrderCancelReason.SOLDOUT_CANCEL.value());
+						coreKakaotalkService.sendOrderCancelComplete(orderChange, userNo);
+					} catch (Exception e) {
+						e.printStackTrace();
 					}
+
+					// TODO 취소 메일 송부를 품절취소에서도 보내는지 ?
 				}
 			}
 		}

+ 2 - 1
src/main/webapp/WEB-INF/views/order/OrderSellerDelvListForm.html

@@ -130,7 +130,8 @@ var columnDefs = [
 	{headerName: "주문고객휴대폰번호",	field: "ordPhnno",			width: 100, cellClass: 'text-center', hide: true},
 	{headerName: "환불계좌번호",		field: "accountNo",			width: 100, cellClass: 'text-center', hide: true},
 	{headerName: "배송정책",			field: "delvFeeCd",			width: 100, cellClass: 'text-center', hide: true},
-	{headerName: "변경요청번호",		field: "ordChgSq",			width: 100, cellClass: 'text-center', hide: true}
+	{headerName: "변경요청번호",		field: "ordChgSq",			width: 100, cellClass: 'text-center', hide: true},
+	{headerName: "부분취소가능여부",		field: "cardPcableYn",		width: 100, cellClass: 'text-center', hide: true}
 ];
 
 var gridOptions = gagaAgGrid.getGridOptions(columnDefs);