Selaa lähdekoodia

이태영 - 20210208 장바구니 임시커밋

xodud1202 5 vuotta sitten
vanhempi
commit
474ac55f85

+ 0 - 1
src/main/java/META-INF/MANIFEST.MF

@@ -1,5 +1,4 @@
 Manifest-Version: 1.0
-Main-Class: 
 Class-Path: spring-data-redis-2.3.3.RELEASE.jar spring-boot-autoconfigur
  e-2.3.3.RELEASE.jar spring-boot-starter-web-services-2.3.3.RELEASE.jar 
  xmlbeans-2.6.0.jar logback-classic-1.2.3.jar stax-ex-1.8.3.jar spring-a

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

@@ -410,11 +410,16 @@ public class Order extends TscBaseDomain {
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
 	private int[] cartSqArr;		// 장바구니 일련번호 배열 (일시품절제외 조회)
 	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
-	private int[] cartSqs;			// 장바구니 일련번호 배열 (일시품절포함 조회)
+	private String[] itemNmArr;		// 옵션코드
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] optCdArr;		// 옵션코드
+	@JsonFormat(with = JsonFormat.Feature.ACCEPT_SINGLE_VALUE_AS_ARRAY)
+	private String[] itemQtyArr;	// 구성상품번호
 	private int cartSq;				// 장바구니 일련번호
 	private int pcCurrPrice;		// PC 즉시할인 적용가
 	private int goodsQty;			// 장바구니 등록 수량
 	private String jsessionId;		// SessionId
+	private String itemQtyr;		// itemQty GROUP_CONCAT
 	private List<Integer> applyMoreBetterAmtList;	// 다다익선 금액 적용상품 리스트
 	private List<Integer> applyMoreBetterQtyList;	// 다다익선 수량 적용상품 리스트
 

+ 134 - 87
src/main/java/com/style24/persistence/mybatis/shop/TscOrder.xml

@@ -1600,96 +1600,143 @@
 	
 	<!-- 장바구니 상품 목록 조회 (업체별 배송단위) -->
 	<select id="getCartGoodsList" parameterType="Order" resultType="Order">
