Kaynağa Gözat

장바구니 다다익선 프로모션 체크

jsh77b 4 yıl önce
ebeveyn
işleme
20e2eb741f

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

@@ -342,4 +342,13 @@ public interface TsfCartDao {
 	 * @since 2021. 07. 06
 	 */
 	Collection<Cart> getAllCartList(Cart param);
+	
+	/**
+	 * 퀵메뉴 다다익선 진행중 프로모션 카운트
+	 * @param param
+	 * @return
+	 * @author jsh77b
+	 * @since 2021. 12. 14
+	 */
+	int getTmtbRunCnt();
 }

+ 36 - 29
src/main/java/com/style24/front/biz/service/TsfCartService.java

@@ -620,38 +620,45 @@ public class TsfCartService {
 		}
 
 		order.setCartSqArr(cartSqs.stream().mapToInt(Integer::intValue).toArray());
-
-		if (cartSqs.size() > 0) {
-			// 다다익선 할인 상품 조회 (품절 상품 제외)
-			Collection<Order> moreBetterAmtList = new ArrayList<Order>();
-			//if(order.getCustNo() > 0) {		// 비회원도 다다익선 적용 여부 및 금액 노출되도록 수정. (한수인리더 요청) :: 20210517
-			order.setCartYn("Y");
-			moreBetterAmtList = getMoreBetterAmtList(order);
-			//}
-
-			// 다다익선 할인 정보 및 상품 정보 장바구니에 등록
-			for (Order cart : cartGoodsList) {
-				for (Order info : moreBetterAmtList) {
-					if (cart.getCartSq().equals(info.getCartSq())) {
-						cart.setTmtbDcAmt(info.getTmtbDcAmt());
-						cart.setApplyAmtSectionYn(info.getApplyAmtSectionYn());
-						cart.setApplyQtySectionYn(info.getApplyQtySectionYn());
-						cart.setQtyTmtbNm(info.getQtyTmtbNm());
-						cart.setAmtTmtbNm(info.getAmtTmtbNm());
-						cart.setQtyTmtbSq(info.getQtyTmtbSq());
-						cart.setAmtTmtbSq(info.getAmtTmtbSq());
+		
+		// 2021.12.13 다다익선 진행중 프로모션 체크 후 존재하면 아래의 로직 설정
+		if (cartDao.getTmtbRunCnt() > 0 && TsfSession.isLogin()) {
+			
+			// 장바구니정보가 존재하면 다다익선 프로모션 정보 조회
+			if (cartSqs.size() > 0) {
+				// 다다익선 할인 상품 조회 (품절 상품 제외)
+				Collection<Order> moreBetterAmtList = new ArrayList<Order>();
+				//if(order.getCustNo() > 0) {		// 비회원도 다다익선 적용 여부 및 금액 노출되도록 수정. (한수인리더 요청) :: 20210517
+				order.setCartYn("Y");
+				moreBetterAmtList = getMoreBetterAmtList(order);
+				//}
+	
+				// 다다익선 할인 정보 및 상품 정보 장바구니에 등록
+				for (Order cart : cartGoodsList) {
+					for (Order info : moreBetterAmtList) {
+						if (cart.getCartSq().equals(info.getCartSq())) {
+							cart.setTmtbDcAmt(info.getTmtbDcAmt());
+							cart.setApplyAmtSectionYn(info.getApplyAmtSectionYn());
+							cart.setApplyQtySectionYn(info.getApplyQtySectionYn());
+							cart.setQtyTmtbNm(info.getQtyTmtbNm());
+							cart.setAmtTmtbNm(info.getAmtTmtbNm());
+							cart.setQtyTmtbSq(info.getQtyTmtbSq());
+							cart.setAmtTmtbSq(info.getAmtTmtbSq());
+						}
+					}
+	
+					if (cart.getTmtbDcAmt() == 0) {
+						cart.setTmtbDcAmt(cart.getCurrPrice());
+					}
+					if (cart.getPntRate() > 0) {
+						cart.setSavePntAmt((int)(cart.getTmtbDcAmt() * cart.getPntRate() / 100.0));
+					} else {
+						cart.setSavePntAmt(0);
 					}
-				}
-
-				if (cart.getTmtbDcAmt() == 0) {
-					cart.setTmtbDcAmt(cart.getCurrPrice());
-				}
-				if (cart.getPntRate() > 0) {
-					cart.setSavePntAmt((int)(cart.getTmtbDcAmt() * cart.getPntRate() / 100.0));
-				} else {
-					cart.setSavePntAmt(0);
 				}
 			}
+		} else {
+			// 다다익선 진행중이 아니면 장바구니 조회한 금액으로 설정
 		}
 
 		// 자사 / 입점업체 리스트 분리

+ 13 - 0
src/main/java/com/style24/persistence/mybatis/shop/TsfCart.xml

@@ -1246,4 +1246,17 @@
 		GROUP  BY C.GOODS_CD
 		        , C.CUST_NO
 	</select>
+	
+	<!-- 퀵메뉴 다다익선 진행중 프로모션 카운트 -->
+	<select id="getTmtbRunCnt" parameterType="Cart" resultType="int">
+		/* TsfCart.getTmtbRunCnt */
+		SELECT COUNT(1) AS CNT
+		FROM   TB_TMTB TM
+		WHERE  1=1
+		AND    TM.TMTB_STAT = 'G232_11'
+		AND    TM.DEL_YN = 'N'
+		AND    TM.TMTB_ST_DT <![CDATA[<]]> NOW()
+		AND    TM.TMTB_ED_DT > NOW()
+	</select>
+	
 </mapper>