Просмотр исходного кода

상품 할인금액 즉시 할인금액 브랜드, 업체 조건 수정

jsh77b 4 лет назад
Родитель
Сommit
e5110fcd8f

+ 88 - 68
src/main/java/com/style24/persistence/mybatis/shop/TsbGoods.xml

@@ -488,31 +488,42 @@
 	<!-- 상품 혜택가 목록 -->
 	<sql id="getGoodsBenefitList_sql">
 		WITH CTE AS (
-		SELECT CPN_REFVAL_SQ
-		FROM TB_COUPON CP
-		INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_ID=CPR.CPN_ID
-		WHERE  CP.SITE_CD = 'G000_10'
-		AND    CP.CPN_STAT = 'G232_11'   -- 쿠폰인 진행중인 쿠폰만
-		AND    NOW() BETWEEN CP.AVAIL_STDT AND CP.AVAIL_EDDT
-		AND    CP.CPN_TYPE = 'G230_10' /*즉시할인쿠폰*/
-		AND    CP.DC_CD_GB = 'G233_00'		         -- 일반유형(할인쿠폰구분)
-		AND    CP.APPLY_SCOPE = 'I'
-		AND 	CPR.DEL_YN = 'N'
+		    SELECT CPN_REFVAL_SQ
+		    FROM   TB_COUPON CP
+		    INNER  JOIN TB_COUPON_REFVAL CPR 
+		    ON     CP.CPN_ID = CPR.CPN_ID
+		    WHERE  1=1
+		    AND    CP.SITE_CD = 'G000_10'
+		    AND    CP.CPN_STAT = 'G232_11'   -- 쿠폰인 진행중인 쿠폰만
+		    AND    NOW() BETWEEN CP.AVAIL_STDT AND CP.AVAIL_EDDT
+		    AND    CP.CPN_TYPE = 'G230_10' /*즉시할인쿠폰*/
+		    AND    CP.DC_CD_GB = 'G233_00'		         -- 일반유형(할인쿠폰구분)
+		    AND    CP.APPLY_SCOPE = 'I'
+		    AND    CPR.DEL_YN = 'N'
 		)
 		, CTE_DETAIL AS (
-		        SELECT CP.CPN_REFVAL_SQ, CPR.CPN_ID, CPR.REF_VAL, G.GOODS_CD GKEY, G.GOODS_CD
-		        FROM CTE CP
-		        INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_REFVAL_SQ=CPR.CPN_REFVAL_SQ
-		        INNER JOIN TB_GOODS G ON CPR.REF_VAL=G.GOODS_CD
-		        WHERE CPR.CPN_TARGET = 'G260_10'
-
+		        SELECT CP.CPN_REFVAL_SQ
+		             , CPR.CPN_ID
+		             , CPR.REF_VAL
+		             , G.GOODS_CD GKEY
+		             , G.GOODS_CD
+		        FROM   CTE CP
+		        INNER  JOIN TB_COUPON_REFVAL CPR 
+		        ON     CP.CPN_REFVAL_SQ = CPR.CPN_REFVAL_SQ
+		        INNER  JOIN TB_GOODS G 
+		        ON     CPR.REF_VAL = G.GOODS_CD
+		        WHERE  CPR.CPN_TARGET = 'G260_10' -- 적용상품
 		        UNION
-
 		        /* 적용대상:카테고리*/
-		        SELECT CP.CPN_REFVAL_SQ, CPR.CPN_ID, CPR.REF_VAL, G.GOODS_CD GKEY, G.GOODS_CD
-		        FROM  CTE CP
-		        INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_REFVAL_SQ=CPR.CPN_REFVAL_SQ
-		        INNER JOIN
+		        SELECT CP.CPN_REFVAL_SQ
+		             , CPR.CPN_ID
+		             , CPR.REF_VAL
+		             , G.GOODS_CD GKEY
+		             , G.GOODS_CD
+		        FROM   CTE CP
+		        INNER  JOIN TB_COUPON_REFVAL CPR 
+		        ON     CP.CPN_REFVAL_SQ = CPR.CPN_REFVAL_SQ
+		        INNER  JOIN
 		                    (SELECT LEAF_CATE_NO
 		                          , CATE_LVL
 		                          , CATE_NO
@@ -539,7 +550,7 @@
 		                                         , CATE5_NO
 		                                    FROM  TB_CATE_4SRCH
 		                                    WHERE SITE_CD = 'G000_10'
-		                                    AND CATE_TYPE = 'G031_10') A, -- 상품타입
+		                                    AND   CATE_TYPE = 'G031_10') A, -- 상품타입
 		                                  (SELECT 1 AS X		-- UNPIVOT 컬럼 수 만큼 선언
 		                                   UNION ALL SELECT 2 AS X
 		                                   UNION ALL SELECT 3 AS X
@@ -556,51 +567,53 @@
 		        WHERE CPR.CPN_TARGET =  'G260_11'
 		        AND IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
 		        AND IFNULL(REF_BRAND_CD,G.BRAND_CD) = G.BRAND_CD
-
-		        UNION
-
-		        /* 적용대상:브랜드*/
-		        SELECT CP.CPN_REFVAL_SQ, CPR.CPN_ID, CPR.REF_VAL, G.BRAND_CD GKEY, G.GOODS_CD
-		        FROM  CTE CP
-		        INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_REFVAL_SQ=CPR.CPN_REFVAL_SQ
-		        INNER JOIN TB_GOODS G ON CPR.REF_VAL=G.BRAND_CD
-		        WHERE CPR.CPN_TARGET = 'G260_12'
-		        AND   IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
-
 		        UNION
-
-		        /* 적용대상:공급업체*/
-		        SELECT CP.CPN_REFVAL_SQ, CPR.CPN_ID, CPR.REF_VAL, G.SUPPLY_COMP_CD GKEY, G.GOODS_CD
-		        FROM CTE CP
-		        INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_REFVAL_SQ=CPR.CPN_REFVAL_SQ
-		        INNER JOIN TB_GOODS G ON CPR.REF_VAL=G.SUPPLY_COMP_CD
-		        WHERE CPR.CPN_TARGET = 'G260_13'
+		        /* 적용대상:브랜드, 공급업체 */
+		        SELECT CP.CPN_REFVAL_SQ
+				     , CPR1.CPN_ID
+				     , CPR1.REF_VAL
+				     , G1.BRAND_CD GKEY
+				     , G1.GOODS_CD
+				FROM   CTE CP
+				INNER  JOIN TB_COUPON_REFVAL CPR1 
+				ON     CP.CPN_REFVAL_SQ = CPR1.CPN_REFVAL_SQ
+				INNER  JOIN TB_GOODS G1 
+				ON     CPR1.REF_VAL = G1.BRAND_CD
+				AND    CPR1.CPN_TARGET = 'G260_12'
+				INNER  JOIN TB_COUPON_REFVAL CPR2 
+				ON     CP.CPN_REFVAL_SQ = CPR2.CPN_REFVAL_SQ
+				INNER  JOIN TB_GOODS G2
+				ON     CPR2.REF_VAL = G2.SUPPLY_COMP_CD
+				AND    CPR2.CPN_TARGET = 'G260_13'
+				WHERE  1=1
+				AND    IFNULL(CPR1.REF_FORMAL_GB, G1.FORMAL_GB) = G1.FORMAL_GB
+				AND    CPR1.CPN_ID = CPR2.CPN_ID
 		 )
 		SELECT GOODS_CD
