|
|
@@ -10,7 +10,7 @@
|
|
|
|
|
|
<!-- 페이징을 위한 select절 하단 -->
|
|
|
<sql id="selectForPagingFooter">
|
|
|
- ) ORIGINAL
|
|
|
+ ) ORIGINAL
|
|
|
WHERE NUMB BETWEEN #{pageable.startRow} AND #{pageable.endRow}
|
|
|
</sql>
|
|
|
|
|
|
@@ -31,28 +31,35 @@
|
|
|
AND C.CUST_NO = #{custNo}
|
|
|
</otherwise>
|
|
|
</choose>
|
|
|
+ <if test="cartSq != null and cartSq != 0">
|
|
|
+ AND C.CART_SQ <![CDATA[ <> ]]> #{cartSq}
|
|
|
+ </if>
|
|
|
</select>
|
|
|
|
|
|
<!-- 장바구니 등록 세트 상품 확인 -->
|
|
|
- <select id="selectHasSetItemCartList" parameterType="Cart" resultType="int">
|
|
|
+ <select id="selectHasSetItemCartList" parameterType="Cart" resultType="Cart">
|
|
|
/* TsfCart.selectHasSetItemCartList : 장바구니 등록 세트 상품 확인 */
|
|
|
SELECT CART_SQ
|
|
|
- FROM (SELECT COUNT(1) AS CNT
|
|
|
+ FROM (SELECT COUNT(1) AS CNT
|
|
|
, CART_SQ
|
|
|
, #{goodsCd} AS GOODS_CD
|
|
|
- FROM (
|
|
|
- ${itemCdSql}
|
|
|
- ) A
|
|
|
- WHERE 1=1
|
|
|
- GROUP BY CART_SQ ) AS A
|
|
|
- INNER JOIN (SELECT GC.GOODS_CD
|
|
|
+ FROM (
|
|
|
+ ${itemCdSql}
|
|
|
+ ) A
|
|
|
+ WHERE 1=1
|
|
|
+ GROUP BY CART_SQ ) AS A
|
|
|
+ INNER JOIN ( SELECT GC.GOODS_CD
|
|
|
, COUNT(1) AS CNT
|
|
|
- FROM TB_GOODS_COMPOSE GC
|
|
|
- WHERE GC.GOODS_CD = #{goodsCd}
|
|
|
- AND GC.USE_YN = 'Y'
|
|
|
- GROUP BY GC.GOODS_CD ) B
|
|
|
- ON A.GOODS_CD = B.GOODS_CD
|
|
|
- AND A.CNT = B.CNT
|
|
|
+ FROM TB_GOODS_COMPOSE GC
|
|
|
+ WHERE GC.GOODS_CD = #{goodsCd}
|
|
|
+ AND GC.USE_YN = 'Y'
|
|
|
+ GROUP BY GC.GOODS_CD ) B
|
|
|
+ ON A.GOODS_CD = B.GOODS_CD
|
|
|
+ AND A.CNT = B.CNT
|
|
|
+ WHERE 1=1
|
|
|
+ <if test="notCartSq != null and notCartSq > 0">
|
|
|
+ AND A.CART_SQ <![CDATA[ <> ]]> #{notCartSq}
|
|
|
+ </if>
|
|
|
</select>
|
|
|
|
|
|
<!-- 장바구니 등록 일반 or 딜 상품 확인 -->
|
|
|
@@ -70,24 +77,24 @@
|
|
|
<insert id="insertCartInfo" parameterType="Cart" keyProperty="cartSq">
|
|
|
/* TsfCart.insertCartInfo : 장바구니 신규 등록 */
|
|
|
INSERT INTO TB_CART (
|
|
|
- CART_GB
|
|
|
- , GOODS_CD
|
|
|
- , GOODS_QTY
|
|
|
- , DEAL_GOODS_CD
|
|
|
- , JSESSION_ID
|
|
|
- , CUST_NO
|
|
|
- , AF_LINK_CD
|
|
|
- , ITHR_CD
|
|
|
- , CONTENTS_LOC
|
|
|
- , PLAN_DTL_SQ
|
|
|
- , REG_NO
|
|
|
- , REG_DT
|
|
|
- , UPD_NO
|
|
|
- , UPD_DT)
|
|
|
+ CART_GB
|
|
|
+ , GOODS_CD
|
|
|
+ , GOODS_QTY
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , JSESSION_ID
|
|
|
+ , CUST_NO
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT)
|
|
|
SELECT #{cartGb}
|
|
|
, GOODS_CD
|
|
|
- , #{goodsQty}
|
|
|
- , #{dealGoodsCd}
|
|
|
+ , #{goodsQty}
|
|
|
+ , #{dealGoodsCd}
|
|
|
, #{jsessionId}
|
|
|
, #{custNo}
|
|
|
, #{afLinkCd}
|
|
|
@@ -95,7 +102,7 @@
|
|
|
, #{contentsLoc}
|
|
|
, #{planDtlSq}
|
|
|
, #{regNo}
|
|
|
- , CURRENT_TIMESTAMP
|
|
|
+ , CURRENT_TIMESTAMP
|
|
|
, #{updNo}
|
|
|
, CURRENT_TIMESTAMP
|
|
|
FROM TB_GOODS
|
|
|
@@ -106,30 +113,30 @@
|
|
|
<insert id="insertCartDetailInfo" parameterType="Cart" keyProperty="cartDtlSq">
|
|
|
/* TsfCart.insertCartDetailInfo : 장바구니 상세 신규 등록 */
|
|
|
INSERT INTO TB_CART_DETAIL (
|
|
|
- CART_SQ
|
|
|
- , ITEM_CD
|
|
|
- , OPT_CD
|
|
|
- , OPT_CD1
|
|
|
- , OPT_CD2
|
|
|
- , SKU_MODEL_NO
|
|
|
- , PRODUCT_NO
|
|
|
- , PRODUCT_CODE
|
|
|
- , ITEM_QTY
|
|
|
- , DISP_ORD
|
|
|
- , REG_NO
|
|
|
- , REG_DT
|
|
|
- , UPD_NO
|
|
|
- , UPD_DT
|
|
|
+ CART_SQ
|
|
|
+ , ITEM_CD
|
|
|
+ , OPT_CD
|
|
|
+ , OPT_CD1
|
|
|
+ , OPT_CD2
|
|
|
+ , SKU_MODEL_NO
|
|
|
+ , PRODUCT_NO
|
|
|
+ , PRODUCT_CODE
|
|
|
+ , ITEM_QTY
|
|
|
+ , DISP_ORD
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
+ , UPD_NO
|
|
|
+ , UPD_DT
|
|
|
)
|
|
|
SELECT #{cartSq}
|
|
|
, IFNULL(GC.COMPS_GOODS_CD, G.GOODS_CD) <!-- 세트 상품이 아니면 원상품코드 -->
|
|
|
- , O.OPT_CD
|
|
|
- , O.OPT_CD1
|
|
|
- , O.OPT_CD2
|
|
|
- , O.SKU_MODEL_NO
|
|
|
- , O.PRODUCT_NO
|
|
|
- , O.PRODUCT_CODE
|
|
|
- , IFNULL(GC.QTY, 1)
|
|
|
+ , O.OPT_CD
|
|
|
+ , O.OPT_CD1
|
|
|
+ , O.OPT_CD2
|
|
|
+ , O.SKU_MODEL_NO
|
|
|
+ , O.PRODUCT_NO
|
|
|
+ , O.PRODUCT_CODE
|
|
|
+ , IFNULL(GC.QTY, 1)
|
|
|
, IFNULL(GC.DISP_ORD, 1) <!-- TB_GOODS_COMPOSE DISP_ORD 따라 CART_DETAIL도 동일하게 진행 -->
|
|
|
, #{regNo}
|
|
|
, CURRENT_TIMESTAMP
|
|
|
@@ -137,9 +144,9 @@
|
|
|
, CURRENT_TIMESTAMP
|
|
|
FROM TB_GOODS G
|
|
|
INNER JOIN TB_OPTION O
|
|
|
- ON G.GOODS_CD = O.GOODS_CD
|
|
|
+ ON G.GOODS_CD = O.GOODS_CD
|
|
|
LEFT OUTER JOIN TB_GOODS_COMPOSE GC <!-- 일반 상품 제외 확인 필요하여 join -->
|
|
|
- ON GC.COMPS_GOODS_CD = G.GOODS_CD
|
|
|
+ ON GC.COMPS_GOODS_CD = G.GOODS_CD
|
|
|
AND GC.GOODS_CD = #{goodsCd}
|
|
|
AND GC.COMPS_GOODS_CD = #{itemCd}
|
|
|
AND GC.GOODS_TYPE = 'G056_S' <!-- 세트 상품만 구성 상품 코드로 올림. deal 상품은 원상품코드로 올려야함 -->
|
|
|
@@ -156,21 +163,54 @@
|
|
|
ORDER BY GC.DISP_ORD
|
|
|
</insert>
|
|
|
|
|
|
- <!-- 장바구니 상세 UPDATE -->
|
|
|
+ <!-- 장바구니 UPDATE -->
|
|
|
<update id="updateCartInfo" parameterType="Cart">
|
|
|
- /* TsfCart.updateCartInfo : 장바구니 상세 UPDATE */
|
|
|
+ /* TsfCart.updateCartInfo : 장바구니 UPDATE */
|
|
|
UPDATE TB_CART SET
|
|
|
GOODS_QTY = GOODS_QTY + #{goodsQty}
|
|
|
- , DEAL_GOODS_CD = #{dealGoodsCd}
|
|
|
- , AF_LINK_CD = #{afLinkCd}
|
|
|
- , ITHR_CD = #{ithrCd}
|
|
|
- , CONTENTS_LOC = #{contentsLoc}
|
|
|
- , PLAN_DTL_SQ = #{planDtlSq}
|
|
|
+ , DEAL_GOODS_CD = #{dealGoodsCd}
|
|
|
+ , AF_LINK_CD = #{afLinkCd}
|
|
|
+ , ITHR_CD = #{ithrCd}
|
|
|
+ , CONTENTS_LOC = #{contentsLoc}
|
|
|
+ , PLAN_DTL_SQ = #{planDtlSq}
|
|
|
, UPD_NO = #{updNo}
|
|
|
, UPD_DT = CURRENT_TIMESTAMP
|
|
|
WHERE CART_SQ = #{cartSq}
|
|
|
- AND GOODS_CD = #{goodsCd}
|
|
|
- AND CUST_NO = #{custNo}
|
|
|
+ AND GOODS_CD = #{goodsCd}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 장바구니 UPDATE -->
|
|
|
+ <update id="updateCart" parameterType="Cart">
|
|
|
+ /* TsfCart.updateCart : 장바구니 UPDATE */
|
|
|
+ UPDATE TB_CART SET
|
|
|
+ GOODS_QTY = #{goodsQty}
|
|
|
+ , DEAL_GOODS_CD = #{dealGoodsCd}
|
|
|
+ , AF_LINK_CD = #{afLinkCd}
|
|
|
+ , ITHR_CD = #{ithrCd}
|
|
|
+ , CONTENTS_LOC = #{contentsLoc}
|
|
|
+ , PLAN_DTL_SQ = #{planDtlSq}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = CURRENT_TIMESTAMP
|
|
|
+ WHERE CART_SQ = #{cartSq}
|
|
|
+ AND GOODS_CD = #{goodsCd}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
+ </update>
|
|
|
+
|
|
|
+ <!-- 장바구니 상세 UPDATE -->
|
|
|
+ <update id="updateCartDetail" parameterType="Cart">
|
|
|
+ /* TsfCart.updateCartDetail : 장바구니 상세 UPDATE */
|
|
|
+ UPDATE TB_CART_DETAIL A, (SELECT GOODS_CD, OPT_CD1, OPT_CD2, SKU_MODEL_NO, PRODUCT_NO, PRODUCT_CODE FROM TB_OPTION WHERE GOODS_CD = #{itemCd} AND OPT_CD = #{optCd}) B SET
|
|
|
+ A.OPT_CD = #{optCd}
|
|
|
+ , A.OPT_CD1 = B.OPT_CD1
|
|
|
+ , A.OPT_CD2 = B.OPT_CD2
|
|
|
+ , A.SKU_MODEL_NO = B.SKU_MODEL_NO
|
|
|
+ , A.PRODUCT_NO = B.PRODUCT_NO
|
|
|
+ , A.PRODUCT_CODE = B.PRODUCT_CODE
|
|
|
+ , A.UPD_NO = #{updNo}
|
|
|
+ , A.UPD_DT = CURRENT_TIMESTAMP
|
|
|
+ WHERE A.CART_DTL_SQ = #{cartDtlSq}
|
|
|
+ AND A.ITEM_CD = B.GOODS_CD
|
|
|
</update>
|
|
|
|
|
|
<!-- 장바구니 이력 정보 저장 -->
|
|
|
@@ -193,7 +233,7 @@
|
|
|
SELECT C.CART_SQ
|
|
|
, C.CART_GB
|
|
|
, C.GOODS_CD
|
|
|
- , C.GOODS_QTY
|
|
|
+ , C.GOODS_QTY
|
|
|
, C.DEAL_GOODS_CD
|
|
|
, IFNULL(#{ordNo}, 0) AS ORD_NO
|
|
|
, C.CUST_NO
|
|
|
@@ -283,82 +323,82 @@
|
|
|
, COUNT(1) AS TMTB_CNT
|
|
|
FROM TB_TMTB_APPLY_GOODS TAG
|
|
|
INNER JOIN TB_CART C
|
|
|
- ON TAG.GOODS_CD = C.GOODS_CD
|
|
|
+ ON TAG.GOODS_CD = C.GOODS_CD
|
|
|
WHERE TAG.DEL_YN = 'N'
|
|
|
<if test="cartSqArr != null and cartSqArr.length > 0">
|
|
|
- AND C.CART_SQ IN
|
|
|
+ AND C.CART_SQ IN
|
|
|
<foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
GROUP BY TAG.TMTB_SQ) AS TAG2
|
|
|
- ON TAG.TMTB_SQ = TAG2.TMTB_SQ
|
|
|
+ ON TAG.TMTB_SQ = TAG2.TMTB_SQ
|
|
|
INNER JOIN TB_TMTB T
|
|
|
ON T.TMTB_SQ = TAG.TMTB_SQ
|
|
|
AND T.TMTB_STAT = 'G232_11' /*진행*/
|
|
|
INNER JOIN TB_GOODS G
|
|
|
ON C.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
- ON C.CART_SQ = CD.CART_SQ
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN (SELECT TAG.TMTB_SQ
|
|
|
, SUM((FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) + IFNULL(OP.ADD_PRICE, 0)) * C.GOODS_QTY) AS TMTB_SUM_AMT
|
|
|
, SUM(C.GOODS_QTY) AS TMTB_SUM_QTY
|
|
|
FROM TB_TMTB_APPLY_GOODS TAG
|
|
|
INNER JOIN TB_CART C
|
|
|
- ON TAG.GOODS_CD = C.GOODS_CD
|
|
|
+ ON TAG.GOODS_CD = C.GOODS_CD
|
|
|
INNER JOIN TB_GOODS G
|
|
|
- ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ ON C.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_TMTB T
|
|
|
- ON TAG.TMTB_SQ = T.TMTB_SQ
|
|
|
+ ON TAG.TMTB_SQ = T.TMTB_SQ
|
|
|
LEFT OUTER JOIN TB_TMTB_APPLY_GOODS NOT_APPLY
|
|
|
- ON TAG.GOODS_CD = NOT_APPLY.GOODS_CD
|
|
|
- AND TAG.TMTB_SQ = NOT_APPLY.TMTB_SQ
|
|
|
- AND NOT_APPLY.GOODS_GB = 'G800_30' /* 제외상품 */
|
|
|
+ ON TAG.GOODS_CD = NOT_APPLY.GOODS_CD
|
|
|
+ AND TAG.TMTB_SQ = NOT_APPLY.TMTB_SQ
|
|
|
+ AND NOT_APPLY.GOODS_GB = 'G800_30' /* 제외상품 */
|
|
|
LEFT OUTER JOIN (SELECT OP.ADD_PRICE
|
|
|
, C.CART_SQ
|
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
- ON C.CART_SQ = CD.CART_SQ
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN TB_OPTION OP
|
|
|
- ON C.GOODS_CD = OP.GOODS_CD
|
|
|
- AND CD.OPT_CD = OP.OPT_CD
|
|
|
+ ON C.GOODS_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD = OP.OPT_CD
|
|
|
WHERE 1=1) OP
|
|
|
- ON C.CART_SQ = OP.CART_SQ
|
|
|
+ ON C.CART_SQ = OP.CART_SQ
|
|
|
WHERE 1=1
|
|
|
- AND NOT_APPLY.TMTB_SQ IS NULL
|
|
|
- AND T.DEL_YN = 'N'
|
|
|
- AND TAG.DEL_YN = 'N'
|
|
|
- AND C.CART_GB = 'G026_BC'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND NOT_APPLY.TMTB_SQ IS NULL
|
|
|
+ AND T.DEL_YN = 'N'
|
|
|
+ AND TAG.DEL_YN = 'N'
|
|
|
+ AND C.CART_GB = 'G026_BC'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="cartSqArr != null and cartSqArr.length > 0">
|
|
|
- AND C.CART_SQ IN
|
|
|
+ AND C.CART_SQ IN
|
|
|
<foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
GROUP BY TAG.TMTB_SQ
|
|
|
) SUM_DATA
|
|
|
- ON T.TMTB_SQ = SUM_DATA.TMTB_SQ
|
|
|
+ ON T.TMTB_SQ = SUM_DATA.TMTB_SQ
|
|
|
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
|
|
|
+ ON CD.ITEM_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD1 = OP.OPT_CD1
|
|
|
+ AND CD.OPT_CD2 = OP.OPT_CD2
|
|
|
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' /* 제외상품 */
|
|
|
- AND NOT_APPLY.DEL_YN = 'N'
|
|
|
+ ON T.TMTB_SQ = NOT_APPLY.TMTB_SQ
|
|
|
+ AND C.GOODS_CD = NOT_APPLY.GOODS_CD
|
|
|
+ AND NOT_APPLY.GOODS_GB = 'G800_30' /* 제외상품 */
|
|
|
+ AND NOT_APPLY.DEL_YN = 'N'
|
|
|
WHERE 1=1
|
|
|
- AND NOT_APPLY.TMTB_SQ IS NULL
|
|
|
- AND T.DEL_YN = 'N'
|
|
|
- AND T.TMTB_ST_DT <![CDATA[<=]]> NOW()
|
|
|
- AND T.TMTB_ED_DT >= NOW()
|
|
|
- AND C.CART_GB = 'G026_BC'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND NOT_APPLY.TMTB_SQ IS NULL
|
|
|
+ AND T.DEL_YN = 'N'
|
|
|
+ AND T.TMTB_ST_DT <![CDATA[<=]]> NOW()
|
|
|
+ AND T.TMTB_ED_DT >= NOW()
|
|
|
+ AND C.CART_GB = 'G026_BC'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="cartSqArr != null and cartSqArr.length > 0">
|
|
|
- AND C.CART_SQ IN
|
|
|
+ AND C.CART_SQ IN
|
|
|
<foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
@@ -381,41 +421,41 @@
|
|
|
, SUM(C.GOODS_QTY) AS TMTB_SUM_QTY
|
|
|
FROM TB_TMTB_APPLY_GOODS TAG
|
|
|
INNER JOIN TB_CART C
|
|
|
- ON TAG.GOODS_CD = C.GOODS_CD
|
|
|
+ ON TAG.GOODS_CD = C.GOODS_CD
|
|
|
INNER JOIN TB_GOODS G
|
|
|
- ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ ON C.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_TMTB T
|
|
|
- ON TAG.TMTB_SQ = T.TMTB_SQ
|
|
|
+ ON TAG.TMTB_SQ = T.TMTB_SQ
|
|
|
LEFT OUTER JOIN TB_TMTB_APPLY_GOODS NOT_APPLY
|
|
|
- ON TAG.GOODS_CD = NOT_APPLY.GOODS_CD
|
|
|
- AND TAG.TMTB_SQ = NOT_APPLY.TMTB_SQ
|
|
|
- AND NOT_APPLY.GOODS_GB = 'G800_30' /* 제외상품 */
|
|
|
+ ON TAG.GOODS_CD = NOT_APPLY.GOODS_CD
|
|
|
+ AND TAG.TMTB_SQ = NOT_APPLY.TMTB_SQ
|
|
|
+ AND NOT_APPLY.GOODS_GB = 'G800_30' /* 제외상품 */
|
|
|
LEFT OUTER JOIN (SELECT OP.ADD_PRICE
|
|
|
, C.CART_SQ
|
|
|
- FROM TB_CART C
|
|
|
+ FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
- ON C.CART_SQ = CD.CART_SQ
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN TB_OPTION OP
|
|
|
- ON C.GOODS_CD = OP.GOODS_CD
|
|
|
- AND CD.OPT_CD = OP.OPT_CD
|
|
|
- WHERE 1=1
|
|
|
- ) OP
|
|
|
- ON C.CART_SQ = OP.CART_SQ
|
|
|
+ ON C.GOODS_CD = OP.GOODS_CD
|
|
|
+ AND CD.OPT_CD = OP.OPT_CD
|
|
|
+ WHERE 1=1
|
|
|
+ ) OP
|
|
|
+ ON C.CART_SQ = OP.CART_SQ
|
|
|
WHERE 1=1
|
|
|
- AND NOT_APPLY.TMTB_SQ IS NULL
|
|
|
- AND T.DEL_YN = 'N'
|
|
|
- AND TAG.DEL_YN = 'N'
|
|
|
- AND C.CART_GB = 'G026_BC'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND NOT_APPLY.TMTB_SQ IS NULL
|
|
|
+ AND T.DEL_YN = 'N'
|
|
|
+ AND TAG.DEL_YN = 'N'
|
|
|
+ AND C.CART_GB = 'G026_BC'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="tmtbSqs != null and tmtbSqs.length > 0">
|
|
|
- AND TAG.TMTB_SQ IN
|
|
|
+ AND TAG.TMTB_SQ IN
|
|
|
<foreach collection="tmtbSqs" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
<if test="cartSqArr != null and cartSqArr.length > 0">
|
|
|
- AND C.CART_SQ IN
|
|
|
+ AND C.CART_SQ IN
|
|
|
<foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
@@ -433,12 +473,12 @@
|
|
|
, TV.DC_VAL
|
|
|
FROM TB_TMTB_SECTION TC
|
|
|
INNER JOIN TB_TMTB_VAL TV
|
|
|
- ON TC.TMTB_SECTION_SQ = TV.TMTB_SECTION_SQ
|
|
|
+ ON TC.TMTB_SECTION_SQ = TV.TMTB_SECTION_SQ
|
|
|
WHERE 1=1
|
|
|
- AND TC.DEL_YN = 'N'
|
|
|
- AND TV.DEL_YN = 'N'
|
|
|
+ AND TC.DEL_YN = 'N'
|
|
|
+ AND TV.DEL_YN = 'N'
|
|
|
<if test="list != null and list.size() > 0">
|
|
|
- AND TC.TMTB_SQ IN
|
|
|
+ AND TC.TMTB_SQ IN
|
|
|
<foreach collection="list" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
@@ -459,140 +499,143 @@
|
|
|
, Z.CART_SQ
|
|
|
, Z.GOODS_CD
|
|
|
, Z.GOODS_NM
|
|
|
- , Z.BRAND_NM
|
|
|
- , Z.SUPPLY_COMP_NM
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
+ , Z.SUPPLY_COMP_NM
|
|
|
, Z.GOODS_QTY
|
|
|
, Z.GOODS_TYPE
|
|
|
, Z.SUPPLY_COMP_CD
|
|
|
, Z.DELV_FEE_CD
|
|
|
- , (Z.CURR_PRICE + Z.OPT_ADD_PRICE) * Z.GOODS_QTY AS CURR_PRICE
|
|
|
- , Z.SOLDOUT_YN
|
|
|
+ , (Z.CURR_PRICE + Z.OPT_ADD_PRICE) * Z.GOODS_QTY AS CURR_PRICE
|
|
|
+ , Z.SOLDOUT_YN
|
|
|
, CASE WHEN #{frontGb} = 'P' THEN (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_PRATE/100)
|
|
|
ELSE (Z.CURR_PRICE * Z.GOODS_QTY) * (Z.PNT_MRATE/100) END AS SAVE_PNT_AMT
|
|
|
- , GI.SYS_IMG_NM
|
|
|
+ , SYS_IMG_NM
|
|
|
FROM (SELECT C.CART_SQ
|
|
|
, C.GOODS_CD
|
|
|
, C.GOODS_QTY
|
|
|
, CD.ITEM_CD
|
|
|
, CD.OPT_CD
|
|
|
- , CD.ITEM_QTY
|
|
|
- , CD.CART_DTL_SQ
|
|
|
- , O.OPT_CD1
|
|
|
- , O.OPT_CD2
|
|
|
+ , CD.ITEM_QTY
|
|
|
+ , CD.CART_DTL_SQ
|
|
|
+ , O.OPT_CD1
|
|
|
+ , O.OPT_CD2
|
|
|
, G.GOODS_TYPE
|
|
|
, G.SUPPLY_COMP_CD
|
|
|
- , G.GOODS_NM
|
|
|
- , G.BRAND_CD
|
|
|
- , G.PNT_PRATE
|
|
|
+ , G.GOODS_NM
|
|
|
+ , G.BRAND_CD
|
|
|
+ , G.PNT_PRATE
|
|
|
, G.PNT_MRATE
|
|
|
- , STOCK.SOLDOUT_YN
|
|
|
- , FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) AS CURR_PRICE
|
|
|
- , IFNULL(O.ADD_PRICE, 0) AS OPT_ADD_PRICE
|
|
|
- , (SELECT BRAND_KNM FROM TB_BRAND WHERE BRAND_CD = G.BRAND_CD) AS BRAND_NM
|
|
|
- , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
|
|
|
+ , STOCK.SOLDOUT_YN
|
|
|
+ , FN_GET_APPLY_CPN1_PRICE(C.GOODS_CD, #{frontGb}) AS CURR_PRICE
|
|
|
+ , IFNULL(O.ADD_PRICE, 0) AS OPT_ADD_PRICE
|
|
|
+ , BR.BRAND_ENM
|
|
|
+ , BR.BRAND_KNM
|
|
|
+ , (SELECT SUPPLY_COMP_NM FROM TB_SUPPLY_COMPANY WHERE SUPPLY_COMP_CD = G.SUPPLY_COMP_CD) AS SUPPLY_COMP_NM
|
|
|
, (SELECT GOODS_NM FROM TB_GOODS WHERE GOODS_CD = CD.ITEM_CD) AS ITEM_NM
|
|
|
, CASE WHEN G.SELF_GOODS_YN = 'Y' THEN 'WMS'
|
|
|
ELSE DFP.DELV_FEE_CD END AS DELV_FEE_CD
|
|
|
+ , CASE WHEN G.GOODS_TYPE != 'G056_S' AND G.SELF_GOODS_YN = 'Y' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = CD.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
|
|
|
+ ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
|
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
- ON C.CART_SQ = CD.CART_SQ
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN TB_GOODS G
|
|
|
- ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND BR
|
|
|
+ ON G.BRAND_CD = BR.BRAND_CD
|
|
|
INNER JOIN TB_DELV_FEE_POLICY DFP
|
|
|
- ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
|
|
|
+ ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
|
|
|
INNER JOIN TB_OPTION O
|
|
|
- ON CD.ITEM_CD = O.GOODS_CD
|
|
|
- AND CD.OPT_CD = O.OPT_CD
|
|
|
+ ON CD.ITEM_CD = O.GOODS_CD
|
|
|
+ AND CD.OPT_CD = O.OPT_CD
|
|
|
INNER JOIN ( SELECT A.CART_SQ
|
|
|
, MIN(A.SOLDOUT_YN) AS SOLDOUT_YN
|
|
|
FROM (SELECT C.CART_SQ
|
|
|
- , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY > C.GOODS_QTY * GC.QTY THEN 'N'
|
|
|
+ , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY * GC.QTY THEN 'N'
|
|
|
ELSE 'Y' END AS SOLDOUT_YN
|
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
- ON C.CART_SQ = CD.CART_SQ
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN TB_GOODS G
|
|
|
- ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ ON C.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_GOODS_COMPOSE GC
|
|
|
- ON C.GOODS_CD = GC.GOODS_CD
|
|
|
- AND CD.ITEM_CD = GC.COMPS_GOODS_CD
|
|
|
+ ON C.GOODS_CD = GC.GOODS_CD
|
|
|
+ AND CD.ITEM_CD = GC.COMPS_GOODS_CD
|
|
|
INNER JOIN VW_STOCK VS
|
|
|
- ON CD.ITEM_CD = VS.GOODS_CD
|
|
|
- AND CD.OPT_CD = VS.OPT_CD
|
|
|
+ ON CD.ITEM_CD = VS.GOODS_CD
|
|
|
+ AND CD.OPT_CD = VS.OPT_CD
|
|
|
WHERE 1=1
|
|
|
- AND C.CART_GB = 'G026_BC'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND C.CART_GB = 'G026_BC'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="custNo == 0">
|
|
|
- AND C.CUST_NO = 0
|
|
|
- AND C.JSESSION_ID = #{jsessionId}
|
|
|
+ AND C.CUST_NO = 0
|
|
|
+ AND C.JSESSION_ID = #{jsessionId}
|
|
|
</if>
|
|
|
<if test="custNo != 0">
|
|
|
- AND C.CUST_NO = #{custNo}
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
</if>
|
|
|
UNION ALL
|
|
|
SELECT C.CART_SQ
|
|
|
- , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY > C.GOODS_QTY THEN 'N'
|
|
|
+ , CASE WHEN VS.SOLDOUT_YN = 'N' AND VS.CURR_STOCK_QTY >= C.GOODS_QTY THEN 'N'
|
|
|
ELSE 'Y' END AS SOLDOUT_YN
|
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_CART_DETAIL CD
|
|
|
- ON C.CART_SQ = CD.CART_SQ
|
|
|
+ ON C.CART_SQ = CD.CART_SQ
|
|
|
INNER JOIN TB_GOODS G
|
|
|
- ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ ON C.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN VW_STOCK VS
|
|
|
- ON C.GOODS_CD = VS.GOODS_CD
|
|
|
- AND CD.OPT_CD = VS.OPT_CD
|
|
|
+ ON C.GOODS_CD = VS.GOODS_CD
|
|
|
+ AND CD.OPT_CD = VS.OPT_CD
|
|
|
WHERE 1=1
|
|
|
- AND C.CART_GB = 'G026_BC'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND C.CART_GB = 'G026_BC'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
<if test="custNo == 0">
|
|
|
- AND C.CUST_NO = 0
|
|
|
- AND C.JSESSION_ID = #{jsessionId}
|
|
|
+ AND C.CUST_NO = 0
|
|
|
+ AND C.JSESSION_ID = #{jsessionId}
|
|
|
</if>
|
|
|
<if test="custNo != 0">
|
|
|
- AND C.CUST_NO = #{custNo}
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
</if>
|
|
|
- ) A
|
|
|
+ ) A
|
|
|
GROUP BY A.CART_SQ
|
|
|
) STOCK
|
|
|
- ON C.CART_SQ = STOCK.CART_SQ
|
|
|
+ ON C.CART_SQ = STOCK.CART_SQ
|
|
|
WHERE G.SELF_MALL_YN = 'Y'
|
|
|
- AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
<if test="custNo == 0">
|
|
|
- AND C.CUST_NO = 0
|
|
|
- AND C.JSESSION_ID = #{jsessionId}
|
|
|
+ AND C.CUST_NO = 0
|
|
|
+ AND C.JSESSION_ID = #{jsessionId}
|
|
|
</if>
|
|
|
<if test="custNo != 0">
|
|
|
- AND C.CUST_NO = #{custNo}
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
</if>
|
|
|
<if test="cartSqArr != null and cartSqArr.length > 0">
|
|
|
- AND C.CART_SQ IN
|
|
|
+ AND C.CART_SQ IN
|
|
|
<foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</if>
|
|
|
ORDER BY G.SUPPLY_COMP_CD ) 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.GOODS_CD
|
|
|
, Z.GOODS_QTY
|
|
|
, Z.GOODS_TYPE
|
|
|
, Z.SUPPLY_COMP_CD
|
|
|
, Z.GOODS_NM
|
|
|
- , Z.BRAND_NM
|
|
|
+ , Z.BRAND_ENM
|
|
|
+ , Z.BRAND_KNM
|
|
|
, Z.SUPPLY_COMP_NM
|
|
|
, Z.DELV_FEE_CD
|
|
|
- , Z.CURR_PRICE
|
|
|
- , Z.PNT_PRATE
|
|
|
+ , Z.CURR_PRICE
|
|
|
+ , Z.PNT_PRATE
|
|
|
, Z.PNT_MRATE
|
|
|
- , Z.OPT_ADD_PRICE
|
|
|
- , GI.SYS_IMG_NM
|
|
|
+ , Z.OPT_ADD_PRICE
|
|
|
+ , SYS_IMG_NM
|
|
|
ORDER BY Z.DELV_FEE_CD
|
|
|
- , Z.CART_SQ
|
|
|
+ , Z.CART_SQ DESC
|
|
|
</select>
|
|
|
|
|
|
<!-- 장바구니 업체별 배송비 -->
|
|
|
@@ -601,17 +644,17 @@
|
|
|
SELECT DFP.MIN_ORD_AMT
|
|
|
, DFP.DELV_FEE
|
|
|
, DFP.DELV_FEE_CRITE
|
|
|
- , DFP.DELV_FEE_CD
|
|
|
+ , DFP.DELV_FEE_CD
|
|
|
, COUNT(G.SUPPLY_COMP_CD) AS COMP_CNT
|
|
|
FROM TB_CART C
|
|
|
INNER JOIN TB_GOODS G
|
|
|
- ON C.GOODS_CD = G.GOODS_CD
|
|
|
+ ON C.GOODS_CD = G.GOODS_CD
|
|
|
INNER JOIN TB_DELV_FEE_POLICY DFP
|
|
|
- ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
|
|
|
- AND DFP.USE_YN = 'Y'
|
|
|
+ ON G.DELV_FEE_CD = DFP.DELV_FEE_CD
|
|
|
+ AND DFP.USE_YN = 'Y'
|
|
|
WHERE 1=1
|
|
|
- AND G.SELF_MALL_YN = 'Y'
|
|
|
- AND C.CART_SQ IN
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND C.CART_SQ IN
|
|
|
<foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
@@ -630,14 +673,24 @@
|
|
|
#{item}
|
|
|
</foreach>
|
|
|
</delete>
|
|
|
+
|
|
|
+ <!-- 장바구니 삭제 -->
|
|
|
+ <delete id="deleteCartDetail" parameterType="Cart">
|
|
|
+ <!-- TsfCart.deleteCartDetail : 장바구니 삭제 -->
|
|
|
+ DELETE FROM TB_CART_DETAIL
|
|
|
+ WHERE CART_SQ IN
|
|
|
+ <foreach collection="cartSqArr" item="item" index="index" open="(" close=")" separator=",">
|
|
|
+ #{item}
|
|
|
+ </foreach>
|
|
|
+ </delete>
|
|
|
|
|
|
<!-- 장바구니담긴상품 고객번호 Update -->
|
|
|
<update id="updateCartOfCustNo" parameterType="Cart">
|
|
|
/* TsfCart.updateCartOfCustNo */
|
|
|
UPDATE TB_CART
|
|
|
- SET CUST_NO = #{custNo}
|
|
|
- , UPD_NO = #{updNo}
|
|
|
- , UPD_DT = NOW()
|
|
|
+ SET CUST_NO = #{custNo}
|
|
|
+ , UPD_NO = #{updNo}
|
|
|
+ , UPD_DT = NOW()
|
|
|
WHERE JSESSION_ID = #{jsessionId}
|
|
|
</update>
|
|
|
|
|
|
@@ -645,57 +698,57 @@
|
|
|
<select id="getCartListAfterLogin" parameterType="Cart" resultType="Cart">
|
|
|
/* TsfCart.getCartListAfterLogin */
|
|
|
SELECT A.CART_GB
|
|
|
- , A.GOODS_CD
|
|
|
- , A.ITEM_OPTS
|
|
|
- , IFNULL(B.CART_SQ,A.CART_SQ) AS UPD_CART_SQ /*업데이트할 장바구니번호*/
|
|
|
- , CASE WHEN B.CART_SQ IS NOT NULL THEN
|
|
|
- A.CART_SQ
|
|
|
- ELSE
|
|
|
- 0
|
|
|
- END AS DEL_CART_SQ /*삭제할 장바구니번호(0이면 삭제할 장바구니번호 없음)*/
|
|
|
+ , A.GOODS_CD
|
|
|
+ , A.ITEM_OPTS
|
|
|
+ , IFNULL(B.CART_SQ,A.CART_SQ) AS UPD_CART_SQ /*업데이트할 장바구니번호*/
|
|
|
+ , CASE WHEN B.CART_SQ IS NOT NULL THEN
|
|
|
+ A.CART_SQ
|
|
|
+ ELSE
|
|
|
+ 0
|
|
|
+ END AS DEL_CART_SQ /*삭제할 장바구니번호(0이면 삭제할 장바구니번호 없음)*/
|
|
|
FROM (
|
|
|
- /*장바구니에 담을 상품 목록*/
|
|
|
- SELECT C.CART_SQ
|
|
|
- , C.CART_GB
|
|
|
- , C.GOODS_CD
|
|
|
- , GROUP_CONCAT(CONCAT(CD.ITEM_CD,':',CD.OPT_CD1,':',CD.OPT_CD2) ORDER BY CD.ITEM_CD, CD.OPT_CD1, CD.OPT_CD2 SEPARATOR ';') AS ITEM_OPTS
|
|
|
- FROM TB_CART C
|
|
|
- , TB_CART_DETAIL CD
|
|
|
- WHERE C.CART_SQ = CD.CART_SQ
|
|
|
- AND C.CUST_NO = #{custNo}
|
|
|
- AND C.JSESSION_ID = #{jsessionId}
|
|
|
- GROUP BY C.CART_SQ, C.CART_GB, C.GOODS_CD
|
|
|
- ) A
|
|
|
+ /*장바구니에 담을 상품 목록*/
|
|
|
+ SELECT C.CART_SQ
|
|
|
+ , C.CART_GB
|
|
|
+ , C.GOODS_CD
|
|
|
+ , GROUP_CONCAT(CONCAT(CD.ITEM_CD,':',CD.OPT_CD1,':',CD.OPT_CD2) ORDER BY CD.ITEM_CD, CD.OPT_CD1, CD.OPT_CD2 SEPARATOR ';') AS ITEM_OPTS
|
|
|
+ FROM TB_CART C
|
|
|
+ , TB_CART_DETAIL CD
|
|
|
+ WHERE C.CART_SQ = CD.CART_SQ
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
+ AND C.JSESSION_ID = #{jsessionId}
|
|
|
+ GROUP BY C.CART_SQ, C.CART_GB, C.GOODS_CD
|
|
|
+ ) A
|
|
|
LEFT OUTER JOIN (
|
|
|
- /*장바구니에 담긴 기존 상품 목록*/
|
|
|
- SELECT C.CART_SQ
|
|
|
- , C.CART_GB
|
|
|
- , C.GOODS_CD
|
|
|
- , GROUP_CONCAT(CONCAT(CD.ITEM_CD,':',CD.OPT_CD1,':',CD.OPT_CD2) ORDER BY CD.ITEM_CD, CD.OPT_CD1, CD.OPT_CD2 SEPARATOR ';') AS ITEM_OPTS
|
|
|
- FROM TB_CART C
|
|
|
- , TB_CART_DETAIL CD
|
|
|
- WHERE C.CART_SQ = CD.CART_SQ
|
|
|
- AND C.CUST_NO = #{custNo}
|
|
|
- AND C.JSESSION_ID <![CDATA[<>]]> #{jsessionId}
|
|
|
- GROUP BY C.CART_SQ, C.CART_GB, C.GOODS_CD
|
|
|
- ) B
|
|
|
- ON A.CART_GB = B.CART_GB
|
|
|
- AND A.GOODS_CD = B.GOODS_CD
|
|
|
- AND A.ITEM_OPTS = B.ITEM_OPTS
|
|
|
+ /*장바구니에 담긴 기존 상품 목록*/
|
|
|
+ SELECT C.CART_SQ
|
|
|
+ , C.CART_GB
|
|
|
+ , C.GOODS_CD
|
|
|
+ , GROUP_CONCAT(CONCAT(CD.ITEM_CD,':',CD.OPT_CD1,':',CD.OPT_CD2) ORDER BY CD.ITEM_CD, CD.OPT_CD1, CD.OPT_CD2 SEPARATOR ';') AS ITEM_OPTS
|
|
|
+ FROM TB_CART C
|
|
|
+ , TB_CART_DETAIL CD
|
|
|
+ WHERE C.CART_SQ = CD.CART_SQ
|
|
|
+ AND C.CUST_NO = #{custNo}
|
|
|
+ AND C.JSESSION_ID <![CDATA[<>]]> #{jsessionId}
|
|
|
+ GROUP BY C.CART_SQ, C.CART_GB, C.GOODS_CD
|
|
|
+ ) B
|
|
|
+ ON A.CART_GB = B.CART_GB
|
|
|
+ AND A.GOODS_CD = B.GOODS_CD
|
|
|
+ AND A.ITEM_OPTS = B.ITEM_OPTS
|
|
|
</select>
|
|
|
|
|
|
<!-- 로그인 후 장바구니 수정 -->
|
|
|
<update id="updateCartAfterLogin" parameterType="Cart">
|
|
|
/* TsfCart.updateCartAfterLogin */
|
|
|
UPDATE TB_CART
|
|
|
- SET GOODS_QTY = GOODS_QTY + IFNULL((SELECT A.GOODS_QTY
|
|
|
- FROM ( SELECT GOODS_QTY
|
|
|
+ SET GOODS_QTY = GOODS_QTY + IFNULL((SELECT A.GOODS_QTY
|
|
|
+ FROM ( SELECT GOODS_QTY
|
|
|
FROM TB_CART
|
|
|
WHERE CART_SQ = #{delCartSq}
|
|
|
AND CUST_NO = #{custNo} ) A
|
|
|
- ),0)
|
|
|
+ ),0)
|
|
|
WHERE CART_SQ = #{updCartSq}
|
|
|
- AND CUST_NO = #{custNo}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
</update>
|
|
|
|
|
|
<!-- 로그인 후 장바구니단품 삭제 -->
|
|
|
@@ -703,10 +756,10 @@
|
|
|
/* TsfCart.deleteCartItemAfterLogin */
|
|
|
DELETE FROM TB_CART_DETAIL
|
|
|
WHERE CART_SQ IN (SELECT CART_SQ
|
|
|
- FROM TB_CART
|
|
|
- WHERE CART_SQ = #{delCartSq}
|
|
|
- AND CUST_NO = #{custNo}
|
|
|
- )
|
|
|
+ FROM TB_CART
|
|
|
+ WHERE CART_SQ = #{delCartSq}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
+ )
|
|
|
</delete>
|
|
|
|
|
|
<!-- 로그인 후 장바구니 삭제 -->
|
|
|
@@ -714,42 +767,184 @@
|
|
|
/* TsfCart.deleteCartAfterLogin */
|
|
|
DELETE FROM TB_CART
|
|
|
WHERE CART_SQ = #{delCartSq}
|
|
|
- AND CUST_NO = #{custNo}
|
|
|
+ AND CUST_NO = #{custNo}
|
|
|
</delete>
|
|
|
|
|
|
<!-- 로그인 후 장바구니이력 생성 -->
|
|
|
<update id="createCartHistoryAfterLogin" parameterType="Cart">
|
|
|
/* TsfCart.createCartHistoryAfterLogin */
|
|
|
INSERT INTO TB_CART_HST (
|
|
|
- CART_SQ
|
|
|
- , CART_GB
|
|
|
- , GOODS_CD
|
|
|
- , GOODS_QTY
|
|
|
- , DEAL_GOODS_CD
|
|
|
- , ORD_NO
|
|
|
- , CUST_NO
|
|
|
- , AF_LINK_CD
|
|
|
- , ITHR_CD
|
|
|
- , CONTENTS_LOC
|
|
|
- , PLAN_DTL_SQ
|
|
|
- , REG_NO
|
|
|
- , REG_DT
|
|
|
+ CART_SQ
|
|
|
+ , CART_GB
|
|
|
+ , GOODS_CD
|
|
|
+ , GOODS_QTY
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , ORD_NO
|
|
|
+ , CUST_NO
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , REG_NO
|
|
|
+ , REG_DT
|
|
|
)
|
|
|
SELECT CART_SQ
|
|
|
- , CART_GB
|
|
|
- , GOODS_CD
|
|
|
- , GOODS_QTY
|
|
|
- , DEAL_GOODS_CD
|
|
|
- , 0
|
|
|
- , CUST_NO
|
|
|
- , AF_LINK_CD
|
|
|
- , ITHR_CD
|
|
|
- , CONTENTS_LOC
|
|
|
- , PLAN_DTL_SQ
|
|
|
- , #{regNo}
|
|
|
- , NOW()
|
|
|
+ , CART_GB
|
|
|
+ , GOODS_CD
|
|
|
+ , GOODS_QTY
|
|
|
+ , DEAL_GOODS_CD
|
|
|
+ , 0
|
|
|
+ , CUST_NO
|
|
|
+ , AF_LINK_CD
|
|
|
+ , ITHR_CD
|
|
|
+ , CONTENTS_LOC
|
|
|
+ , PLAN_DTL_SQ
|
|
|
+ , #{regNo}
|
|
|
+ , NOW()
|
|
|
FROM TB_CART C
|
|
|
WHERE CART_SQ = #{updCartSq}
|
|
|
</update>
|
|
|
-
|
|
|
+
|
|
|
+ <!-- 장바구니 상품 정보 조회 -->
|
|
|
+ <select id="selectCartGoodsInfo" parameterType="Cart" resultType="Cart">
|
|
|
+ /* TsfCart.selectCartGoodsInfo : 장바구니 상품 마스터 정보 조회 */
|
|
|
+ SELECT G.GOODS_CD
|
|
|
+ , G.GOODS_TYPE
|
|
|
+ , G.GOODS_NM
|
|
|
+ , BR.BRAND_ENM
|
|
|
+ , BR.BRAND_KNM
|
|
|
+ , CA.CART_SQ
|
|
|
+ , CA.GOODS_QTY
|
|
|
+ , G.SELF_GOODS_YN
|
|
|
+ FROM TB_CART CA
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON CA.GOODS_CD = G.GOODS_CD
|
|
|
+ INNER JOIN TB_BRAND BR
|
|
|
+ ON G.BRAND_CD = BR.BRAND_CD
|
|
|
+ WHERE CA.CART_SQ = #{cartSq}
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니 세트 구성 상품 정보 조회 -->
|
|
|
+ <select id="selectCartSetGoodsInfo" parameterType="Cart" resultType="Cart">
|
|
|
+ /* TsfCart.selectCartSetGoodsInfo : 장바구니 세트 구성 상품 정보 조회 */
|
|
|
+ SELECT GC.COMPS_GOODS_CD AS GOODS_CD
|
|
|
+ , GC.DISP_ORD
|
|
|
+ , GC.QTY
|
|
|
+ , CD.CART_DTL_SQ
|
|
|
+ , CD.ITEM_CD
|
|
|
+ , CD.OPT_CD
|
|
|
+ , CD.OPT_CD1
|
|
|
+ , CD.OPT_CD2
|
|
|
+ , G.SELF_GOODS_YN
|
|
|
+ , G.GOODS_NM
|
|
|
+ FROM TB_CART CA
|
|
|
+ INNER JOIN TB_CART_DETAIL CD
|
|
|
+ ON CA.CART_SQ = CD.CART_SQ
|
|
|
+ INNER JOIN TB_GOODS_COMPOSE GC
|
|
|
+ ON CA.GOODS_CD = GC.GOODS_CD
|
|
|
+ AND CD.ITEM_CD = GC.COMPS_GOODS_CD
|
|
|
+ INNER JOIN TB_GOODS G
|
|
|
+ ON GC.COMPS_GOODS_CD = G.GOODS_CD
|
|
|
+ WHERE 1=1
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND GC.USE_YN = 'Y'
|
|
|
+ AND GC.GOODS_CD = #{goodsCd}
|
|
|
+ AND CA.CART_SQ = #{cartSq}
|
|
|
+ ORDER BY CA.GOODS_CD, GC.COMPS_GOODS_CD, GC.DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니 상품 컬러 정보 조회 -->
|
|
|
+ <select id="selectCartGoodsColorList" parameterType="Cart" resultType="Cart">
|
|
|
+ /* TsfCart.selectCartGoodsColorList : 장바구니 상품 컬러 정보 조회 */
|
|
|
+ SELECT ST.GOODS_CD
|
|
|
+ , CASE WHEN SELF_GOODS_YN = 'Y' THEN (SELECT COLOR_KNM FROM TB_COLOR WHERE COLOR_CD = ST.OPT_CD1)
|
|
|
+ ELSE ST.OPT_CD1 END AS COLOR_NM
|
|
|
+ , CASE WHEN SELF_GOODS_YN = 'Y' AND GOODS_TYPE != 'G056_S' THEN (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = ST.GOODS_CD AND COLOR_CD = ST.OPT_CD1 AND DEFAULT_IMG_YN = 'Y' LIMIT 1)
|
|
|
+ ELSE (SELECT SYS_IMG_NM FROM TB_GOODS_IMG WHERE GOODS_CD = G.GOODS_CD AND COLOR_CD = G.MAIN_COLOR_CD AND DEFAULT_IMG_YN = 'Y' LIMIT 1) END AS SYS_IMG_NM
|
|
|
+ , ST.OPT_CD1
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ , MAX(CD.CART_DTL_SQ) AS CART_DTL_SQ
|
|
|
+ , MAX(ST.DISP_ORD) AS DISP_ORD
|
|
|
+ , MAX(CD.OPT_CD1) AS CART_OPT_CD1
|
|
|
+ , IFNULL(MAX( CASE WHEN SELF_GOODS_YN = 'Y' THEN (SELECT COLOR_KNM FROM TB_COLOR WHERE COLOR_CD = CD.OPT_CD1)
|
|
|
+ ELSE CD.OPT_CD1 END), MAX(CD.OPT_CD1)) AS CART_COLOR_NM
|
|
|
+ FROM TB_GOODS G
|
|
|
+ INNER JOIN VW_STOCK ST
|
|
|
+ ON G.GOODS_CD = ST.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_CART_DETAIL CD
|
|
|
+ ON G.GOODS_CD = CD.ITEM_CD
|
|
|
+ AND ST.OPT_CD = CD.OPT_CD
|
|
|
+ AND CD.CART_SQ = #{cartSq}
|
|
|
+ WHERE ST.DISP_YN = 'Y'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND G.GOODS_CD = #{goodsCd}
|
|
|
+ GROUP BY ST.GOODS_CD
|
|
|
+ , ST.OPT_CD1
|
|
|
+ , G.MAIN_COLOR_CD
|
|
|
+ ORDER BY DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니 상품 사이즈 정보 조회 -->
|
|
|
+ <select id="selectCartGoodsSizeList" parameterType="Cart" resultType="Cart">
|
|
|
+ /* TsfCart.selectCartGoodsSizeList : 장바구니 상품 사이즈 정보 조회 */
|
|
|
+ SELECT ST.GOODS_CD
|
|
|
+ , ST.OPT_CD
|
|
|
+ , ST.OPT_CD1
|
|
|
+ , ST.OPT_CD2
|
|
|
+ , ST.CURR_STOCK_QTY
|
|
|
+ , ST.SOLDOUT_YN
|
|
|
+ , CD.OPT_CD AS CART_OPT_CD
|
|
|
+ FROM TB_GOODS G
|
|
|
+ INNER JOIN VW_STOCK ST
|
|
|
+ ON G.GOODS_CD = ST.GOODS_CD
|
|
|
+ LEFT OUTER JOIN TB_CART_DETAIL CD
|
|
|
+ ON G.GOODS_CD = CD.ITEM_CD
|
|
|
+ AND ST.OPT_CD = CD.OPT_CD
|
|
|
+ AND CD.CART_SQ = #{cartSq}
|
|
|
+ WHERE 1=1
|
|
|
+ AND G.GOODS_CD = #{goodsCd}
|
|
|
+ <if test="optCd1 != null and optCd1 != ''">
|
|
|
+ AND ST.OPT_CD1 = #{optCd1}
|
|
|
+ </if>
|
|
|
+ AND ST.DISP_YN = 'Y'
|
|
|
+ AND G.SELF_MALL_YN = 'Y'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ ORDER BY ST.DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니 자사 일반 및 딜 상품 이미지 리스트 조회 -->
|
|
|
+ <select id="selectCartSelfGoodsOptionImgList" parameterType="Cart" resultType="GoodsImg">
|
|
|
+ /* TsfCart.selectCartSelfGoodsOptionImgList : 장바구니 자사 상품 이미지 리스트 조회 */
|
|
|
+ SELECT GI.GOODS_CD
|
|
|
+ , GI.COLOR_CD
|
|
|
+ , GI.SYS_IMG_NM
|
|
|
+ FROM TB_GOODS G
|
|
|
+ INNER JOIN TB_GOODS_IMG GI
|
|
|
+ ON G.GOODS_CD = GI.GOODS_CD
|
|
|
+ WHERE G.SELF_MALL_YN = 'Y'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND GI.GOODS_CD = #{goodsCd}
|
|
|
+ AND GI.COLOR_CD = #{optCd1}
|
|
|
+ ORDER BY GI.DISP_ORD
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 장바구니 세트 & 입점업체 상품 이미지 리스트 조회 -->
|
|
|
+ <select id="selectCartDelvGoodsOptionImgList" parameterType="Cart" resultType="GoodsImg">
|
|
|
+ /* TsfCart.selectCartDelvGoodsOptionImgList : 장바구니 입점업체 상품 이미지 리스트 조회 */
|
|
|
+ SELECT GI.GOODS_CD
|
|
|
+ , GI.COLOR_CD
|
|
|
+ , GI.SYS_IMG_NM
|
|
|
+ FROM TB_GOODS G
|
|
|
+ INNER JOIN TB_GOODS_IMG GI
|
|
|
+ ON G.GOODS_CD = GI.GOODS_CD
|
|
|
+ AND G.MAIN_COLOR_CD = GI.COLOR_CD
|
|
|
+ WHERE G.SELF_MALL_YN = 'Y'
|
|
|
+ AND G.GOODS_STAT = 'G008_90'
|
|
|
+ AND GI.GOODS_CD = #{goodsCd}
|
|
|
+ ORDER BY GI.DISP_ORD
|
|
|
+ </select>
|
|
|
</mapper>
|