|
|
@@ -775,7 +775,7 @@
|
|
|
, Z.AVAIL_EDDT /*유효종료일자*/
|
|
|
, Z.CPN_CNT /*보유쿠폰수*/
|
|
|
, Z.EXPIRE_YN /*만료여부*/
|
|
|
- , GROUP_CONCAT(Z.TGT_CONDITION) AS TGT_CONDITION
|
|
|
+ -- , GROUP_CONCAT(Z.TGT_CONDITION) AS TGT_CONDITION
|
|
|
FROM
|
|
|
(
|
|
|
WITH TAB_COUPON AS (
|
|
|
@@ -813,9 +813,9 @@
|
|
|
END) AS EXPIRE_YN /*만료여부*/
|
|
|
FROM TB_CUST_COUPON CC
|
|
|
WHERE 1 = 1
|
|
|
- <if test="planCouponStat == null and planCouponStat == ''">
|
|
|
+ <!-- <if test="planCouponStat == null and planCouponStat == ''"> -->
|
|
|
AND CC.CUST_NO = #{custNo}
|
|
|
- </if>
|
|
|
+ <!-- </if> -->
|
|
|
AND CC.USED_DT IS NULL /*사용하지않은쿠폰만*/
|
|
|
AND CC.AVAIL_EDDT >= DATE_ADD(NOW(), INTERVAL -3 MONTH) /*최근3개월쿠폰만*/
|
|
|
GROUP BY CC.CPN_ID, DATE_FORMAT(CC.AVAIL_STDT,'%Y.%m.%d %H:%i'), DATE_FORMAT(CC.AVAIL_EDDT,'%Y.%m.%d %H:%i')
|
|
|
@@ -1099,5 +1099,64 @@
|
|
|
AND CP.SITE_CD = #{siteCd}
|
|
|
AND CP.CPN_STAT = 'G232_11'
|
|
|
</select>
|
|
|
+
|
|
|
+ <select id="getQuickCouponDownList" parameterType="Coupon" resultType="Coupon">
|
|
|
+ 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
|
|
|
+ , 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
|
|
|
+ FROM TB_COUPON C
|
|
|
+ WHERE 1=1
|
|
|
+ AND C.CPN_STAT = 'G232_11'
|
|
|
+ <if test="cpnId != null and cpnId != ''">
|
|
|
+ AND C.CPN_ID = #{cpnId}
|
|
|
+ </if>
|
|
|
+ AND C.SITE_CD = #{siteCd}
|
|
|
+ AND C.CPN_TYPE IN ('G230_20','G230_30')
|
|
|
+ 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 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 AND CUST_NO= #{custNo}) -- 총발행제한수
|
|
|
+ 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}) -- 고객당발행제한수량
|
|
|
+ AND (SELECT COUNT(1)
|
|
|
+ FROM TB_COUPON_CUST_GBN
|
|
|
+ WHERE CPN_ID = C.CPN_ID
|
|
|
+ AND USABLE_CUST_GB IN (#{custGb}) -- 사용가능고객구분
|
|
|
+ ) <![CDATA[>=]]> 1
|
|
|
+ AND (SELECT COUNT(1)
|
|
|
+ FROM TB_COUPON_CUST_GRADE
|
|
|
+ WHERE CPN_ID = C.CPN_ID
|
|
|
+ AND USABLE_CUST_GRADE IN (#{custGrade}) -- 사용가능고객구분
|
|
|
+ ) <![CDATA[>=]]> 1
|
|
|
+ ORDER BY C.AVAIL_EDDT,
|
|
|
+ CASE WHEN DC_WAY LIKE '%' THEN DC_VAL END DESC LIMIT 10
|
|
|
+ </select>
|
|
|
|
|
|
</mapper>
|