|
|
@@ -399,6 +399,29 @@
|
|
|
WHERE PLAN_SQ = #{planSq}
|
|
|
</select>
|
|
|
|
|
|
+ <!-- 고객등급접근가능리스트 -->
|
|
|
+ <select id="getFrontAccessibleList" parameterType="Plan" resultType="String">
|
|
|
+ /* TsfPlanning.getFrontAccessibleList */
|
|
|
+ SELECT CASE FRONT_GB WHEN 'P' THEN 'PC웹'
|
|
|
+ WHEN 'P|M' THEN 'PC웹, 모바일웹'
|
|
|
+ WHEN 'P|M|A' THEN 'PC웹, 모바일웹, 모바일앱'
|
|
|
+ WHEN 'M' THEN '모바일웹'
|
|
|
+ WHEN 'M|A' THEN '모바일웹, 모바일앱'
|
|
|
+ WHEN 'A' THEN '모바일앱'
|
|
|
+ WHEN 'P|A' THEN 'PC웹, 모바일앱'
|
|
|
+ END AS FRONT_GB
|
|
|
+ FROM tb_plan
|
|
|
+ WHERE PLAN_SQ = #{planSq}
|
|
|
+ </select>
|
|
|
+
|
|
|
+ <!-- 비회원 접근 조회 -->
|
|
|
+ <select id="getNonmemberGradeAccessible" parameterType="Plan" resultType="int">
|
|
|
+ /* TsfPlanning.getCustomerGubunAccessibleYn */
|
|
|
+ SELECT count(*)
|
|
|
+ FROM TB_PLAN_CUST_GRADE
|
|
|
+ WHERE PLAN_SQ = #{planSq}
|
|
|
+ </select>
|
|
|
+
|
|
|
<!-- 고객등급접근가능여부 조회 -->
|
|
|
<select id="getCustomerGradeAccessibleYn" parameterType="Plan" resultType="String">
|
|
|
/* TsfPlanning.getCustomerGradeAccessibleYn */
|
|
|
@@ -729,67 +752,64 @@
|
|
|
|
|
|
<select id="getPlanCouponInfo" parameterType="Coupon" resultType="Coupon">
|
|
|
/* TsfPlanning.getPlanCouponInfo*/
|
|
|
- SELECT F.*
|
|
|
- <if test="planSq != null and planSq != ''">
|
|
|
- ,(CASE F.CPN_ID WHEN (SELECT CPN_ID FROM TB_CUST_COUPON C WHERE C.CPN_ID = F.CPN_ID AND CUST_NO = #{custNo})THEN '받기완료'
|
|
|
- ELSE '쿠폰받기' END ) AS COUPON_STAT
|
|
|
+ SELECT C.CPN_ID
|
|
|
+ ,C.CPN_NM
|
|
|
+ ,C.CPN_DESC
|
|
|
+ ,C.CPN_TYPE
|
|
|
+ ,C.BUY_LIMIT_AMT
|
|
|
+ ,C.CUST_PUB_LIMIT_QTY
|
|
|
+ ,C.TOT_PUB_LIMIT_QTY
|
|
|
+ ,C.MAX_DC_AMT
|
|
|
+ ,PC.NOTE
|
|
|
+ ,PC.TITLE
|
|
|
+ , CONCAT(CASE WHEN C.BUY_LIMIT_AMT = 0 THEN ''
|
|
|
+ ELSE CONCAT(FORMAT(C.BUY_LIMIT_AMT , 0),'원 이상 구매 시 ')
|
|
|
+ END
|
|
|
+ ,CASE WHEN C.MAX_DC_AMT = 0 THEN ''
|
|
|
+ ELSE CONCAT('최대 ',FORMAT(C.MAX_DC_AMT , 0),'원 할인')
|
|
|
+ END) AS USE_CONDITION /*사용조건*/
|
|
|
+ , CASE WHEN C.CUST_PUB_LIMIT_QTY = 0 THEN ''
|
|
|
+ ELSE CONCAT('1인 최대 ',C.CUST_PUB_LIMIT_QTY,'매')
|
|
|
+ END AS ISSUE_CONDITION /*발급수량*/
|
|
|
+ ,CASE WHEN #{frontGb} = 'P' THEN C.DC_PVAL
|
|
|
+ WHEN #{frontGb} = 'M' THEN C.DC_MVAL
|
|
|
+ WHEN #{frontGb} = 'A' THEN C.DC_AVAL
|
|
|
+ ELSE C.DC_AVAL
|
|
|
+ END AS DC_VAL
|
|
|
+ ,CASE WHEN C.DC_WAY = 'G240_10' THEN '원'
|
|
|
+ ELSE '%'
|
|
|
+ END AS DC_WAY /*할인방법*/
|
|
|
+ ,C.PD_GB
|
|
|
+ ,IF (C.PD_GB = 'D', NOW(), C.AVAIL_STDT) AS AVAIL_STDT
|
|
|
+ ,IF (C.PD_GB = 'D', CONCAT(CURRENT_DATE + INTERVAL C.AVAIL_DAYS DAY, ' 23:59:59'), C.AVAIL_EDDT) AS AVAIL_EDDT
|
|
|
+ ,(CASE WHEN CC.CPN_ID IS NULL THEN '쿠폰받기' ELSE '받기완료' END ) AS COUPON_STAT
|
|
|
+ FROM TB_PLAN_CONTENTS PC
|
|
|
+ INNER JOIN TB_PLAN_CONTENTS_ITEM PCI ON PC.PLAN_CONT_SQ = PCI.PLAN_CONT_SQ
|
|
|
+ INNER JOIN TB_COUPON C ON PCI.ITEM_VAL = C.CPN_ID
|
|
|
+ LEFT JOIN TB_CUST_COUPON CC ON C.CPN_ID = CC.CPN_ID
|
|
|
+ WHERE 1=1
|
|
|
+ AND C.CPN_STAT = 'G232_11'
|
|
|
+ AND C.SITE_CD = #{siteCd}
|
|
|
+ AND C.DOWN_ABL_YN = 'N'
|
|
|
+ AND NOW() BETWEEN C.DOWN_STDT AND C.DOWN_EDDT
|
|
|
+ AND NOW() <![CDATA[<=]]> IF (C.PD_GB = 'D', CONCAT(CURRENT_DATE + INTERVAL C.AVAIL_DAYS DAY, ' 23:59:59'), C.AVAIL_EDDT)
|
|
|
+ AND (CASE WHEN 'P' = 'P' THEN C.DC_PVAL
|
|
|
+ WHEN 'M' = 'P' THEN C.DC_MVAL
|
|
|
+ ELSE C.DC_AVAL END) > 0 -- PC, MOBILE,APP 별로 0 보다 큰 쿠폰
|
|
|
+ AND PC.PLAN_SQ = #{planSq}
|
|
|
+ AND PC.DISP_YN ='Y'
|
|
|
+ AND IF (C.TOT_PUB_LIMIT_QTY = 0, 9999999999,C.TOT_PUB_LIMIT_QTY) > (SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = C.CPN_ID) -- 총발행제한수
|
|
|
+ <if test="custNo != null and custNo > 0">
|
|
|
+ AND IF (C.CUST_PUB_LIMIT_QTY = 0, 9999999999,C.CUST_PUB_LIMIT_QTY) > (SELECT COUNT(1) FROM TB_CUST_COUPON WHERE CPN_ID = C.CPN_ID AND CUST_NO= #{custNo}) -- 고객당발행제한수량
|
|
|
</if>
|
|
|
- FROM
|
|
|
- (
|
|
|
- SELECT PC.PLAN_CONT_SQ
|
|
|
- , PC.PLAN_SQ
|
|
|
- , PC.TMPL_TYPE
|
|
|
- , PC.TITLE
|
|
|
- , PC.LINK_URL
|
|
|
- , PC.NOTE
|
|
|
- , PCI.ITEM_VAL
|
|
|
- , PCI.DISP_ORD
|
|
|
- , TC.CPN_ID
|
|
|
- , TC.CPN_NM
|
|
|
- , TC.CPN_DESC
|
|
|
- , TC.SITE_CD
|
|
|
- , TC.AF_LINK_CD
|
|
|
- , TC.CPN_TYPE
|
|
|
- , TC.APPLY_SCOPE
|
|
|
- ,(CASE TC.DC_WAY WHEN 'G240_10' THEN '할인금액'
|
|
|
- WHEN 'G240_11' THEN '할인율' END) AS DC_WAY
|
|
|
- , TC.DC_PVAL
|
|
|
- , TC.DC_MVAL
|
|
|
- , TC.DC_AVAL
|
|
|
- , TC.MAX_DC_AMT
|
|
|
- , TC.PD_GB, AVAIL_STDT
|
|
|
- , TC.AVAIL_EDDT
|
|
|
- , TC.AVAIL_DAYS
|
|
|
- , TC.CUST_PUB_LIMIT_QTY
|
|
|
- , TC.TOT_PUB_LIMIT_QTY
|
|
|
- , TC.ONE_PUB_QTY
|
|
|
- , TC.DN_GB
|
|
|
- , TC.DOWN_STDT
|
|
|
- , TC.DOWN_EDDT
|
|
|
- , TC.BUY_LIMIT_AMT
|
|
|
- , TC.REISSUANCE
|
|
|
- , TC.CPN_STAT
|
|
|
- , TC.END_ALIM_YN
|
|
|
- , TC.FIRST_ORD_YN
|
|
|
- , TC.DOWN_ABL_YN
|
|
|
- , TC.DC_CD_GB
|
|
|
- , TC.CUST_JOIN_STDT
|
|
|
- , TC.CUST_JOIN_EDDT
|
|
|
- , TC.BUY_STDT
|
|
|
- , TC.BUY_EDDT
|
|
|
- , TC.NEW_CUST_YN
|
|
|
- FROM TB_PLAN_CONTENTS PC INNER JOIN TB_PLAN_CONTENTS_ITEM PCI ON PC.PLAN_CONT_SQ = PCI.PLAN_CONT_SQ
|
|
|
- INNER JOIN TB_COUPON TC ON PCI.ITEM_VAL = TC.CPN_ID
|
|
|
- WHERE 1=1
|
|
|
- <if test="planSq != null and planSq != ''">
|
|
|
- AND PC.PLAN_SQ = #{planSq}
|
|
|
- </if>
|
|
|
- AND PC.TMPL_TYPE = 'G082_20'
|
|
|
- AND PC.DISP_YN ='Y'
|
|
|
- AND NOW() BETWEEN TC.AVAIL_STDT AND TC.AVAIL_EDDT
|
|
|
- AND NOW() BETWEEN TC.DOWN_STDT AND TC.DOWN_EDDT
|
|
|
- )F
|
|
|
-
|
|
|
+ GROUP BY C.CPN_ID
|
|
|
+ ,C.CPN_NM
|
|
|
+ ,C.CPN_DESC
|
|
|
+ ,C.CPN_TYPE
|
|
|
+ ,C.BUY_LIMIT_AMT
|
|
|
+ ,C.CUST_PUB_LIMIT_QTY
|
|
|
+ ,C.TOT_PUB_LIMIT_QTY
|
|
|
+ ,C.MAX_DC_AMT
|
|
|
</select>
|
|
|
|
|
|
<select id="getPlanImageInfo" parameterType="Plan" resultType="Plan">
|