Ver Fonte

Merge branch 'style' into stage_tsit

card007 há 4 anos atrás
pai
commit
2b0e7d6a3e

+ 10 - 0
pom.xml

@@ -24,6 +24,16 @@
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-security</artifactId>
+			<exclusions>
+				<exclusion>
+					<groupId>org.apache.logging.log4j</groupId>
+					<artifactId>log4j-api</artifactId>
+				</exclusion>
+				<exclusion>
+					<groupId>org.apache.logging.log4j</groupId>
+					<artifactId>log4j-to-slf4j</artifactId>
+				</exclusion>
+			</exclusions>
 		</dependency>
 		<dependency>
 			<groupId>org.springframework.security</groupId>

+ 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>

+ 77 - 63
src/main/java/com/style24/persistence/mybatis/shop/TsfPoint.xml

@@ -60,8 +60,6 @@
 		                    WHEN 'G069_37' THEN '이벤트'
 		                    WHEN 'G069_40' THEN '상품 구매'
 		                    WHEN 'G069_41' THEN '구매 취소'
-		                    WHEN 'G069_42' THEN '사은품'
-		                    WHEN 'G069_43' THEN '사은품'
 		                    WHEN 'G069_44' THEN '관리자'
 		                    WHEN 'G069_45' THEN '관리자'
 		                    WHEN 'G069_46' THEN '적립취소'
@@ -78,8 +76,6 @@
 		                   WHEN 'G069_37' THEN '출석체크'
 		                   WHEN 'G069_40' THEN G.GOODS_NM
 		                   WHEN 'G069_41' THEN G.GOODS_NM
-		                   WHEN 'G069_42' THEN FR.GOODS_NM
-		                   WHEN 'G069_43' THEN FR.GOODS_NM
 		                   WHEN 'G069_44' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_45' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_46' THEN CPH.OCCUR_DTL_DESC
@@ -97,15 +93,8 @@
 		       ON  OD.GOODS_CD = G.GOODS_CD
 		       INNER JOIN TB_CUST_POINT TCP 
 		       ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		       LEFT JOIN (SELECT FG.GOODS_NM
-		                        ,OFV.ORD_NO
-		                  FROM TB_ORD_FREEGIFT_VAL OFV
-		                  INNER JOIN TB_FREE_GOODS FG
-		                  ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                  AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                  )FR ON CPH.ORD_NO = FR.ORD_NO
 		       WHERE CPH.CUST_NO = #{custNo}
-		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13')
+		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13', 'G069_42', 'G069_43')
 		       AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		       AND CPH.PNT_AMT <![CDATA[>]]> 0
 		UNION ALL
@@ -128,20 +117,36 @@
 		      ON  OD.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_CUST_POINT TCP 
 		      ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		      LEFT JOIN (SELECT FG.GOODS_NM
-		                       ,OFV.ORD_NO
-		                 FROM TB_ORD_FREEGIFT_VAL OFV
-		                 INNER JOIN TB_FREE_GOODS FG
-		                 ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                 AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                 )FR ON CPH.ORD_NO = FR.ORD_NO
 		      WHERE CPH.CUST_NO = #{custNo}
-		        AND CPH.SWITCH_DUE_DT IS NOT NULL
 		        AND CPH.OCCUR_GB IN ('G069_12','G069_13')
 		        AND CPH.PNT_UPLOAD_STAT = 'G070_30'
 		        AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		        AND CPH.PNT_AMT <![CDATA[>]]> 0
-		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT 
+		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT
+		UNION ALL
+		      SELECT CASE CPH.OCCUR_GB WHEN 'G069_42' THEN '사은품'
+		                               WHEN 'G069_43' THEN '사은품'
+		              END                                          AS OCCUR_GB
+		           , CASE CPH.OCCUR_GB WHEN 'G069_42' THEN FG.GOODS_NM
+		                               WHEN 'G069_43' THEN FG.GOODS_NM
+		              END                                          AS  OCCUR_DTL_DESC
+		           , CPH.PNT_AMT
+		           , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S')  AS PNT_UPLOAD_DT
+		           , CP.EXP_BE_DT
+		        FROM TB_CUST_POINT_HST CPH
+		       INNER JOIN TB_CUST_POINT CP
+		          ON CPH.CUST_PNT_SQ = CP.CUST_PNT_SQ
+		       INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		          ON OFV.ORD_NO = CPH.ORD_NO
+		         AND OFV.ORD_FREEGIFT_VAL_SQ = CPH.ORD_FREEGIFT_VAL_SQ
+		       INNER JOIN TB_FREE_GOODS FG
+		          ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		         AND OFV.PRODUCT_NO = FG.PRODUCT_NO
+		       WHERE CPH.CUST_NO = #{custNo}
+		         AND CPH.OCCUR_GB IN ('G069_42','G069_43')
+		         AND CPH.PNT_UPLOAD_STAT = 'G070_30'
+		         AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
+		         AND CPH.PNT_AMT <![CDATA[>]]> 0
 		) Z
 		WHERE Z.PNT_UPLOAD_DT IS NOT NULL
 		ORDER BY Z.PNT_UPLOAD_DT DESC	
