Переглянути джерело

Merge branch 'style' into card007

card007 4 роки тому
батько
коміт
df58e49369

+ 65 - 48
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -691,27 +691,7 @@ public class TscOrderChangeService {
 			}
 		}
 
-		// 7. WMS 취소 처리
-		List<Order> wmsList = new ArrayList<>();
-		for (Order cancelOrderRefund : cancelOrderRefundList) {
-			int ordDtlNo = cancelOrderRefund.getOrdDtlNo();
-			int chgQty = cancelOrderRefund.getOrdCanChgQty();
-
-			Order wms = new Order();
-			wms.setOrdNo(ordNo);
-			wms.setOrdDtlNo(ordDtlNo);
-			wms.setChgQty(chgQty);
-
-			if (chgQty > 0) {
-				wmsList.add(wms);
-			}
-		}
-
-		if (wmsList.size() > 0) {
-			wmsService.updateWmsCancel(wmsList);
-		}
-
-		// 8. PG 취소 처리
+		// 7. PG 취소 처리
 		for (Payment pg : pgList) {
 			
 			// 2021.09.02 (PAY_STAT = 'G016_30' AND PG_TID IS NULL AND PG_GB <> 'ISTYLE') 체크 후 없으면 제휴몰로 판단 로직
@@ -721,7 +701,10 @@ public class TscOrderChangeService {
 			
 			// 네이버페이주문형, 외부몰주문, PG점프, 100%상품권 결제는 PG점프 처리
 			if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || pg.getPartCancelAmt() == 0) {
-				pg.setPayAmt(-pg.getPartCancelAmt());
+				// 2021.10.15 card007 PG점프는 추후 데이터 구분을 위해 pgTid, pgTradeNo 없앰
+				pg.setPayAmt(pg.getPartCancelAmt() * -1);
+				pg.setPgTid("");
+				pg.setPgTradeNo("");
 				orderDao.insertPaymentCancel(pg);
 			} else if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
 				log.info("modType ::: {}", modType);
@@ -747,7 +730,7 @@ public class TscOrderChangeService {
 				kakaoPayService.cancelKakaoPayment(pg);
 			}
 
-			// 9. 환불정보 수정
+			// 8. 환불정보 수정
 			Order refundOrder = new Order();
 			refundOrder.setOrdNo(ordNo);
 			refundOrder.setPaySq(pg.getPaySq());
@@ -757,11 +740,32 @@ public class TscOrderChangeService {
 			orderChangeDao.updateRefundInfo(refundOrder);
 		}
 
-		// 10. 현금영수증 취소 처리
+		// 9. 현금영수증 취소 처리
 		for (GiftCard cashReceipts : cashReceiptsList) {
 			kcpService.kcpCashReceiptCancel(cashReceipts);
 		}
 
+		// 10. WMS 취소 처리
+		// 2021.10.14 card007 트랜잭션 처리 안되는듯 하여 PG처리 후 WMS처리 하는걸로 변경
+		List<Order> wmsList = new ArrayList<>();
+		for (Order cancelOrderRefund : cancelOrderRefundList) {
+			int ordDtlNo = cancelOrderRefund.getOrdDtlNo();
+			int chgQty = cancelOrderRefund.getOrdCanChgQty();
+
+			Order wms = new Order();
+			wms.setOrdNo(ordNo);
+			wms.setOrdDtlNo(ordDtlNo);
+			wms.setChgQty(chgQty);
+
+			if (chgQty > 0) {
+				wmsList.add(wms);
+			}
+		}
+
+		if (wmsList.size() > 0) {
+			wmsService.updateWmsCancel(wmsList);
+		}
+
 		return map;
 	}
 
