jsh77b 5 лет назад
Родитель
Сommit
c5ee3de43c

+ 9 - 1
src/main/java/com/style24/core/biz/dao/TscOrderDao.java

@@ -770,5 +770,13 @@ public interface TscOrderDao {
 	 * @since 2021. 04. 13
 	 */
 	int getGiftOrderCheck(Order order);
-
+	
+	/**
+	 * 선물받기 주문상품 목록 조회
+	 * @param Order - 주문 정보
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 04. 15
+	 */
+	Collection<Order> getOrderGiftGoodsList(Order order);
 }

+ 93 - 0
src/main/java/com/style24/core/biz/service/TscOrderService.java

@@ -1735,6 +1735,7 @@ public class TscOrderService {
 				order.setRecipPhnno(deliveryAddrInfo.getRecipPhnno());
 				order.setDelvMemo(deliveryAddrInfo.getDelvMemo());
 				order.setGiftMsg(deliveryAddrInfo.getGiftMsg());
+				order.setDelvAddrSq(deliveryAddrInfo.getDelvAddrSq());
 			}
 			index++;
 		}
@@ -1847,6 +1848,87 @@ public class TscOrderService {
 		
 		return resultMap;
 	}
+	
+	/**
+	 * 선물받기 주문정보(결제완료)
+	 * @param Order
+	 * @return Order
+	 * @author jsh77b
+	 * @since 2021. 04. 15
+	 */
+	public GagaMap getOrderGiftCompleteInfo(Order order) {
+		GagaMap resultMap = new GagaMap();
+		
+		order.setDelYn("N");
+		
+		// 1. 주문기본정보조회
+		Collection<Order> orderInfoList = getOrderInfoList(order); 
+		int index = 0;
+		for (Order orderInfo : orderInfoList) {
+			if (index == 0) {
+				order.setCardNm(orderInfo.getCardNm());
+				order.setVaBank(orderInfo.getVaBank());
+				order.setVaDeadline(orderInfo.getVaDeadline());
+				order.setOrdNm(orderInfo.getOrdNm());
+				order.setOrdEmail(orderInfo.getOrdEmail());
+				order.setOrdPhnno(orderInfo.getOrdPhnno());
+				order.setVaNo(orderInfo.getVaNo());
+				order.setCustNo(orderInfo.getCustNo());
+			}
+			index++;
+		}
+		
+		// 2. 주문배송정보조회
+		Collection<Order> deliveryAddrInfoList = getDeliveryAddrList(order); 
+		index = 0;
+		for (Order deliveryAddrInfo : deliveryAddrInfoList) {
+			if (index == 0) {
+				order.setRecipNm(deliveryAddrInfo.getRecipNm());
+				order.setRecipBaseAddr(deliveryAddrInfo.getRecipBaseAddr());
+				order.setRecipDtlAddr(deliveryAddrInfo.getRecipDtlAddr());
+				order.setRecipPhnno(deliveryAddrInfo.getRecipPhnno());
+				order.setDelvMemo(deliveryAddrInfo.getDelvMemo());
+				order.setGiftMsg(deliveryAddrInfo.getGiftMsg());
+				order.setDelvAddrSq(deliveryAddrInfo.getDelvAddrSq());
+			}
+			index++;
+		}
+		
+		// 3. 주문목록 조회
+		Collection<Order> orderList = getOrderGiftGoodsList(order);
+		String giftAddrInpYn = "N";
+		for (Order orderDetail : orderList) {
+			if (index == 0) {
+				giftAddrInpYn = orderDetail.getGiftAddrInpYn();
+			}
+			
+			// 1.1 세트상품 옵션별 배열로 담기
+			if (orderDetail.getItemNm().contains("!@!")) {
+				orderDetail.setItemNmArr(orderDetail.getItemNm().split("!@!"));
+				orderDetail.setOptCdArr(orderDetail.getOptCd().split(","));
+				orderDetail.setItemQtyArr(orderDetail.getItemQtyr().split(","));
+				orderDetail.setOptCd1Arr(orderDetail.getOptCd1().split(","));
+				orderDetail.setOptCd2Arr(orderDetail.getOptCd2().split(","));
+				orderDetail.setColorNmArr(orderDetail.getColorNm().split(","));
+			} else {
+				String[] arr = {orderDetail.getItemNm()}, arr2 = {orderDetail.getOptCd1()}, arr3 = {orderDetail.getOptCd2()}, arr4 = {orderDetail.getItemQtyr()}, arr5 = {orderDetail.getColorNm()};
+				orderDetail.setItemNmArr(arr);
+				orderDetail.setOptCd1Arr(arr2);
+				orderDetail.setOptCd2Arr(arr3);
+				orderDetail.setItemQtyArr(arr4);
+				orderDetail.setColorNmArr(arr5);
+			}
+			index++;
+		}
+
+		// 4. 화면전송변수설정
+		resultMap.set("orderInfo"			, order);				// 주문기본정보
+		resultMap.set("orderList"			, orderList);			// 주문목록정보
+		resultMap.set("orderListCnt"		, orderList.size());	// 주문목록갯수
+		resultMap.set("giftAddrInpYn"		, giftAddrInpYn);		// 선물받기배송지등록여부
+		
+		return resultMap;
+	}
 
 
 	/**
@@ -1869,6 +1951,17 @@ public class TscOrderService {
 	public int getGiftOrderCheck(Order order) {
 		return orderDao.getGiftOrderCheck(order);
 	}
+	
+	/**
+	 * 선물받기 주문상품 목록 조회
+	 * @param Order
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 04. 15
+	 */
+	public Collection<Order> getOrderGiftGoodsList(Order order) {
+		return orderDao.getOrderGiftGoodsList(order);
+	}
 
 }
 

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