@@ -162,8 +167,6 @@
 		                    WHEN 'G069_37' THEN '이벤트'
 		                    WHEN 'G069_40' THEN '상품 구매'
 		                    WHEN 'G069_41' THEN '구매 취소'
-		                    WHEN 'G069_42' THEN '사은품'
-		                    WHEN 'G069_43' THEN '사은품'
 		                    WHEN 'G069_44' THEN '관리자'
 		                    WHEN 'G069_45' THEN '관리자'
 		                    WHEN 'G069_46' THEN '적립취소'
@@ -180,8 +183,6 @@
 		                   WHEN 'G069_37' THEN '출석체크'
 		                   WHEN 'G069_40' THEN G.GOODS_NM
 		                   WHEN 'G069_41' THEN G.GOODS_NM
-		                   WHEN 'G069_42' THEN FR.GOODS_NM
-		                   WHEN 'G069_43' THEN FR.GOODS_NM
 		                   WHEN 'G069_44' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_45' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_46' THEN CPH.OCCUR_DTL_DESC
@@ -199,15 +200,8 @@
 		       ON  OD.GOODS_CD = G.GOODS_CD
 		       INNER JOIN TB_CUST_POINT TCP 
 		       ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		       LEFT JOIN (SELECT FG.GOODS_NM
-		                        ,OFV.ORD_NO
-		                  FROM TB_ORD_FREEGIFT_VAL OFV
-		                  INNER JOIN TB_FREE_GOODS FG
-		                  ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                  AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                  )FR ON CPH.ORD_NO = FR.ORD_NO
 		       WHERE CPH.CUST_NO = #{custNo}
-		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13')
+		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13', 'G069_42', 'G069_43')
 		       AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		       AND CPH.PNT_AMT <![CDATA[<]]> 0
 		UNION ALL
@@ -230,20 +224,36 @@
 		      ON  OD.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_CUST_POINT TCP 
 		      ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		      LEFT JOIN (SELECT FG.GOODS_NM
-		                       ,OFV.ORD_NO
-		                 FROM TB_ORD_FREEGIFT_VAL OFV
-		                 INNER JOIN TB_FREE_GOODS FG
-		                 ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                 AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                 )FR ON CPH.ORD_NO = FR.ORD_NO
 		      WHERE CPH.CUST_NO = #{custNo}
-		        AND CPH.SWITCH_DUE_DT IS NOT NULL
 		        AND CPH.OCCUR_GB IN ('G069_12','G069_13')
 		        AND CPH.PNT_UPLOAD_STAT = 'G070_30'
 		        AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		        AND CPH.PNT_AMT <![CDATA[<]]> 0
-		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT 
+		      GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT
+		UNION ALL
+		      SELECT CASE CPH.OCCUR_GB WHEN 'G069_42' THEN '사은품'
+		                               WHEN 'G069_43' THEN '사은품'
+		              END                                          AS OCCUR_GB
+		           , CASE CPH.OCCUR_GB WHEN 'G069_42' THEN FG.GOODS_NM
+		                               WHEN 'G069_43' THEN FG.GOODS_NM
+		              END                                          AS  OCCUR_DTL_DESC
+		            , CPH.PNT_AMT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S')  AS PNT_UPLOAD_DT
+		            , CP.EXP_BE_DT
+		         FROM TB_CUST_POINT_HST CPH
+		        INNER JOIN TB_CUST_POINT CP
+		           ON CPH.CUST_PNT_SQ = CP.CUST_PNT_SQ
+		        INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		           ON OFV.ORD_NO = CPH.ORD_NO
+		          AND OFV.ORD_FREEGIFT_VAL_SQ = CPH.ORD_FREEGIFT_VAL_SQ
+		        INNER JOIN TB_FREE_GOODS FG
+		           ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		          AND OFV.PRODUCT_NO = FG.PRODUCT_NO
+		        WHERE CPH.CUST_NO = #{custNo}
+		          AND CPH.OCCUR_GB IN ('G069_42','G069_43')
+		          AND CPH.PNT_UPLOAD_STAT = 'G070_30'
+		          AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
+		          AND CPH.PNT_AMT <![CDATA[<]]> 0
 		) Z
 		WHERE Z.PNT_UPLOAD_DT IS NOT NULL
 		ORDER BY Z.PNT_UPLOAD_DT DESC	
@@ -264,8 +274,6 @@
 		                    WHEN 'G069_37' THEN '이벤트'
 		                    WHEN 'G069_40' THEN '상품 구매'
 		                    WHEN 'G069_41' THEN '구매 취소'