-		/* TsfOrder.getCartGoodsList */
-		SELECT Z.*
-		  FROM (
-			SELECT CA.CART_SQ
-				 , CD.CART_DTL_SQ
-				 , BR.BRAND_ENM
-				 , G.GOODS_NM
-				 , CA.GOODS_CD
-				 , CD.ITEM_CD
-				 , OP.OPT_CD
-				 , OP.OPT_CD1
-				 , OP.OPT_CD2
-				 , CA.GOODS_QTY
-				 , G.GOODS_TYPE
-				 , G.LIST_PRICE
-				 , G.GOODS_GB
-			     , G.GOODS_STAT
-				 , G.PRE_PPNT_USABLE_YN
-				 , G.PRE_MPNT_USABLE_YN
-				 , G.MAX_ORD_QTY
-				 , G.DAY_MAX_ORD_QTY
-				 , G.GIFT_PACK_YN
-				 , G.NEW_CUST_ORD_YN
-				 , DFP.SUPPLY_COMP_CD
-				 , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
-						ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
-	  			 , CASE WHEN GRS.DELV_RES_DT IS NOT NULL THEN 'RES'
-		                WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
-	  			        ELSE DFP.DELV_FEE_CD END AS RES_DELV_FEE_CD
-				 , GRS.DELV_RES_DT
-				 , DFP.MIN_ORD_AMT
-				 , DFP.DELV_FEE
-				 , VS.CURR_STOCK_QTY
-				 , FN_GET_APPLY_CPN1_PRICE(CA.GOODS_CD, #{frontGb}) AS CURR_PRICE
-				 , IFNULL(OP.ADD_PRICE, 0) AS OPT_ADD_PRICE
-			  FROM TB_CART CA
-			 INNER JOIN TB_CART_DETAIL CD
-				ON CA.CART_SQ = CD.CART_SQ
-			 INNER JOIN TB_GOODS G
-				ON CA.GOODS_CD = G.GOODS_CD
-			 INNER JOIN TB_OPTION OP
-				ON CD.ITEM_CD = OP.GOODS_CD
-			   AND CD.OPT_CD1 = OP.OPT_CD1
-			   AND CD.OPT_CD2 = OP.OPT_CD2
-			 INNER JOIN TB_DELV_FEE_POLICY DFP
-				ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
-			 INNER JOIN TB_BRAND BR
-				ON G.BRAND_CD = BR.BRAND_CD
-			  LEFT OUTER JOIN VW_STOCK VS
-				ON CD.ITEM_CD = VS.GOODS_CD
-			   AND CD.OPT_CD = VS.OPT_CD
-			  LEFT OUTER JOIN TB_GOODS_RES_SELL GRS
-				ON CA.GOODS_CD = GRS.GOODS_CD
-			 WHERE 1 = 1
-			<if test="custNo == 0">
-			   AND CA.CUST_NO = 0
-			   AND CA.JSESSION_ID = #{jsessionId}
-			</if>
-			<if test="custNo != 0">
-			   AND CA.CUST_NO = #{custNo}
-			</if>
-			<choose>
-				<when test="cartSqArr != null and cartSqArr.length > 0">		<!-- 주문서 -->
-			   AND G.GOODS_STAT = 'G008_90'
-			   AND CA.CART_SQ IN
+		/* TscOrder.getCartGoodsList */
+		SELECT Z.CART_SQ
+			 , Z.BRAND_ENM
+			 , Z.GOODS_NM
+			 , Z.GOODS_CD
+			 , GROUP_CONCAT(Z.ITEM_NM ORDER BY Z.CART_DTL_SQ SEPARATOR '!@!') AS ITEM_NM
+			 , GROUP_CONCAT(Z.ITEM_CD ORDER BY Z.CART_DTL_SQ) AS ITEM_CD
+			 , GROUP_CONCAT(Z.OPT_CD ORDER BY Z.CART_DTL_SQ) AS OPT_CD
+			 , GROUP_CONCAT(Z.OPT_CD1 ORDER BY Z.CART_DTL_SQ) AS OPT_CD1
+			 , 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
+			 , Z.GOODS_QTY
+			 , Z.GOODS_TYPE
+			 , Z.LIST_PRICE
+			 , Z.GOODS_GB
+			 , Z.GOODS_STAT
+			 , Z.PRE_PPNT_USABLE_YN
+			 , Z.PRE_MPNT_USABLE_YN
+			 , Z.MAX_ORD_QTY
+			 , Z.DAY_MAX_ORD_QTY
+			 , Z.GIFT_PACK_YN
+			 , Z.NEW_CUST_ORD_YN
+			 , Z.SUPPLY_COMP_CD
+			 , Z.DELV_FEE_CD
+			 , Z.RES_DELV_FEE_CD
+			 , Z.DELV_RES_DT
+			 , Z.MIN_ORD_AMT
+			 , Z.DELV_FEE
+			 , Z.CURR_PRICE
+			 , Z.OPT_ADD_PRICE
+			 , GI.SYS_IMG_NM
+		FROM  ( SELECT CA.CART_SQ
+					 , CD.CART_DTL_SQ
+					 , BR.BRAND_ENM
+					 , G.GOODS_NM
+					 , CA.GOODS_CD
+					 , (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
+					 , CD.ITEM_CD
+					 , OP.OPT_CD
+					 , OP.OPT_CD1
+					 , OP.OPT_CD2
+					 , CA.GOODS_QTY
+					 , CD.ITEM_QTY
+					 , G.GOODS_TYPE
+					 , G.LIST_PRICE
+					 , G.GOODS_GB
+					 , G.GOODS_STAT
+					 , G.PRE_PPNT_USABLE_YN
+					 , G.PRE_MPNT_USABLE_YN
+					 , G.MAX_ORD_QTY
+					 , G.DAY_MAX_ORD_QTY
+					 , G.GIFT_PACK_YN
+					 , G.NEW_CUST_ORD_YN
+					 , DFP.SUPPLY_COMP_CD
+					 , CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
+							ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
+					 , CASE WHEN GRS.DELV_RES_DT IS NOT NULL THEN 'RES'
+							WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
+							ELSE DFP.DELV_FEE_CD END AS RES_DELV_FEE_CD
+					 , GRS.DELV_RES_DT
+					 , DFP.MIN_ORD_AMT
+					 , DFP.DELV_FEE
+					 , VS.CURR_STOCK_QTY
+					 , FN_GET_APPLY_CPN1_PRICE(CA.GOODS_CD, #{frontGb}) AS CURR_PRICE
+					 , IFNULL(OP.ADD_PRICE, 0) AS OPT_ADD_PRICE
+					 , CASE WHEN G.SELF_GOODS_YN = 'Y' AND G.GOODS_TYPE != 'G056_S' THEN CD.OPT_CD1
+							ELSE '00' END AS COLOR_CD
+				  FROM TB_CART CA
+				 INNER JOIN TB_CART_DETAIL CD
+					ON CA.CART_SQ = CD.CART_SQ
+				 INNER JOIN TB_GOODS G
+					ON CA.GOODS_CD = G.GOODS_CD
+				 INNER JOIN TB_DELV_FEE_POLICY DFP
+					ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
+				 INNER JOIN TB_BRAND BR
+					ON G.BRAND_CD = BR.BRAND_CD
+				  LEFT JOIN TB_OPTION OP
+				    ON CD.ITEM_CD = OP.GOODS_CD
+				   AND CD.OPT_CD1 = OP.OPT_CD1
+				   AND CD.OPT_CD2 = OP.OPT_CD2
+				  LEFT OUTER JOIN VW_STOCK VS
+					ON CD.ITEM_CD = VS.GOODS_CD
+				   AND CD.OPT_CD = VS.OPT_CD
+				  LEFT OUTER JOIN TB_GOODS_RES_SELL GRS
+					ON CA.GOODS_CD = GRS.GOODS_CD
+				 WHERE 1 = 1
+				   AND G.GOODS_STAT = 'G008_90'
+				<if test="custNo == 0">
+				   AND CA.CUST_NO = 0
+				   AND CA.JSESSION_ID = #{jsessionId}
+				</if>
+				<if test="custNo != 0">
+				   AND CA.CUST_NO = #{custNo}
+				</if>
+				<if test="cartSqArr != null and cartSqArr.length > 0">
+				   AND CA.CART_SQ IN
 					<foreach collection="cartSqArr" item="item" index="index"  open="(" close=")" separator=",">
-						#{item}
-					</foreach>
-				</when>
-				<when test="cartSqs != null and cartSqs.length > 0">			<!-- 장바구니 cartSq 존재할 경우 -->
-			   AND G.GOODS_STAT IN ('G008_90', 'G008_70')
-			   AND CA.CART_SQ IN
-					<foreach collection="cartSqs" item="item" index="index"  open="(" close=")" separator=",">
-						#{item}
+							#{item}
 					</foreach>
-				</when>
-				<otherwise>														<!-- 장바구니 cartSq 없는 경우 -->
-			   AND G.GOODS_STAT IN ('G008_90', 'G008_70')
-				</otherwise>
-			</choose>
-		) Z
-		 ORDER BY Z.SUPPLY_COMP_CD
+				</if>
+			) Z
+		LEFT   OUTER JOIN TB_GOODS_IMG GI
+		ON	   Z.GOODS_CD = GI.GOODS_CD
+		AND	   Z.OPT_CD1 = GI.COLOR_CD
+		AND    GI.DEFAULT_IMG_YN = 'Y'
+		GROUP  BY Z.CART_SQ
+			 , Z.BRAND_ENM
+			 , Z.GOODS_NM
+			 , Z.GOODS_CD
+			 , Z.GOODS_QTY
+			 , Z.GOODS_TYPE
+			 , Z.LIST_PRICE
+			 , Z.GOODS_GB
+			 , Z.GOODS_STAT
+			 , Z.PRE_PPNT_USABLE_YN
+			 , Z.PRE_MPNT_USABLE_YN
+			 , Z.MAX_ORD_QTY
+			 , Z.DAY_MAX_ORD_QTY
+			 , Z.GIFT_PACK_YN
+			 , Z.NEW_CUST_ORD_YN
+			 , Z.SUPPLY_COMP_CD
+			 , Z.DELV_FEE_CD
+			 , Z.RES_DELV_FEE_CD
+			 , Z.DELV_RES_DT
+			 , Z.MIN_ORD_AMT
+			 , Z.DELV_FEE
+			 , Z.CURR_PRICE
+			 , Z.OPT_ADD_PRICE
+			 , GI.SYS_IMG_NM
+		ORDER  BY Z.SUPPLY_COMP_CD
 				, Z.DELV_FEE_CD
 				, Z.CART_SQ
-				, Z.CART_DTL_SQ
 	</select>
 	
 	<!-- 고객정보 조회 -->
 	<select id="getCustemerInfo" parameterType="Order" resultType="Order">
-		/* TsfOrder.getCustemerInfo */
+		/* TscOrder.getCustemerInfo */
 		SELECT CU.CUST_NM
 		     , CU.EMAIL
 		     , CU.CELL_PHNNO
@@ -1701,7 +1748,7 @@
 	
 	<!-- 배송지정보 조회 -->
 	<select id="getDeliveryAddrInfo" parameterType="Order" resultType="Order">
-		/* TsfOrder.getDeliveryAddrInfo */
+		/* TscOrder.getDeliveryAddrInfo */
 		SELECT CDA.DELV_ADDR_NM
 		     , CDA.RECIP_ZIPCODE
 		     , CDA.RECIP_BASE_ADDR
@@ -1718,7 +1765,7 @@
 	
 	<!-- 포인트정보 조회 -->
 	<select id="getCustPointInfo" parameterType="Order" resultType="int">
-		/* TsfOrder.getCustPointInfo */
+		/* TscOrder.getCustPointInfo */
 		SELECT IFNULL(SUM(CP.RM_PNT_AMT), 0) AS RM_PNT_AMT
 		  FROM TB_CUST_POINT CP
 		 WHERE 1=1
@@ -1729,7 +1776,7 @@
 	
 	<!-- 상품권정보 조회 -->
 	<select id="getGiftcardInfo" parameterType="Order" resultType="int">
-		/* TsfOrder.getGiftcardInfo */
+		/* TscOrder.getGiftcardInfo */
 		SELECT IFNULL(SUM(CG.RM_GFCD_AMT), 0) AS RM_GFCD_AMT
 		  FROM TB_CUST_GIFTCARD CG
 		 WHERE 1=1
@@ -1740,7 +1787,7 @@
 	
 	<!-- 총알배송 가능지역 조회 -->
 	<select id="getDailyDeliveryZoneInfo" parameterType="Order" resultType="int">
-		/* TsfOrder.getDailyDeliveryZoneInfo */
+		/* TscOrder.getDailyDeliveryZoneInfo */
 		SELECT COUNT(1)
 		  FROM TB_DAILY_DELIVERY_ZONE DC
 	 	 WHERE 1=1
@@ -1749,7 +1796,7 @@
 	
 	<!-- 상품쿠폰, 장바구니쿠폰 적용 상품 조회 -->
 	<select id="getGoodsCartCpnApplyGoodsList" parameterType="Order" resultType="Order">
-		/* TsfOrder.getGoodsCartCpnApplyGoodsList */
+		/* TscOrder.getGoodsCartCpnApplyGoodsList */
 		WITH GOODS_DATA AS (
 			SELECT CA.GOODS_CD
 			     , G.SUPPLY_COMP_CD