@@ -642,4 +642,5 @@ public class Order extends TscBaseDomain {
 	
 	private String orderGiftYn;			// 선물여부
 	private String giftMsg;				// 선물메세지
+	private String giftAddrInpYn;		// 선물배송지등록여부
 }

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

@@ -3592,6 +3592,67 @@
 		AND    CA.CART_GB = 'G026_GF'	
 	</select>
 	
+	<!-- 선물받기 주문상품 목록 조회 -->
+	<select id="getOrderGiftGoodsList" parameterType="Order" resultType="Order">
+		SELECT Z.ORD_NO
+		     , Z.ORD_DTL_NO
+		     , Z.BRAND_ENM
+		     , Z.BRAND_KNM
+		     , Z.GOODS_NM
+		     , Z.GOODS_CD
+		     , Z.ORD_QTY
+		     , Z.CNCL_RTN_QTY
+		     , Z.GIFT_PACK_YN
+		     , Z.GIFT_ADDR_INP_YN
+		     , GROUP_CONCAT(Z.ITEM_NM    ORDER BY Z.ORD_DTL_ITEM_SQ SEPARATOR '!@!')    AS ITEM_NM
+		     , GROUP_CONCAT(Z.ITEM_CD    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS ITEM_CD
+		     , GROUP_CONCAT(Z.OPT_CD     ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD
+		     , GROUP_CONCAT(Z.OPT_CD1    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD1
+		     , GROUP_CONCAT(Z.OPT_CD2    ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS OPT_CD2
+		     , GROUP_CONCAT(Z.ITEM_QTY   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS ITEM_QTYR
+		     , GROUP_CONCAT(Z.COLOR_NM   ORDER BY Z.ORD_DTL_ITEM_SQ)                    AS COLOR_NM
+		FROM (
+		    SELECT OD.ORD_NO
+		         , OD.ORD_DTL_NO
+		         , BR.BRAND_ENM
+		         , BR.BRAND_KNM
+		         , G.GOODS_NM
+		         , G.GOODS_CD
+		         , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = ODI.ITEM_CD) AS ITEM_NM
+		         , IFNULL((SELECT COLOR_KNM FROM TB_COLOR C WHERE COLOR_CD = IFNULL(NULLIF(ODI.OPT_CD1,'') , G.MAIN_COLOR_CD ) AND USE_YN  = 'Y'), ODI.OPT_CD1) AS COLOR_NM
+		         , ODI.ITEM_CD
+		         , ODI.OPT_CD
+		         , ODI.OPT_CD1
+		         , ODI.OPT_CD2
+		         , ODI.ITEM_QTY
+		         , OD.ORD_QTY
+		         , OD.CNCL_RTN_QTY
+		         , ODI.ORD_DTL_ITEM_SQ
+		         , OD.GIFT_PACK_YN
+		         , OD.GIFT_ADDR_INP_YN
+		    FROM   TB_ORDER_DETAIL OD
+		    INNER  JOIN TB_ORDER_DETAIL_ITEM ODI
+		    ON     OD.ORD_DTL_NO = ODI.ORD_DTL_NO
+		    INNER  JOIN TB_GOODS G
+		    ON     OD.GOODS_CD = G.GOODS_CD
+		    INNER  JOIN TB_BRAND BR
+		    ON     G.BRAND_CD = BR.BRAND_CD
+		    WHERE  1=1
+		    AND    OD.ORD_NO = #{ordNo}
+		    AND    OD.ORD_QTY > OD.CNCL_RTN_QTY
+		) Z
+		GROUP  BY Z.ORD_NO
+		     , Z.ORD_DTL_NO
+		     , Z.BRAND_ENM
+		     , Z.BRAND_KNM
+		     , Z.GOODS_NM
+		     , Z.GOODS_CD
+		     , Z.ORD_QTY
+		     , Z.CNCL_RTN_QTY
+		     , Z.GIFT_PACK_YN
+		     , Z.GIFT_ADDR_INP_YN
+	</select>
+	
 </mapper>