-		    , 'G100_00' AS CUST_GB
-		    , CURR_PRICE
-		    , MIN(
+		     , 'G100_00' AS CUST_GB
+		     , CURR_PRICE
+		     , MIN(
 		          ( CASE WHEN DC_WAY = 'G240_10' THEN GREATEST(CURR_PRICE - DC_PVAL ,0)
 		                 ELSE CURR_PRICE - (FLOOR((CURR_PRICE * DC_PVAL / 100) / 1) * 1)
 		                 END) ) AS PC_CURR_PRICE
-		    , MIN(
+		     , MIN(
 		          ( CASE WHEN DC_WAY = 'G240_10' THEN GREATEST(CURR_PRICE - DC_MVAL ,0)
 		                 ELSE CURR_PRICE - (FLOOR((CURR_PRICE * DC_MVAL / 100) / 1) * 1)
 		            END) )AS MO_CURR_PRICE
-		    , MIN(
+		     , MIN(
 		          ( CASE WHEN DC_WAY = 'G240_10' THEN GREATEST(CURR_PRICE - DC_AVAL ,0)
 		                 ELSE CURR_PRICE - (FLOOR((CURR_PRICE * DC_AVAL / 100) / 1) * 1)
 		            END) )AS MO_CURR_PRICE
-		    , STAFF_CURR_PRICE
-		    , MIN(
+		     , STAFF_CURR_PRICE
+		     , MIN(
 		         ( CASE WHEN DC_WAY = 'G240_10' THEN GREATEST(STAFF_CURR_PRICE - DC_PVAL ,0)
 		                ELSE CURR_PRICE - (FLOOR((STAFF_CURR_PRICE * DC_PVAL / 100) / 1) * 1)
 		           END) )AS STAFF_PC_CURR_PRICE
-		    , MIN(
+		     , MIN(
 		          ( CASE WHEN DC_WAY = 'G240_10' THEN GREATEST(STAFF_CURR_PRICE - DC_MVAL ,0)
 		                 ELSE CURR_PRICE - (FLOOR((STAFF_CURR_PRICE * DC_MVAL / 100) / 1) * 1)
 		            END) )AS STAFF_MO_CURR_PRICE
-		    , MIN(
+		     , MIN(
 		          ( CASE WHEN DC_WAY = 'G240_10' THEN GREATEST(STAFF_CURR_PRICE - DC_AVAL ,0)
 		                 ELSE CURR_PRICE - (FLOOR((STAFF_CURR_PRICE * DC_AVAL / 100) / 1) * 1)
 		            END) )AS STAFF_APP_CURR_PRICE
@@ -644,7 +657,10 @@
 		                           )
 		          ) CP
 		) Y
-		GROUP BY GOODS_CD ,CURR_PRICE, STAFF_CURR_PRICE, CUST_GB
+		GROUP BY GOODS_CD 
+		    , CURR_PRICE
+		    , STAFF_CURR_PRICE
+		    , CUST_GB
 	</sql>
 
 	<!-- 상품 혜택가 목록 -->
@@ -2752,25 +2768,29 @@
 		        WHERE CPR.CPN_TARGET =  'G260_11'
 		        AND IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
 		        AND IFNULL(REF_BRAND_CD,G.BRAND_CD) = G.BRAND_CD
-
 		        UNION
-
-		        /* 적용대상:브랜드*/
-		        SELECT CP.CPN_REFVAL_SQ, CPR.CPN_ID, CPR.REF_VAL, G.BRAND_CD GKEY, G.GOODS_CD
-		        FROM  CTE CP
-		        INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_REFVAL_SQ=CPR.CPN_REFVAL_SQ
-		        INNER JOIN TB_GOODS G ON CPR.REF_VAL=G.BRAND_CD AND CP.BUY_LIMIT_AMT <![CDATA[<=]]> G.CURR_PRICE  /*최소주문금액*/
-		        WHERE CPR.CPN_TARGET = 'G260_12'
-		        AND   IFNULL(REF_FORMAL_GB,G.FORMAL_GB) = G.FORMAL_GB
-
-		        UNION
-
-		        /* 적용대상:공급업체*/
-		        SELECT CP.CPN_REFVAL_SQ, CPR.CPN_ID, CPR.REF_VAL, G.SUPPLY_COMP_CD GKEY, G.GOODS_CD
-		        FROM CTE CP
-		        INNER JOIN TB_COUPON_REFVAL CPR ON CP.CPN_REFVAL_SQ=CPR.CPN_REFVAL_SQ
-		        INNER JOIN TB_GOODS G ON CPR.REF_VAL=G.SUPPLY_COMP_CD AND CP.BUY_LIMIT_AMT <![CDATA[<=]]> G.CURR_PRICE  /*최소주문금액*/
-		        WHERE CPR.CPN_TARGET = 'G260_13'
+		        /* 적용대상:브랜드, 공급업체 */
+		        SELECT CP.CPN_REFVAL_SQ
+				     , CPR1.CPN_ID
+				     , CPR1.REF_VAL
+				     , G1.BRAND_CD GKEY
+				     , G1.GOODS_CD
+				FROM   CTE CP
+				INNER  JOIN TB_COUPON_REFVAL CPR1 
+				ON     CP.CPN_REFVAL_SQ = CPR1.CPN_REFVAL_SQ
+				INNER  JOIN TB_GOODS G1 
+				ON     CPR1.REF_VAL = G1.BRAND_CD
+				AND    CPR1.CPN_TARGET = 'G260_12'
+				AND    CP.BUY_LIMIT_AMT <![CDATA[<=]]> G1.CURR_PRICE  /*최소주문금액*/
+				INNER  JOIN TB_COUPON_REFVAL CPR2 
+				ON     CP.CPN_REFVAL_SQ = CPR2.CPN_REFVAL_SQ
+				INNER  JOIN TB_GOODS G2
+				ON     CPR2.REF_VAL = G2.SUPPLY_COMP_CD
+				AND    CPR2.CPN_TARGET = 'G260_13'
+				AND    CP.BUY_LIMIT_AMT <![CDATA[<=]]> G2.CURR_PRICE  /*최소주문금액*/
+				WHERE  1=1
+				AND    IFNULL(CPR1.REF_FORMAL_GB, G1.FORMAL_GB) = G1.FORMAL_GB
+				AND    CPR1.CPN_ID = CPR2.CPN_ID
 		)
 		SELECT G.GOODS_CD
 		     , '10'       AS BENEFIT_GB /*쿠폰할인*/

+ 1 - 1
src/main/resources/config/application-locp.yml

@@ -14,7 +14,7 @@ spring:
         password: 
 
 logging:
-    config: classpath:log/logback-locp.xml
+    config: classpath:log/logback-locd.xml
 
 domain:
     admin: https://lpadmin.style24.com