jsshin 5 лет назад
Родитель
Сommit
cff926e864
1 измененных файлов с 23 добавлено и 7 удалено
  1. 23 7
      src/main/java/com/style24/persistence/mybatis/shop/TsbCustomer.xml

+ 23 - 7
src/main/java/com/style24/persistence/mybatis/shop/TsbCustomer.xml

@@ -267,7 +267,7 @@
 		WHERE CUST_NO = #{custNo}
 	</delete>
 
-	<!--개인정보 이용내역 안내(가입일로부터 1년 시점에 발송) 대상-->
+	<!--개인정보 이용내역 안내(년 1회) 대상-->
 	<select id="getPrivacyPolicyNoticeTargetList" parameterType="CustomerSearch" resultType="Customer">
 		/*TsbCustomerDao.getPrivacyPolicyNoticeTargetList*/
 		SELECT  C.CUST_NO
@@ -278,12 +278,10 @@
 		      , DATEDIFF(NOW(), C.JOIN_DT) AS DIFF_JOIN_DT
 		FROM    TB_CUSTOMER C
 		WHERE   C.CUST_STAT = 'G104_10' -- 활동회원
-		AND     C.JOIN_DT >= DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL -365  DAY), '%Y%m%d%H%i%S')
-		AND     C.JOIN_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL -364 DAY), '%Y%m%d%H%i%S')
 		AND     C.SITE_CD = #{siteCd}
 	</select>
 
-	<!--마케팅 정보 수신자 / 가입일로부터 2년 시점에 발송 대상-->
+	<!--마케팅 정보 수신자 / 가입일로부터 2년 마다-->
 	<select id="getMarketingAgreeNoticeTargetList" parameterType="CustomerSearch" resultType="Customer">
 		/*TsbCustomerDao.getPrivacyPolicyNoticeTargetList*/
 		SELECT  C.CUST_NO
@@ -298,8 +296,6 @@
 		      , C.MK_AGREE_DT
 		FROM    TB_CUSTOMER C
 		WHERE   C.CUST_STAT = 'G104_10' -- 활동회원
-		AND     C.JOIN_DT >= DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL  -365*2  DAY), '%Y%m%d%H%i%S')
-		AND     C.JOIN_DT <![CDATA[<]]> DATE_FORMAT(DATE_ADD(CURRENT_DATE(), INTERVAL -364*2 DAY), '%Y%m%d%H%i%S')
 		AND    (C.SMS_AGREE_YN = 'Y' OR C.EMAIL_AGREE_YN = 'Y' OR C.APP_AGREE_YN = 'Y' OR C.MK_AGREE_YN = 'Y')
 		AND     C.SITE_CD = #{siteCd}
 	</select>
@@ -587,10 +583,13 @@
 	</insert>
 
 	<!--생일쿠폰 다운로드 안내 대상자-->
-	<select id="getBirthDayTargetList" parameterType="CustomerSearch" resultType="CustCoupon">
+	<select id="getBirthDayTargetList" parameterType="CustomerSearch" resultType="Coupon">
 		/*TsbCustomerDao.getBirthDayTargetList*/
 		SELECT C.CUST_NO
 		     , C.EMAIL
+		     , C.CELL_PHNNO
+		     , C.SMS_AGREE_YN
+		     , C.EMAIL_AGREE_YN
 		     , BB.BIRTH_YMD
 		     , C.CUST_GRADE
 		     , DATE_FORMAT(LAST_DAY(NOW() - INTERVAL 1 MONTH)+ INTERVAL 1 DAY, '%Y%m%d%H%i%S') AS AVAIL_STDT
@@ -602,6 +601,22 @@
 		            ELSE '%'
 		       END                                                                             AS DC_WAY
 		     , CO.MAX_DC_AMT
+		     , CONCAT(CASE WHEN CO.BUY_LIMIT_AMT = 0 THEN ''
+		                    ELSE CONCAT(FORMAT(CO.BUY_LIMIT_AMT , 0),'원 이상 구매 시 ')
+		              END
+		             ,CASE WHEN CO.MAX_DC_AMT = 0 THEN ''
+		                   ELSE CONCAT('최대 ',FORMAT(CO.MAX_DC_AMT , 0),'원 할인')
+		              END
+		             )                                                                     AS USE_CONDITION
+		     , CASE WHEN CO.CUST_PUB_LIMIT_QTY = 0 THEN ''
+		            ELSE CONCAT('1인당 최대',CO.CUST_PUB_LIMIT_QTY,'매')
+		       END                                                                         AS ISSUE_CONDITION
+		     , (
+		        SELECT COUNT(1)
+		        FROM   TB_CUST_COUPON CCP
+		        WHERE  CCP.CUST_NO = C.CUST_NO
+		        AND    CCP.CPN_ID = CO.CPN_ID
+		       )                                                                               AS CPN_CNT
 		FROM   TB_CUSTOMER C
 		INNER JOIN
 		       TB_BATCH_BIRTH BB
@@ -616,6 +631,7 @@
 		AND    CO.CPN_STAT = 'G232_11'
 		WHERE  C.CUST_STAT = 'G104_10'
 		AND    C.SITE_CD = #{siteCd}
+		AND    (C.SMS_AGREE_YN = 'Y' OR C.EMAIL_AGREE_YN = 'Y')
 		AND    SUBSTR(BB.BIRTH_YMD, 5,8) > DATE_FORMAT(DATE_ADD(LAST_DAY(NOW()), INTERVAL -1 MONTH ), '%m%d')
 		AND    SUBSTR(BB.BIRTH_YMD, 5,8) <![CDATA[<]]> DATE_FORMAT(DATE_ADD(LAST_DAY(NOW()), INTERVAL 1 DAY), '%m%d')
 	</select>