ソースを参照

이태영 - 20210204 사은품프로모션 수정

xodud1202 5 年 前
コミット
12a7f210e4

+ 10 - 0
src/main/java/com/style24/front/biz/dao/TsfCartDao.java

@@ -3,6 +3,7 @@ package com.style24.front.biz.dao;
 import com.style24.core.support.annotation.ShopDs;
 import com.style24.persistence.domain.Cart;
 import com.style24.persistence.domain.GoodsStock;
+import com.style24.persistence.domain.Order;
 
 import java.util.Collection;
 import java.util.List;
@@ -86,4 +87,13 @@ public interface TsfCartDao {
      * @since 2021. 02. 02
      */
     void insertCartDetailHst(Cart param);
+
+    /**
+     * 장바구니 상세 이력 정보 저장
+     * @param Cart
+     * @return void
+     * @author xodud1202
+     * @since 2021. 02. 02
+     */
+    Collection<Order> selectMoreBetterCartList(Order param);
 }

+ 22 - 0
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -251,6 +251,28 @@ public class TsfCartService {
 			}
 		}
 
+		Collection<Order> moreBetterList = cartDao.selectMoreBetterCartList(order);
+
+		// 기본 적용 상품 적용
+		List<Order> baseQtyTmtbList = new ArrayList<Order>();
+		List<Order> baseAmtTmtbList = new ArrayList<Order>();
+		for(Order cart : cartGoodsList) {
+			for(Order more : moreBetterList) {
+				if(cart.getCartSq() == more.getCartSq() && more.getBaseQtyTmtbSq() != 0) {
+					cart.setIsBaseQtyMoreBetter("Y");
+					cart.setBaseQtyTmtbSq(more.getBaseQtyTmtbSq());
+					cart.setBaseQtyTmtbNm(more.getBaseQtyTmtbNm());
+					baseQtyTmtbList.add(cart);
+				}
+				if (cart.getCartSq() == more.getCartSq() && more.getBaseAmtTmtbSq() != 0) {
+					cart.setIsBaseAmtMoreBetter("Y");
+					cart.setBaseAmtTmtbSq(more.getBaseQtyTmtbSq());
+					cart.setBaseAmtTmtbNm(more.getBaseAmtTmtbNm());
+					baseAmtTmtbList.add(cart);
+				}
+			}
+		}
+
 
 
 		result.put("cartGoodsList", cartGoodsList);

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

@@ -247,8 +247,9 @@
 		WHERE  CD.CART_DTL_SQ = #{cartDtlSq}
 	</insert>
 
-	<select id="selectMoreBetterCartList" parameterType="Cart" resultType="Cart">
-
+	<!-- 다다익선 기본/적용 상품 조회 -->
+	<select id="selectMoreBetterCartList" parameterType="Order" resultType="Order">
+		/* TsfCart.selectMoreBetterCartList : 다다익선 기본/적용 상품 조회 */
 		SELECT C.CART_SQ
 			 , C.GOODS_CD
 			 , MAX(T1.QTY_TMTB_SQ) AS BASE_QTY_TMTB_SQ
@@ -278,11 +279,16 @@
 							INNER JOIN TB_TMTB_APPLY_GOODS TAG
 							   ON C.GOODS_CD = TAG.GOODS_CD
 							  AND TAG.GOODS_GB = 'G800_10'
+							  AND TAG.DEL_YN = 'N'
 							INNER JOIN TB_TMTB T
 							   ON T.TMTB_SQ = TAG.TMTB_SQ
 							  AND T.TMTB_STAT = 'G232_11' /*진행*/
+							 LEFT OUTER JOIN TB_TMTB_APPLY_GOODS NOT_APPLY
+							   ON T.TMTB_SQ = NOT_APPLY.TMTB_SQ
+							  AND C.GOODS_CD = NOT_APPLY.GOODS_CD
+							  AND NOT_APPLY.GOODS_GB = 'G800_30'   /* 제외상품 */
 							WHERE 1 = 1
-							  AND TAG.DEL_YN = 'N'
+							  AND NOT_APPLY.TMTB_SQ IS NULL
 							  AND TAG.GOODS_GB = 'G800_10'
 							  AND T.TMTB_ST_DT <![CDATA[<=]]> NOW()
 							  AND T.TMTB_ED_DT >= NOW()) T1
@@ -303,12 +309,17 @@
 							 FROM TB_CART C
 							INNER JOIN TB_TMTB_APPLY_GOODS TAG
 							   ON C.GOODS_CD = TAG.GOODS_CD
+							  AND TAG.GOODS_GB = 'G800_20'
+							  AND TAG.DEL_YN = 'N'
 							INNER JOIN TB_TMTB T
 							   ON T.TMTB_SQ = TAG.TMTB_SQ
 							  AND T.TMTB_STAT = 'G232_11'
+							 LEFT OUTER JOIN TB_TMTB_APPLY_GOODS NOT_APPLY
+							   ON T.TMTB_SQ = NOT_APPLY.TMTB_SQ
+							  AND C.GOODS_CD = NOT_APPLY.GOODS_CD
+							  AND NOT_APPLY.GOODS_GB = 'G800_30'   /* 제외상품 */
 							WHERE 1 = 1
-							  AND TAG.DEL_YN = 'N'
-							  AND TAG.GOODS_GB = 'G800_20'
+							  AND NOT_APPLY.TMTB_SQ IS NULL
 							  AND C.JSESSION_ID = 'aaec62cc-5f91-47bb-ba65-ebc9a61385cf'
 							  AND T.TMTB_ST_DT <![CDATA[<=]]> NOW()
 							  AND T.TMTB_ED_DT >= NOW()) T2