Browse Source

Merge remote-tracking branch 'origin/develop' into jsh77b

Conflicts:
	src/main/java/com/style24/core/biz/service/TscOrderChangeService.java
	src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml
tsit14 5 years ago
parent
commit
c52c0d8bc7

+ 16 - 200
src/main/java/com/style24/core/biz/service/TscOrderChangeService.java

@@ -200,6 +200,7 @@ public class TscOrderChangeService {
 	@SuppressWarnings("unchecked")
 	@Transactional("shopTxnManager")
 	public GagaMap partialCancel(GagaMap map, Integer userNo) {
+		
 		// 1. 취소요청목록 및 정보 설정
 		List<Order> cancelOrderRefundList 	= (List<Order>) map.get("cancelOrderRefundList");				// 취소환불금액 목록 (주문상세단품 단위)
 		List<Order> cancelDelvRefundList 	= (List<Order>) map.get("cancelDelvRefundList");				// 취소환불배송금액 목록 (DELV_FEE_CD 단위)
@@ -1504,6 +1505,7 @@ public class TscOrderChangeService {
 	@SuppressWarnings("unchecked")
 	@Transactional("shopTxnManager")
 	public GagaMap returnRequest(GagaMap map) {
+		
 		// 1. 변경정보목록 및 정보 설정
 		List<Order> cancelOrderRefundList 	= (List<Order>) map.get("cancelOrderRefundList");				// 취소환불금액 목록 (주문상세단품 단위)
 		List<Order> cancelDelvRefundList 	= (List<Order>) map.get("cancelDelvRefundList");				// 취소환불배송금액 목록 (DELV_FEE_CD 단위)
@@ -1551,12 +1553,9 @@ public class TscOrderChangeService {
 			if (obj.getCnclRtnAmt() > 0) {
 				// 3-1. 환불정보 설정
 				int spanRealCnclRtnAmt 		= obj.getRealOrdAmt();		// 취소금액합계
-				// int sumDeliveryFee 			= obj.getDelvFee();			// 배송비합계
-				// int spanTotDeliveryFee 		= obj.getAddDelvFee();		// 추가배송비합계 (추가배송비 처리는 환불컨펌에서 진행)
 				int spanTotRtnDelvFee 		= obj.getRtnDelvFee();		// 반품배송비합계
-				// int addDelvFee				= spanTotDeliveryFee + spanTotRtnDelvFee; //  (추가배송비 처리는 환불컨펌에서 진행)
 				int addDelvFee				= spanTotRtnDelvFee;
-				int spanRefundAmt = spanRealCnclRtnAmt;
+				int spanRefundAmt 			= spanRealCnclRtnAmt;
 
 				// 고객사유 : 환불금액계산 = 취소금액 - 추가배송비
 				if ("true".equals(isCustomer)) {
@@ -1614,15 +1613,6 @@ public class TscOrderChangeService {
 
 				orderChangeDao.createDeliveryFee(deliveryFee);
 
-				// 추가배송비 등록 (추가배송비 처리는 환불컨펌에서 진행)
-				// if (spanTotDeliveryFee > 0) {
-				// 	deliveryFee.setDelvFeeGb(TscConstants.DeliveryFeeGb.ORIGIN_DELIVERY_FEE.value());
-				// 	deliveryFee.setDelvFee(spanTotDeliveryFee);
-				// 	deliveryFee.setRealDelvAmt(spanTotDeliveryFee);
-				//
-				// 	orderChangeDao.createDeliveryFee(deliveryFee);
-				// }
-
 				// 3-4. 주문상세정보 수정
 				ordChgSq = orderChange.getOrdChgSq();
 				for (Order vo : cancelOrderDetailList) {
@@ -1645,7 +1635,7 @@ public class TscOrderChangeService {
 
 						// 3-2-3. 주문상세정보 이력 등록 (TB_ORDER_DETAIL_HST(등록))
 						vo.setOrdChgSq(ordChgSq);
-						//orderChangeDao.createOrderDtlHstCancel(vo);
+						orderChangeDao.createOrderDtlHstCancel(vo);
 					}
 				}
 
@@ -1682,180 +1672,6 @@ public class TscOrderChangeService {
 		return map;
 	}
 
-	/**
-	 * 반품신청 (ADMIN, FRONT, NPAY, EXTMALL) 
-	 * @param Order
-	 * @return Order
-	 * @author jsh77b
-	 * @since 2021. 01. 19
-	 */
-	@SuppressWarnings("unchecked")
-	@Transactional("shopTxnManager")
-	public GagaMap rtnReq(GagaMap mav, int userNo) {
-
-		// 1. 세션회원조회
-		//userNo = userNo;
-
-		// 2. 변경요정정보목록
-		List<Order> cancelReqList		 	= (List<Order>) mav.get("cnclRtnList");				// 변경요청 목록
-		List<Order> cancelOrderRefundList 	= (List<Order>) mav.get("cancelOrderRefundList");	// 변경환불금액 목록 (주문상세단품 단위)
-		List<Order> cancelDelvRefundList 	= (List<Order>) mav.get("cancelDelvRefundList");	// 변경환불배송금액 목록 (DELV_FEE_CD 단위)
-
-		// 3. 변경신청정보
-		int ordNo 			= Integer.parseInt(mav.getString("ordNo"));							// 주문번호
-		int ordChgSq		= Integer.parseInt(mav.getString("ordChgSq"));						// 주문변경번호
-		String chgReason 	= mav.getString("chgReason");										// 변경사유
-		String chgMemo 		= mav.getString("chgMemo");											// 변경메모
-		String allCanYn		= mav.getString("allCanYn");										// 무통장입금전 전체취소 여부
-		String isCustomer	= mav.getString("isCustomer");										// 귀책사유 (고객, 회사)
-		String chgGb		= TscConstants.OrderChangeGb.RETURN.value(); 						// 반품요청
-		String wdGb			= mav.getString("wdGb");											// 회수방법
-		String wdInvoiceNo	= mav.getString("wdInvoiceNo");										// 회수송장번호
-
-		// 4. 주문상세단품정보등록,변경 (단품단위)
-		List<Order> cancelOrderDetailList = new ArrayList<>();
-
-		for (int i=0 ; i<cancelOrderRefundList.size() ; i++) {
-			Order cancelOrderRefundPo = cancelOrderRefundList.get(i);
-			cancelOrderRefundPo.setRegNo(userNo);
-			cancelOrderRefundPo.setUpdNo(userNo);
-
-			// 4.1 취소수량이 존재하면 주문상세단품정보 수정 및 주문상세단품이력정보 등록
-			if (cancelOrderRefundPo.getOrdCanChgQty() > 0) {
-				// 4.4 주문변경 상세 단위로 데이타 등록 (ORD_DTL_NO)
-				Boolean temp = false;
-				if (cancelOrderDetailList.size() > 0) {
-					for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
-						if (cancelOrderRefundPo.getOrdDtlNo() == cancelOrderDetailList.get(j).getOrdDtlNo()) {
-							temp = true;
-						}
-					}
-				}
-
-				// 4.5 주문상세단위 데이타 저장(주문상세 단위)
-				if (!temp) {
-					cancelOrderDetailList.add(cancelOrderRefundPo);
-				}
-			}
-		}
-
-		// 2021.01.21 DELV_FEE 배송번호 단위로 TB_ORDER_CHANGE 생성
-		// 4. 주문변경정보, 주문정보, 환불정보 (업체코드 & 배송정책코드)
-		for (int i=0 ; i<cancelDelvRefundList.size() ; i++) {
-
-			Order obj = cancelDelvRefundList.get(i);
-
-			// 취소금액이 있을때 처리
-			if (obj.getCnclRtnAmt() > 0) {
-
-				// 5.1 주문변경 기본정보 등록 
-				OrderChange orderChange = new OrderChange();
-				orderChange.setOrdNo(ordNo);
-				orderChange.setChgGb(chgGb);
-				orderChange.setChgReason(chgReason);
-				orderChange.setChgMemo(chgMemo);
-				orderChange.setAddPayCost(0);
-				orderChange.setAddPayAmt(0);
-				orderChange.setWdGb(wdGb);
-				orderChange.setWdInvoiceNo(wdInvoiceNo);
-				orderChange.setRegNo(userNo);
-				orderChange.setUpdNo(userNo);
-
-				// 5.2 주문변경 추가정보 등록
-				String chgerNm 			= mav.getString("chgerNm");						// 변경자
-				String chgerPhnno 		= mav.getString("chgerPhnno");					// 변경핸드폰번호
-				String chgerTelno 		= mav.getString("chgerTelno");					// 변경전화번호
-				String chgerEmail 		= mav.getString("chgerEmail");					// 변경이메일
-				String chgerZipcode 	= mav.getString("chgerZipcode");				// 변경우편번호
-				String chgerBaseAddr 	= mav.getString("chgerBaseAddr");				// 변경기본주소
-				String chgerDtlAddr 	= mav.getString("chgerDtlAddr");				// 변경상세주소
-				String chgerRtnMemo		= mav.getString("chgerRtnMemo");				// 반품메모
-
-				orderChange.setChgerNm(chgerNm);
-				orderChange.setChgerPhnno(chgerPhnno);
-				orderChange.setChgerTelno(chgerTelno);
-				orderChange.setChgerEmail(chgerEmail);
-				orderChange.setChgerRtnMemo(chgerRtnMemo);
-				orderChange.setChgerZipcode(chgerZipcode);
-				orderChange.setChgerBaseAddr(chgerBaseAddr);
-				orderChange.setChgerDtlAddr(chgerDtlAddr);
-
-				orderChangeDao.createOrderChange(orderChange);
-
-				// 5.3 주문상세단위 취소정보
-				for (int j=0 ; j<cancelOrderDetailList.size() ; j++) {
-					Order vo = cancelOrderRefundList.get(j);
-					vo.setRegNo(userNo);
-					vo.setUpdNo(userNo);
-					vo.setOrdDtlStat(TscConstants.OrderChangeStat.RETURN.value()); 					// 반품신청
-
-					// 5.3.0 DEVL_FEE_CD 단위로 주문상세 정보 처리
-					if (obj.getDelvFeeCd().equals(vo.getDelvFeeCd())) {
-
-						// 5.3.1 주문변경상세정보 이력등록
-						orderChangeDao.createOrderDetailHstCnclRtn(vo);
-
-						// * 주문상세단위가 아닌 주문상세단품단위로 데이타가 처리되고 있었음 주문상세단위로 수정
-						// 5.3 주문변경상세정보 등록
-						OrderChange changeDetailPo = new OrderChange();
-						changeDetailPo.setOrdChgSq(orderChange.getOrdChgSq());
-						changeDetailPo.setOrdDtlNo(vo.getOrdDtlNo());
-						changeDetailPo.setChgQty(vo.getOrdCanChgQty());
-						changeDetailPo.setChgStat(TscConstants.OrderChangeStat.RETURN.value()); 	// 반품신청
-						changeDetailPo.setRegNo(userNo);
-						changeDetailPo.setUpdNo(userNo);
-
-						orderChangeDao.createOrderChangeDetail(changeDetailPo);
-					}
-				}
-
-				// 5.4 환불결제정보 등록 (업체별 & 배송정책별) 단위
-				// 취소, 반품 사유에 따른 추가배송비, 반품배송비를 환불금액에서 추가, 제외 할 수 있다.
-				int spanRealCnclRtnAmt 		= obj.getCnclRtnAmt();		// 취소금액합계
-				int sumDeliveryFee 			= obj.getDelvFee();			// 배송비합계
-				int spanTotDeliveryFee 		= obj.getAddDelvFee();		// 추가배송비합계
-				int spanTotRtnDelvFee 		= obj.getRtnDelvFee();		// 반품배송비합계
-				int spanRefundAmt			= 0;
-
-				// 고객사유 : 환불금액계산 = (취소금액 + 배송비) - 추가배송비
-				if ("true".equals(isCustomer)) {
-					spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee) - spanTotDeliveryFee - spanTotRtnDelvFee;
-				}
-				// 회사사유 : 환불금액계산 = (취소금액 + 배송비)
-				else {
-					spanRefundAmt = (spanRealCnclRtnAmt + sumDeliveryFee);
-				}
-
-				// 5.4 환불금액 등록
-				Order refundOrder = new Order();
-				refundOrder.setOrdNo(ordNo);
-				refundOrder.setPaySq(0);
-				refundOrder.setOrdChgSq(orderChange.getOrdChgSq());
-				refundOrder.setRegNo(userNo);
-
-				// 2021.01.25 TB_REFUND 정보 등록을 위해서 분리 작업
-				refundOrder.setRefundAmt(spanRefundAmt);
-				refundOrder.setRfCpn1Amt(obj.getCpn1DcAmt());
-				refundOrder.setRfTmtb1Amt(obj.getTmtb1DcAmt());
-				refundOrder.setRfTmtb2Amt(obj.getTmtb2DcAmt());
-				refundOrder.setRfGoodsCpnAmt(obj.getGoodsCpnDcAmt());
-				refundOrder.setRfCartCpnAmt(obj.getCartCpnDcAmt());
-				refundOrder.setRfDelvCpnAmt(obj.getDelvCpnDcAmt());
-				refundOrder.setRfPntAmt(obj.getPntAmt());
-				refundOrder.setRfPrePntAmt(obj.getPrePntDcAmt());
-				refundOrder.setRfGfcdUseAmt(obj.getGfcdUseAmt());
-
-				refundOrder.setRaNo(mav.get("accountNo").toString());
-				refundOrder.setRaNm(mav.get("accountNm").toString());
-				refundOrder.setRaBank(mav.get("bankCd").toString());
-
-				orderChangeDao.createRefund(refundOrder);
-			}
-		}
-
-		return mav;
-	}
-
 	/**
 	 * 반품신청철회 (admin)
 	 * @param Order
@@ -3092,7 +2908,7 @@ public class TscOrderChangeService {
 
 		return result;
 	}
-	
+
 	/**
 	 * 취소/반품 환불 사전 정보 조회
 	 *
@@ -3119,7 +2935,7 @@ public class TscOrderChangeService {
 		String allCanYn 			= "Y";
 		String allLastCanYn 		= "Y";
 		List<String> delvFeeCdList 	= new ArrayList<>();
-		
+
 		for (Order order : cnclRtnList) {
 			int index 		= ordDtlNoList.indexOf(order.getOrdDtlNo());
 			int ordQty 		= order.getOrdQty();
@@ -3144,7 +2960,7 @@ public class TscOrderChangeService {
 						}
 					}
 				}
-			} 
+			}
 			// 반품신청
 			else {
 				if (!delvFeeCd.equals(order.getDelvFeeCd())) {
@@ -3153,11 +2969,11 @@ public class TscOrderChangeService {
 				}
 			}
 		}
-		
+
 		// 무통장입금전 전체취소여부 설정
 		String allCanYnBeforePayment = "N";
-		if ("Y".equals(allCanYnBeforePayment) 
-				&& TscConstants.PayMeans.BANK_DEPOSIT.value().equals(cnclRtn.getPayMeans()) 
+		if ("Y".equals(allCanYnBeforePayment)
+				&& TscConstants.PayMeans.BANK_DEPOSIT.value().equals(cnclRtn.getPayMeans())
 				&& TscConstants.PaymentStat.DEPOSIT_BEFORE_BANKING.value().equals(cnclRtn.getPayStat())) {
 			allCanYnBeforePayment = "Y";
 		}
@@ -3210,10 +3026,10 @@ public class TscOrderChangeService {
 		GagaMap result = new GagaMap();
 		Integer ordChgSq = orderChange.getOrdChgSq();
 		Integer userNo = orderChange.getUserNo();
-		
+
 		// 주문변경상세정보 조회
 		Collection<OrderChange> orderChangeList = orderChangeDao.getOrderChangeDetailInfo(orderChange);
-		
+
 		if (orderChangeList.size() > 0) {
 			// 환불 사전 정보 설정
 			int index = 0;
@@ -3225,13 +3041,13 @@ public class TscOrderChangeService {
 			String ordPhnno = orderChangeList.iterator().next().getOrdPhnno();
 			int[] ordDtlNoArr = new int[size];
 			int[] cnclRtnReqQtyArr = new int[size];
-			
+
 			for (OrderChange param : orderChangeList) {
 				ordDtlNoArr[index] = param.getOrdDtlNo();
 				cnclRtnReqQtyArr[index] = param.getChgQty();
 				index++;
 			}
-			
+
 			// 회원/비회원 정보 설정
 			if (custNo > 0) {
 				orderChange.setCustNo(custNo);
@@ -3331,9 +3147,9 @@ public class TscOrderChangeService {
 				&& TscConstants.PayMeans.BANK_DEPOSIT.value().equals(payment.getPayMeans())
 				&& TscConstants.PaymentStat.PAYMENT_COMPLETE.value().equals(payment.getPayStat())) {
 
-				modType = "STHD";                                                            // KCP 무통장입금 전체취소
+				modType = "STHD";														// KCP 무통장입금 전체취소
 			} else {
-				modType = "STSC";                                                            // KCP 전체취소
+				modType = "STSC";														// KCP 전체취소
 			}
 
 			// 2. 사용포인트원복

+ 1 - 0
src/main/java/com/style24/persistence/domain/Order.java

@@ -53,6 +53,7 @@ public class Order extends TscBaseDomain {
 	private String formalGb;						// 정상,이월구분
 	private String formalGbNm;						// 정상,이월구분명
 	private String goodsType;						// 상품타입
+	private String itemAddPrice;					// 구성상품옵션추가금액
 	private int listPrice;							// 정상가
 	private int currPrice;							// 판매가 (1차쿠폰적용가능가)
 	private int orgCurrPrice;						// 판매가

+ 1 - 0
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1638,6 +1638,7 @@
 		     , GROUP_CONCAT(Z.OPT_CD2 ORDER BY Z.CART_DTL_SQ) AS OPT_CD2
 		     , GROUP_CONCAT(Z.ITEM_QTY ORDER BY Z.CART_DTL_SQ) AS ITEM_QTYR
 		     , GROUP_CONCAT(Z.COLOR_NM ORDER BY Z.CART_DTL_SQ) AS COLOR_NM
+		     , GROUP_CONCAT(Z.OPT_ADD_PRICE ORDER BY Z.CART_DTL_SQ) AS ITEM_ADD_PRICE
 		     , Z.GOODS_QTY
 		     , Z.GOODS_TYPE
 		     , Z.LIST_PRICE

+ 5 - 5
src/main/java/com/style24/persistence/mybatis/shop/TscOrderChange.xml

@@ -166,7 +166,7 @@
 				, Y.RTN_LOC_NM, Y.RTN_LOC_ZIPCODE, Y.RTN_LOC_BASE_ADDR, Y.RTN_LOC_DTL_ADDR, Y.RTN_LOC_TELNO, Y.SELF_GOODS_YN
 		 ORDER BY Y.DELV_FEE_CD, Y.ORD_NO, Y.ORD_DTL_NO
 	</select>
-	
+
 	<!-- 취소,반품,교환 대상목록 조회 -->
 	<select id="getCancelRequestTargetList2" parameterType="Order" resultType="Order">
 		/* OrderChange.getCancelRequestTargetList2 */
@@ -239,7 +239,7 @@
 		             , ODI.OPT_CD1
 		             , ODI.OPT_CD2
 		             , ODI.ITEM_QTY
-		             , OD.LIST_PRICE 
+		             , OD.LIST_PRICE
 		             , OD.CURR_PRICE
 		             , ODI.OPT_ADD_PRICE
 		             , OD.ORD_QTY
@@ -386,7 +386,7 @@
 		     , Z.ORD_NO
 		     , Z.ORD_DTL_NO
 	</select>
-	
+
 	<!-- 주문변경신청목록 조회 (취소, 반품, 교환) -->
 	<select id="getOrderChangeDetailList" parameterType="Order" resultType="Order">
 		/* order.getOrderChangeDetailList */
@@ -3123,8 +3123,8 @@
 		   AND O.DISP_YN = 'Y'
 		</where>
 	</select>
-	
-<!-- 취소/반품 환불 사전 정보 조회 -->
+
+	<!-- 취소/반품 환불 사전 정보 조회 -->
 	<select id="getRefundPreInfo2" parameterType="OrderChange" resultType="Order">
 		/* TscOrderChange.getRefundPreInfo2 */
 		SELECT Z.ORD_NO