@@ -2247,24 +2251,7 @@ public class TscOrderChangeService {
 		
 		orderChangeDao.updateOrderDetailItemForAllCancel(orderDetail);
 		
-		// 10. WMS 취소 처리
-		List<Order> wmsList = new ArrayList<>();
-		if(orderChange.getOrdDtlNoArr() != null && orderChange.getOrdDtlNoArr().length > 0) {
-			for (int i = 0; i < orderChange.getOrdDtlNoArr().length; i++) {
-				Order wms = new Order();
-				wms.setOrdNo(ordNo);
-				wms.setOrdDtlNo(orderChange.getOrdDtlNoArr()[i]);
-				wms.setChgQty(orderChange.getCnclRtnReqQtyArr()[i]);
-
-				wmsList.add(wms);
-			}
-
-			if(wmsList.size() > 0) {
-				wmsService.updateWmsCancel(wmsList);
-			}
-		}
-		
-		// 11. 배송비 취소 처리
+		// 10. 배송비 취소 처리
 		OrderChange deliveryFee = new OrderChange();
 		deliveryFee.setOrdNo(ordNo);
 		deliveryFee.setOrdChgSq(ordChgSq);
@@ -2272,7 +2259,7 @@ public class TscOrderChangeService {
 		deliveryFee.setUpdNo(updNo);
 		orderChangeDao.createDeliveryFeeForAllCancel(deliveryFee);
 
-		// 12. PG 연동
+		// 11. PG 연동
 		Payment pg = new Payment();
 		pg.setOrdNo(ordNo);
 		pg.setOrdChgSq(ordChgSq);
@@ -2297,7 +2284,10 @@ public class TscOrderChangeService {
 		// PG처리
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
+			// 2021.10.15 card007 PG점프는 추후 데이터 구분을 위해 pgTid, pgTradeNo 없앰
 			pg.setPayAmt(pg.getPayAmt() * -1);
+			pg.setPgTid("");
+			pg.setPgTradeNo("");
 			orderDao.insertPaymentCancel(pg);
 		} else if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
 			pg.setModType(modType);
@@ -2319,12 +2309,12 @@ public class TscOrderChangeService {
 			kakaoPayService.cancelKakaoPayment(pg);
 		}
 
-		// 11. 환불금액 정보 수정
+		// 12. 환불금액 정보 수정
 		refundOrder.setPaySq(pg.getPaySq());
 
 		orderChangeDao.updateRefundInfo(refundOrder);
 
-		// 12. 보증보험 취소 처리 (무통장입금 전 전체취소 시 처리)
+		// 13. 보증보험 취소 처리 (무통장입금 전 전체취소 시 처리)
 		if (TscConstants.OrderChangeStat.PAYMENT_BEFORE_CANCEL.value().equals(chgStat)) {
 			Order guarantee = new Order();
 			guarantee.setOrdNo(ordNo);
@@ -2332,7 +2322,7 @@ public class TscOrderChangeService {
 			orderService.uSafeGuaranteePayedBeforeCancel(guarantee);
 		}
 
-		// 13. 상품권 현금영수증 취소 처리
+		// 14. 상품권 현금영수증 취소 처리
 		GiftCard giftCardCashReceipts = orderDao.getGiftCardReceiptInfo(ordNo);
 
 		if (giftCardCashReceipts != null && StringUtils.isNotBlank(giftCardCashReceipts.getTradeNo())) {
@@ -2341,6 +2331,24 @@ public class TscOrderChangeService {
 
 			kcpService.kcpCashReceiptCancel(giftCardCashReceipts);
 		}
+
+		// 15. WMS 취소 처리
+		// 2021.10.14 card007 트랜잭션 처리 안되는듯 하여 PG처리 후 WMS처리 하는걸로 변경
+		List<Order> wmsList = new ArrayList<>();
+		if(orderChange.getOrdDtlNoArr() != null && orderChange.getOrdDtlNoArr().length > 0) {
+			for (int i = 0; i < orderChange.getOrdDtlNoArr().length; i++) {
+				Order wms = new Order();
+				wms.setOrdNo(ordNo);
+				wms.setOrdDtlNo(orderChange.getOrdDtlNoArr()[i]);
+				wms.setChgQty(orderChange.getCnclRtnReqQtyArr()[i]);
+
+				wmsList.add(wms);
+			}
+
+			if(wmsList.size() > 0) {
+				wmsService.updateWmsCancel(wmsList);
+			}
+		}
 		
 		return ordChgSq;
 	}
@@ -3217,10 +3225,13 @@ public class TscOrderChangeService {
 			if (orderDao.getExtmallOrderChk(pg) > 0) {
 				payMeans = TscConstants.PayMeans.EXTMALL.value();
 			}
-						
+
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 			if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
-				pg.setPayAmt(pg.getPayAmt() * -1);
+				// 2021.10.15 card007 PG점프는 추후 데이터 구분을 위해 pgTid, pgTradeNo 없앰
+				pg.setPayAmt(pg.getPartCancelAmt() * -1);
+				pg.setPgTid("");
+				pg.setPgTradeNo("");
 				orderDao.insertPaymentCancel(pg);
 			}
 			// KCP 및 PAYCO 결제 취소 처리
@@ -4207,7 +4218,10 @@ public class TscOrderChangeService {
 
 		// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
+			// 2021.10.15 card007 PG점프는 추후 데이터 구분을 위해 pgTid, pgTradeNo 없앰
 			pg.setPayAmt(pg.getPayAmt() * -1);
+			pg.setPgTid("");
+			pg.setPgTradeNo("");
 			orderDao.insertPaymentCancel(pg);
 		}
 		// KCP 및 PAYCO 결제 취소 처리
@@ -4527,7 +4541,10 @@ public class TscOrderChangeService {
 		// 상품권으로만 결제 시 PG점프
 		if (TscConstants.PgGb.NAVER_ORDER.value().equals(pgGb) || TscConstants.PayMeans.EXTMALL.value().equals(payMeans) || "Y".equals(pgStat) || refundAmt == 0) {
 			// 상품권 100%, 제휴몰, PG점프처리, 네이버페이주문은 PG점프 처리
+			// 2021.10.15 card007 PG점프는 추후 데이터 구분을 위해 pgTid, pgTradeNo 없앰
 			pg.setPayAmt(pg.getPayAmt() * -1);
+			pg.setPgTid("");
+			pg.setPgTradeNo("");
 			orderDao.insertPaymentCancel(pg);
 		} else if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
 			pg.setModType(modType);