-		                    WHEN 'G069_42' THEN '사은품'
-		                    WHEN 'G069_43' THEN '사은품'
 		                    WHEN 'G069_44' THEN '관리자'
 		                    WHEN 'G069_45' THEN '관리자'
 		                    WHEN 'G069_46' THEN '적립취소'
@@ -282,8 +290,6 @@
 		                   WHEN 'G069_37' THEN '출석체크'
 		                   WHEN 'G069_40' THEN G.GOODS_NM
 		                   WHEN 'G069_41' THEN G.GOODS_NM
-		                   WHEN 'G069_42' THEN FR.GOODS_NM
-		                   WHEN 'G069_43' THEN FR.GOODS_NM
 		                   WHEN 'G069_44' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_45' THEN CPH.OCCUR_DTL_DESC
 		                   WHEN 'G069_46' THEN CPH.OCCUR_DTL_DESC
@@ -301,15 +307,8 @@
 		       ON  OD.GOODS_CD = G.GOODS_CD
 		       INNER JOIN TB_CUST_POINT TCP 
 		       ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		       LEFT JOIN (SELECT FG.GOODS_NM
-		                        ,OFV.ORD_NO
-		                  FROM TB_ORD_FREEGIFT_VAL OFV
-		                  INNER JOIN TB_FREE_GOODS FG
-		                  ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                  AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                  )FR ON CPH.ORD_NO = FR.ORD_NO
 		       WHERE CPH.CUST_NO = #{custNo}
-		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13')
+		       AND CPH.OCCUR_GB NOT IN ('G069_12','G069_13', 'G069_42', 'G069_43')
 		       AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		UNION ALL
 		      SELECT  CASE CPH.OCCUR_GB
@@ -331,19 +330,34 @@
 		      ON  OD.GOODS_CD = G.GOODS_CD
 		      INNER JOIN TB_CUST_POINT TCP 
 		      ON   CPH.CUST_PNT_SQ = TCP.CUST_PNT_SQ
-		      LEFT JOIN (SELECT FG.GOODS_NM
-		                       ,OFV.ORD_NO
-		                 FROM TB_ORD_FREEGIFT_VAL OFV
-		                 INNER JOIN TB_FREE_GOODS FG
-		                 ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
-		                 AND OFV.PRODUCT_NO = FG.PRODUCT_NO
-		                 )FR ON CPH.ORD_NO = FR.ORD_NO
 		      WHERE CPH.CUST_NO = #{custNo}
-		        AND CPH.SWITCH_DUE_DT IS NOT NULL
 		        AND CPH.OCCUR_GB IN ('G069_12','G069_13')
 		        AND CPH.PNT_UPLOAD_STAT = 'G070_30'
 		        AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
-		       GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT 
+		       GROUP BY CPH.OCCUR_GB, G.GOODS_NM,CPH.UPD_DT,TCP.EXP_BE_DT
+		UNION ALL
+		      SELECT CASE CPH.OCCUR_GB WHEN 'G069_42' THEN '사은품'
+		                               WHEN 'G069_43' THEN '사은품'
+		              END                                          AS OCCUR_GB
+		           , CASE CPH.OCCUR_GB WHEN 'G069_42' THEN FG.GOODS_NM
+		                               WHEN 'G069_43' THEN FG.GOODS_NM
+		              END                                          AS  OCCUR_DTL_DESC
+		            , CPH.PNT_AMT
+		            , DATE_FORMAT(CPH.UPD_DT, '%Y.%m.%d %H:%i:%S')  AS PNT_UPLOAD_DT
+		            , CP.EXP_BE_DT
+		         FROM TB_CUST_POINT_HST CPH
+		        INNER JOIN TB_CUST_POINT CP
+		           ON CPH.CUST_PNT_SQ = CP.CUST_PNT_SQ
+		        INNER JOIN TB_ORD_FREEGIFT_VAL OFV
+		           ON OFV.ORD_NO = CPH.ORD_NO
+		          AND OFV.ORD_FREEGIFT_VAL_SQ = CPH.ORD_FREEGIFT_VAL_SQ
+		        INNER JOIN TB_FREE_GOODS FG
+		           ON OFV.PRODUCT_CODE = FG.PRODUCT_CODE
+		          AND OFV.PRODUCT_NO = FG.PRODUCT_NO
+		        WHERE CPH.CUST_NO = #{custNo}
+		          AND CPH.OCCUR_GB IN ('G069_42','G069_43')
+		          AND CPH.PNT_UPLOAD_STAT = 'G070_30'
+		          AND DATE_FORMAT(CPH.UPD_DT,'%Y%m') = #{searchDt}
 		) Z
 		WHERE Z.PNT_UPLOAD_DT IS NOT NULL
 		ORDER BY Z.PNT_UPLOAD_DT DESC