Explorar o código

Merge branch 'develop' of http://112.172.147.34:4936/style24/style24.core into develop

jsshin %!s(int64=5) %!d(string=hai) anos
pai
achega
06a0cd1415

+ 4 - 234
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -2035,7 +2035,7 @@ public class TscOrderChangeService {
 		orderChangeDao.createOrderDtlHstCancel(exchangeCancel);
 
 		// 3-3. TB_ORDER_DETAIL_ITEM 상태값 변경
-		orderChangeDao.updateOrderDetailItemForExchangeCancel(exchangeCancel);
+		// orderChangeDao.updateOrderDetailItemForExchangeCancel(exchangeCancel);
 
 		// 3-4. TB_ORDER_DETAIL_ITEM_HST 생성
 		orderChangeDao.createOrderDetailItemHstForExchangeCancel(exchangeCancel);
@@ -3052,7 +3052,7 @@ public class TscOrderChangeService {
 	}
 
 	/**
-	 * 환불 컨펌
+	 * 환불 컨펌 환불 정보
 	 * 
 	 * @param OrderChange (ordChgSq, userNo)
 	 * @return GagaMap
@@ -3101,242 +3101,12 @@ public class TscOrderChangeService {
 			orderChange.setCnclRtnReqQtyArr(cnclRtnReqQtyArr);
 
 			// 환불 사전 정보 조회
-			GagaMap refundPreInfo = getRefundPreInfo(orderChange);
+			GagaMap refundPreInfo = getRefundPreInfo2(orderChange);
 			List<Order> cnclReqList = (List<Order>)refundPreInfo.get("cnclReqList");
 
-			result = orderRefundService.cnclRtnRefundAmt(cnclReqList);
-			String allCanYn = refundPreInfo.getString("allCanYn");
-			// String allLastCanYn = refundPreInfo.getString("allLastCanYn");
+			result = orderRefundService.cnclRtnRefundAmt2(cnclReqList);
 
-			if ("Y".equals(allCanYn)) {
-				allRefund(orderChange);
-			} else {
-				// 환불금액계산
-				result = orderRefundService.cnclRtnRefundAmt(cnclReqList);
-
-				// 4. 부분취소 처리 정보 설정
-				// result.setInt("ordNo", orderChange.getOrdNo());							// 주문번호
-				// result.setString("chgReason", orderChange.getChgReason());				// 변경사유
-				// result.setString("chgReasonNm", orderChange.getChgReasonNm());			// 변경사유명
-				// result.setString("chgMemo", orderChange.getChgMemo());					// 변경메모
-				// result.setString("accountNo", orderChange.getAccountNo());				// 환불계좌번호
-				// result.setString("accountNm", orderChange.getAccountNm());				// 환불계좌예금주명
-				// result.setString("bankCd", orderChange.getBankCd());					// 환불계좌은행코드
-				// result.setString("allLastCanYn", allLastCanYn);							// 전체 마지막 취소 여부
-				// result.setString("reqGbn", orderChange.getReqGbn());					// 신청구분
-				// result.setString("ipAddress", orderChange.getIpAddress());				// IP주소
-				// result.setInt("custNo", orderChange.getCustNo());						// 고객번호
-				// result.setString("pgTid", refundPreInfo.getString("pgTid"));			// PG거래ID
-				// result.setString("payMeans", refundPreInfo.getString("payMeans"));		// 결제수단
-				// result.setString("pgGb", refundPreInfo.getString("pgGb"));				// PG구분
-				// result.setString("cashAuthNo", refundPreInfo.getString("cashAuthNo"));	// 현금영수증 승인번호
-				// result.setString("batchYn", orderChange.getBatchYn());
-				// 부분환불 처리
-				partialRefund(result, userNo);
-			}
 		}
 		return result;
 	}
-
-	/**
-	 * 전체 환불 처리
-	 *
-	 * @param OrderChange (ordChgSq, userNo)
-	 * @author card007
-	 * @since 2021. 05. 24
-	 */
-	public void allRefund(OrderChange orderChange) {
-		Integer ordNo = orderChange.getOrdNo();											// 주문번호
-		String chgGb = orderChange.getChgGb();											// 변경구분
-		String chgReasonNm = orderChange.getChgReasonNm();								// 변경사유명
-		String accountNo = orderChange.getAccountNo();									// 환불계좌번호
-		String accountNm = orderChange.getAccountNm();									// 환불계좌주명
-		String bankCd = orderChange.getBankCd();										// 환불은행
-		Integer ordChgSq = orderChange.getOrdChgSq();									// 주문변경일련번호
-		int regNo = orderChange.getUserNo();											// 등록자번호
-		int updNo = orderChange.getUserNo();											// 수정자번호
-
-		// 상태값 설정
-		String ordDtlStat = TscConstants.OrderDetailStat.PAYMENT_AFTER_CANCEL.value();
-		String chgStat = "";
-		if (TscConstants.OrderChangeGb.RETURN.value().equals(chgGb)) {
-			chgStat = TscConstants.OrderChangeStat.RETURN_COMPLETE.value();
-		} else if (TscConstants.OrderChangeGb.EXCHANGE.value().equals(chgGb)) {
-			chgStat = TscConstants.OrderChangeStat.EXCHANGE_COMPLETE.value();
-		}
-
-		// 1. 주문변경상세 수정
-		orderChange.setChgStat(chgStat);
-		orderChangeDao.updateOrderChangeDtl(orderChange);
-		orderChangeDao.createOrderChangeDetailHstForAllCancel(orderChange);
-
-		// 반품일때 환불처리
-		if (TscConstants.OrderChangeGb.RETURN.value().equals(chgGb)) {
-			// 원주문 결제정보 조회
-			Payment payment = new Payment();
-			payment.setOrdNo(ordNo);
-			payment = orderChangeDao.getPaymentInfo(payment);
-
-			// 환불금액 설정
-			int refundAmt = payment.getPayAmt();
-
-			// 주문 전체취소 상태값 처리
-			String modType;
-			if (TscConstants.PgGb.KCP.value().equals(payment.getPgGb())
-				&& TscConstants.PayMeans.BANK_DEPOSIT.value().equals(payment.getPayMeans())
-				&& TscConstants.PaymentStat.PAYMENT_COMPLETE.value().equals(payment.getPayStat())) {
-
-				modType = "STHD";														// KCP 무통장입금 전체취소
-			} else {
-				modType = "STSC";														// KCP 전체취소
-			}
-
-			// 2. 사용포인트원복
-			Order vo = new Order();
-			vo.setOrdNo(ordNo);
-			vo.setOccurGb(TscConstants.PointOccurGb.ORD_USE_POINT.value());
-			vo.setUpdNo(updNo);
-
-			for (Order point : orderChangeDao.getCustPointHst(vo)) {
-				point.setOccurGb(TscConstants.PointOccurGb.ORD_USE_POINT_CANCEL.value());
-				point.setPntUploadStat(TscConstants.PntUploadStat.APPLY_COMPLETE.value());
-				point.setOccurDtlDesc("포인트사용취소");
-				point.setPntAmt(point.getPntAmt() * -1);
-				point.setRegNo(regNo);
-				point.setUpdNo(updNo);
-
-				// 포인트 사용 취소 이력 생성 및 포인트 수정
-				orderChangeDao.createCustPointHstRollback(point);
-				orderChangeDao.updateCustPointRollback(point);
-			}
-
-			// 3. 적립예정포인트 취소
-			vo.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT.value());
-
-			for (Order point : orderChangeDao.getCustPointHst(vo)) {
-				point.setOccurGb(TscConstants.PointOccurGb.EXPECT_POINT_CANCEL.value());
-				point.setPntUploadStat(TscConstants.PntUploadStat.APPLY_EXPECT.value());
-				point.setOccurDtlDesc("예정포인트적립취소");
-				point.setPntAmt(point.getPntAmt() * -1);
-				point.setRegNo(regNo);
-				point.setUpdNo(updNo);
-
-				// 적립예정포인트 취소 이력 생성
-				orderChangeDao.createCustPointHstRollback(point);
-			}
-
-			// 4. 사용상품권 원복
-			for (Order giftCard : orderChangeDao.getCustGiftCardHst(vo)) {
-				giftCard.setOccurGb(TscConstants.GiftCardOccurGb.USE_GIFTCARD_CANCEL.value());
-				giftCard.setOccurDtlDesc("상품권사용취소");
-				giftCard.setGfcdAmt(giftCard.getGfcdAmt() * -1);
-				giftCard.setRegNo(regNo);
-				giftCard.setUpdNo(updNo);
-
-				// 포인트 사용 취소 이력 생성 및 포인트 수정
-				orderChangeDao.createCustGiftCardHstRollback(giftCard);
-				orderChangeDao.updateCustGiftCardRollback(giftCard);
-			}
-
-			// 5. 상품재고원복 (품절취소가 아닐 경우)
-			OrderChange sellQty = new OrderChange();
-			sellQty.setOrdChgSq(ordChgSq);
-			sellQty.setSellGb("11");
-			sellQty.setRegNo(regNo);
-			orderChangeDao.createSellQty(sellQty);
-
-			// 6. 쿠폰 원복처리
-			Order coupon = new Order();
-			coupon.setOrdNo(ordNo);
-			coupon.setUpdNo(updNo);
-			orderChangeDao.updateGoodsCpnRollback(coupon);
-			orderChangeDao.updateCartCpnRollback(coupon);
-			orderChangeDao.updateDeliveryCpnRollback(coupon);
-
-			// 7. 사은품 전체 취소 (전체취소시 적용) 추후 사은품 관련 취소 로직 개발 예정
-			Order freegiftOrder = new Order();
-			freegiftOrder.setOrdNo(ordNo);
-			freegiftOrder.setUpdNo(updNo);
-			orderChangeDao.updateOrdFreegiftDel(freegiftOrder);
-
-			// 9. 주문상세 및 주문상세단품 정보 설정
-			OrderChange orderDetail = new OrderChange();
-			orderDetail.setOrdNo(ordNo);
-			orderDetail.setOrdDtlStat(ordDtlStat);
-			orderDetail.setRegNo(regNo);
-			orderDetail.setUpdNo(updNo);
-
-			// 주문상세정보 수정 및 이력 등록
-			orderChangeDao.updateOrderDetailForAllCancel(orderDetail);
-			orderChangeDao.createOrderDetailHstForAllCancel(orderDetail);
-
-			// 주문상세단품정보 수정 및 이력 등록
-			orderChangeDao.updateOrderDetailItemForAllCancel(orderDetail);
-			orderChangeDao.createOrderDetailItemHstForAllCancel(orderDetail);
-
-			// 11. PG 연동
-			Payment pg = new Payment();
-			pg.setOrdNo(ordNo);
-			pg.setPayGb("O");
-			pg.setPgTid(payment.getPgTid());
-			pg.setPayAmt(refundAmt);
-			pg.setLeftAmt(refundAmt);
-			pg.setRegNo(regNo);
-			pg.setUpdNo(updNo);
-			pg.setPayStat(TscConstants.PaymentStat.PAYMENT_CANCEL.value());
-
-			// 상품권으로만 결제 시 PG점프
-			String pgGb = payment.getPgGb();
-			if (!TscConstants.PgGb.ISTYLE.value().equals(pgGb)) {
-				if (TscConstants.PgGb.KCP.value().equals(pgGb) || TscConstants.PgGb.PAYCO.value().equals(pgGb)) {
-					pg.setModType(modType);
-					pg.setModDesc("가맹점 취소 - 전체 취소");
-					pg.setAccountNm(accountNm);
-					pg.setAccountNo(accountNo);
-					pg.setBankCd(bankCd);
-					pg.setBatchYn(orderChange.getBatchYn());
-
-					kcpService.kcpCancel(pg);
-				} else if (TscConstants.PgGb.NAVER.value().equals(pgGb)) {
-					pg.setPayMeans(payment.getPayMeans());
-					pg.setChgReasonNm(chgReasonNm);
-
-					naverPayService.cancelNaverPayment(pg);
-				} else if (TscConstants.PgGb.KAKAO.value().equals(pgGb)) {
-					pg.setPayMeans(payment.getPayMeans());
-					kakaoPayService.cancelKakaoPayment(pg);
-				}
-
-				// 11. 환불금액 정보 수정
-				Order refundOrder = new Order();
-				refundOrder.setPaySq(pg.getPaySq());
-
-				orderChangeDao.updateRefundInfo(refundOrder);
-			}
-
-			// 13. 상품권 현금영수증 취소 처리
-			GiftCard giftCardCashReceipts = orderDao.getGiftCardReceiptInfo(ordNo);
-
-			if (giftCardCashReceipts != null && StringUtils.isNotBlank(giftCardCashReceipts.getTradeNo())) {
-				giftCardCashReceipts.setModType("STSC");
-				giftCardCashReceipts.setUsGfcdAmt(giftCardCashReceipts.getAmt());
-
-				kcpService.kcpCashReceiptCancel(giftCardCashReceipts);
-			}
-		} else {
-			// TODO
-			// 교환 처리
-		}
-	}
-
-	/**
-	 * 부분 환불 처리
-	 *
-	 * @param GagaMap, Integer
-	 * @author card007
-	 * @since 2021. 05. 24
-	 */
-	public void partialRefund(GagaMap map, Integer userNo) {
-		
-	}
 }