Quellcode durchsuchen

넷퍼시메일솔루션 회원정보 생성 - STYLE24_MAILBATCH 계정으로

gagamel vor 4 Jahren
Ursprung
Commit
ab2cb58bee

+ 51 - 12
src/main/java/com/style24/batch/biz/dao/TsbCustomerDao.java

@@ -1,18 +1,17 @@
 package com.style24.batch.biz.dao;
 
+import java.util.Collection;
+
+import org.springframework.stereotype.Repository;
+
 import com.style24.core.support.annotation.ShopDs;
-import com.style24.persistence.domain.CustAccount;
 import com.style24.persistence.domain.CustContactHst;
 import com.style24.persistence.domain.CustCoupon;
 import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.CustomerSearch;
-
 import com.style24.persistence.domain.Netpathy;
 import com.style24.persistence.domain.SsgDirectMessage;
-import org.springframework.stereotype.Repository;
-
-import java.util.Collection;
 
 /**
  * 회원(고객) Dao
@@ -186,47 +185,88 @@ public interface TsbCustomerDao {
 	int updateCustomerGrade(CustGrade custGrade);
 
 	/**
-	 * 넷퍼시메일솔루션 회원정보 Truncate
+	 * 넷퍼시메일솔루션 회원정보 Truncate - 운영DB
 	 * @author gagamel
 	 * @since 2021. 5. 10
 	 */
 	void truncateNetpathyMailCustomer();
 
 	/**
-	 * 넷퍼시메일솔루션 회원정보 생성
+	 * 넷퍼시메일솔루션 회원정보 Truncate - 개발DB
+	 * @author gagamel
+	 * @since 2021. 5. 10
+	 */
+	void truncateNetpathyMailCustomerDev();
+
+	/**
+	 * 넷퍼시메일솔루션 회원정보 생성 - 운영DB
 	 * @author gagamel
 	 * @since 2021. 5. 10
 	 */
 	int createNetpathyMailCustomer();
 
 	/**
-	 * 넷퍼시메일솔루션 탈퇴/휴면회원정보 Truncate
+	 * 넷퍼시메일솔루션 회원정보 생성 - 개발DB
+	 * @author gagamel
+	 * @since 2021. 5. 10
+	 */
+	int createNetpathyMailCustomerDev();
+
+	/**
+	 * 넷퍼시메일솔루션 탈퇴/휴면회원정보 Truncate - 운영DB
 	 * @author gagamel
 	 * @since 2021. 5. 10
 	 */
 	void truncateNetpathyMailWithdrawalCustomer();
 
 	/**
-	 * 넷퍼시메일솔루션 탈퇴/휴면회원정보 생성
+	 * 넷퍼시메일솔루션 탈퇴/휴면회원정보 Truncate - 개발DB
+	 * @author gagamel
+	 * @since 2021. 5. 10
+	 */
+	void truncateNetpathyMailWithdrawalCustomerDev();
+
+	/**
+	 * 넷퍼시메일솔루션 탈퇴/휴면회원정보 생성 - 운영DB
 	 * @author gagamel
 	 * @since 2021. 5. 10
 	 */
 	int createNetpathyMailWithdrawalCustomer();
 
 	/**
-	 * 넷퍼시메일솔루션 회원포인트정보 Truncate
+	 * 넷퍼시메일솔루션 탈퇴/휴면회원정보 생성 - 개발DB
+	 * @author gagamel
+	 * @since 2021. 5. 10
+	 */
+	int createNetpathyMailWithdrawalCustomerDev();
+
+	/**
+	 * 넷퍼시메일솔루션 회원포인트정보 Truncate - 운영DB
 	 * @author gagamel
 	 * @since 2021. 5. 10
 	 */
 	void truncateNetpathyMailCustomerPoint();
 
 	/**
-	 * 넷퍼시메일솔루션 회원포인트정보 생성
+	 * 넷퍼시메일솔루션 회원포인트정보 Truncate - 개발DB
+	 * @author gagamel
+	 * @since 2021. 5. 10
+	 */
+	void truncateNetpathyMailCustomerPointDev();
+
+	/**
+	 * 넷퍼시메일솔루션 회원포인트정보 생성 - 운영DB
 	 * @author gagamel
 	 * @since 2021. 5. 10
 	 */
 	int createNetpathyMailCustomerPoint();
 
+	/**
+	 * 넷퍼시메일솔루션 회원포인트정보 생성 - 개발DB
+	 * @author gagamel
+	 * @since 2021. 5. 10
+	 */
+	int createNetpathyMailCustomerPointDev();
 
 	/**
 	 * 생일자대상 목록 총 건수
@@ -298,7 +338,6 @@ public interface TsbCustomerDao {
 	 */
 	int createPrivacyPolicyNoticeEmail(Netpathy netpathy);
 
-
 	/**
 	 * 개인정보 이용내역 안내 메일 - 개발
 	 *

+ 39 - 28
src/main/java/com/style24/batch/biz/service/TsbCustomerService.java

@@ -2,15 +2,6 @@ package com.style24.batch.biz.service;
 
 import java.util.Collection;
 
-import com.style24.core.biz.service.TscKakaotalkService;
-import com.style24.core.biz.service.TscMailService;
-import com.style24.core.biz.thirdparty.NetpathyMailSender;
-import com.style24.core.biz.thirdparty.SsgKakaoSender;
-import com.style24.core.support.env.TscConstants;
-import com.style24.persistence.domain.CustContactHst;
-import com.style24.persistence.domain.CustCoupon;
-import com.style24.persistence.domain.Netpathy;
-import com.style24.persistence.domain.SsgDirectMessage;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.core.env.Environment;
@@ -20,12 +11,19 @@ import org.springframework.transaction.annotation.Transactional;
 import com.style24.batch.biz.dao.TsbCustomerDao;
 import com.style24.batch.support.env.TsbConstants;
 import com.style24.core.biz.service.TscCustomerService;
-
+import com.style24.core.biz.service.TscKakaotalkService;
+import com.style24.core.biz.service.TscMailService;
+import com.style24.core.biz.thirdparty.NetpathyMailSender;
+import com.style24.core.biz.thirdparty.SsgKakaoSender;
+import com.style24.core.support.env.TscConstants;
 import com.style24.core.support.util.CryptoUtils;
-
+import com.style24.persistence.domain.CustContactHst;
+import com.style24.persistence.domain.CustCoupon;
 import com.style24.persistence.domain.CustGrade;
 import com.style24.persistence.domain.Customer;
 import com.style24.persistence.domain.CustomerSearch;
+import com.style24.persistence.domain.Netpathy;
+import com.style24.persistence.domain.SsgDirectMessage;
 
 import lombok.extern.slf4j.Slf4j;
 
@@ -62,7 +60,6 @@ public class TsbCustomerService {
 	@Autowired
 	private Environment env;
 
-
 	/**
 	 * 휴면전환예정 메일 발송 대상
 	 *
@@ -269,7 +266,7 @@ public class TsbCustomerService {
 		replaceInfo.setString("siteNm", siteNm);
 		int result;
 		SsgDirectMessage directMessage = kakaoSender.getDiretMessage(SsgKakaoSender.KakaoAnswerSq.PRIVACY_POLICY.value(), dm, replaceInfo);
-		if ("style".equals(active) ||"real".equals(active) ||"locp".equals(active) ||"brdg".equals(active)) {
+		if ("style".equals(active) || "real".equals(active) || "locp".equals(active) || "brdg".equals(active)) {
 			result = customerDao.createPrivacyPolicyNoticeKko(directMessage);
 		} else {
 			result = customerDao.createPrivacyPolicyNoticeKkoDev(directMessage);
@@ -306,7 +303,7 @@ public class TsbCustomerService {
 		int result;
 		Netpathy netpathy = netpathyMailSender.getMailContents(NetpathyMailSender.MailAnswerSq.PRIVACY_POLICY.value(), replaceInfo);
 
-		if ("style".equals(active) ||"real".equals(active) || "locp".equals(active) ||"brdg".equals(active)) {
+		if ("style".equals(active) || "real".equals(active) || "locp".equals(active) || "brdg".equals(active)) {
 			result = customerDao.createPrivacyPolicyNoticeEmail(netpathy);
 		} else {
 			result = customerDao.createPrivacyPolicyNoticeEmailDev(netpathy);
@@ -478,11 +475,16 @@ public class TsbCustomerService {
 	 */
 	@Transactional("shopTxnManager")
 	public void createNetpathyMailCustomer() {
-		// 회원정보 Truncate
-		customerDao.truncateNetpathyMailCustomer();
+		int result = 0;
 
-		// 회원정보 생성
-		int result = customerDao.createNetpathyMailCustomer();
+		String active = env.getProperty("spring.profiles.active");
+		if ("style".equals(active) || "brdg".equals(active)) {
+			customerDao.truncateNetpathyMailCustomer();
+			result = customerDao.createNetpathyMailCustomer();
+		} else {
+			customerDao.truncateNetpathyMailCustomerDev();
+			result = customerDao.createNetpathyMailCustomerDev();
+		}
 
 		log.info("1.넷퍼시메일솔루션으로 회원정보 생성 ({}건) : OK", result);
 	}
@@ -494,11 +496,16 @@ public class TsbCustomerService {
 	 */
 	@Transactional("shopTxnManager")
 	public void createNetpathyMailWithdrawalCustomer() {
-		// 회원정보 Truncate
-		customerDao.truncateNetpathyMailWithdrawalCustomer();
+		int result = 0;
 
-		// 회원정보 생성
-		int result = customerDao.createNetpathyMailWithdrawalCustomer();
+		String active = env.getProperty("spring.profiles.active");
+		if ("style".equals(active) || "brdg".equals(active)) {
+			customerDao.truncateNetpathyMailWithdrawalCustomer();
+			result = customerDao.createNetpathyMailWithdrawalCustomer();
+		} else {
+			customerDao.truncateNetpathyMailWithdrawalCustomerDev();
+			result = customerDao.createNetpathyMailWithdrawalCustomerDev();
+		}
 
 		log.info("2.넷퍼시메일솔루션으로 탈퇴/휴면회원정보 생성 ({}건) : OK", result);
 	}
@@ -511,11 +518,16 @@ public class TsbCustomerService {
 	 */
 	@Transactional("shopTxnManager")
 	public void createNetpathyMailCustomerPoint() {
-		// 회원정보 Truncate
-		customerDao.truncateNetpathyMailCustomerPoint();
+		int result = 0;
 
-		// 회원정보 생성
-		int result = customerDao.createNetpathyMailCustomerPoint();
+		String active = env.getProperty("spring.profiles.active");
+		if ("style".equals(active) || "brdg".equals(active)) {
+			customerDao.truncateNetpathyMailCustomerPoint();
+			result = customerDao.createNetpathyMailCustomerPoint();
+		} else {
+			customerDao.truncateNetpathyMailCustomerPointDev();
+			result = customerDao.createNetpathyMailCustomerPointDev();
+		}
 
 		log.info("3.넷퍼시메일솔루션으로 회원포인트정보 생성 ({}건) : OK", result);
 	}
@@ -544,7 +556,6 @@ public class TsbCustomerService {
 		return customerDao.getBirthDayTargetList(customerSearch);
 	}
 
-
 	/**
 	 * 생일쿠폰 안내
 	 *
@@ -559,7 +570,7 @@ public class TsbCustomerService {
 		int succCnt = 0;
 		int failCnt = 0;
 		Integer senderNo = TsbConstants.REG_NO;
-		for (CustCoupon custCoupon: couponCollection) {
+		for (CustCoupon custCoupon : couponCollection) {
 			try {
 				custCoupon.setRegNo(senderNo);
 				custCoupon.setUpdNo(senderNo);

+ 105 - 6
src/main/java/com/style24/persistence/mybatis/shop/TsbCustomer.xml

@@ -855,15 +855,53 @@
 		<include refid="selectForPagingFooter"/>
 	</select>
 	
-	<!-- 넷퍼시메일솔루션 회원정보 Truncate -->
+	<!-- 넷퍼시메일솔루션 회원정보 Truncate - 운영DB -->
 	<delete id="truncateNetpathyMailCustomer">
 		/* TsbCustomerDao.truncateNetpathyMailCustomer */
+		TRUNCATE TABLE STYLE24_MAILBATCH.NETPATHY_MEMBER
+	</delete>
+	
+	<!-- 넷퍼시메일솔루션 회원정보 Truncate - 개발DB -->
+	<delete id="truncateNetpathyMailCustomerDev">
+		/* TsbCustomerDao.truncateNetpathyMailCustomerDev */
 		TRUNCATE TABLE NETPATHY_MEMBER
 	</delete>
 	
-	<!-- 넷퍼시메일솔루션 회원정보 생성 -->
+	<!-- 넷퍼시메일솔루션 회원정보 생성 - 운영DB -->
 	<insert id="createNetpathyMailCustomer" timeout="600">
 		/* TsbCustomerDao.createNetpathyMailCustomer */
+		INSERT INTO STYLE24_MAILBATCH.NETPATHY_MEMBER (
+		       CUST_NO
+		     , CUST_ID
+		     , CUST_NM
+		     , BIRTH_YMD
+		     , EMAIL
+		     , EMAIL_AGREE_YN
+		     , SEX_GB
+		     , ZIPCODE
+		     , JOIN_DT
+		     , UPD_DT
+		)
+		SELECT C.CUST_NO                                 /*회원GUID(=회원번호)*/
+		     , C.CUST_ID                                 /*로그인ID(=회원ID)*/
+		     , C.CUST_NM                                 /*회원명(암호화된값)*/
+		     , C.BIRTH_YMD                               /*생년월일(암호화된값)*/
+		     , C.EMAIL                                   /*이메일(암호화된값)*/
+		     , C.EMAIL_AGREE_YN                          /*메일수신여부*/
+		     , C.SEX_GB                                  /*성별(암호화된값)*/
+		     , CDA.RECIP_ZIPCODE              AS ZIPCODE /*우편번호*/
+		     , IFNULL(C.JOIN_DT,'1900-01-01') AS JOIN_DT /*가입일시*/
+		     , C.UPD_DT                                  /*수정일시*/
+		FROM   TB_CUSTOMER C
+		LEFT OUTER JOIN TB_CUST_DELIVERY_ADDR CDA ON C.CUST_NO = CDA.CUST_NO
+		                                         AND CDA.DEL_YN = 'N' /*삭제안된넘*/
+		                                         AND CDA.DEFAULT_YN = 'Y' /*기본배송지*/
+		WHERE  CUST_STAT = 'G104_10' /*활동회원*/
+	</insert>
+	
+	<!-- 넷퍼시메일솔루션 회원정보 생성 - 개발DB -->
+	<insert id="createNetpathyMailCustomerDev" timeout="600">
+		/* TsbCustomerDao.createNetpathyMailCustomerDev */
 		INSERT INTO NETPATHY_MEMBER (
 		       CUST_NO
 		     , CUST_ID
@@ -893,15 +931,46 @@
 		WHERE  CUST_STAT = 'G104_10' /*활동회원*/
 	</insert>
 	
-	<!-- 넷퍼시메일솔루션 탈퇴/휴면회원정보 Truncate -->
+	<!-- 넷퍼시메일솔루션 탈퇴/휴면회원정보 Truncate - 운영DB -->
 	<delete id="truncateNetpathyMailWithdrawalCustomer">
 		/* TsbCustomerDao.truncateNetpathyMailWithdrawalCustomer */
+		TRUNCATE TABLE STYLE24_MAILBATCH.NETPATHY_WITHDRAWAL
+	</delete>
+	
+	<!-- 넷퍼시메일솔루션 탈퇴/휴면회원정보 Truncate - 개발DB -->
+	<delete id="truncateNetpathyMailWithdrawalCustomerDev">
+		/* TsbCustomerDao.truncateNetpathyMailWithdrawalCustomerDev */
 		TRUNCATE TABLE NETPATHY_WITHDRAWAL
 	</delete>
 	
-	<!-- 넷퍼시메일솔루션 탈퇴/휴면회원정보 생성 -->
+	<!-- 넷퍼시메일솔루션 탈퇴/휴면회원정보 생성 - 운영DB -->
 	<insert id="createNetpathyMailWithdrawalCustomer" timeout="600">
 		/* TsbCustomerDao.createNetpathyMailWithdrawalCustomer */
+		INSERT INTO STYLE24_MAILBATCH.NETPATHY_WITHDRAWAL (
+		       CUST_NO
+		     , CUST_ID
+		     , CUST_NM
+		     , JOIN_DT
+		     , REG_DT
+		)
+		SELECT CUST_NO                              /*회원GUID(=회원번호)*/
+		     , CUST_ID                              /*로그인ID(=회원ID)*/
+		     , CUST_NM                              /*회원명(암호화된값)*/
+		     , IFNULL(JOIN_DT,SECEDE_DT) AS JOIN_DT /*가입일시*/
+		     , SECEDE_DT                 AS REG_DT  /*등록일시*/
+		FROM   TB_SECEDE_CUST
+		UNION ALL
+		SELECT CUST_NO              /*회원GUID(=회원번호)*/
+		     , CUST_ID              /*로그인ID(=회원ID)*/
+		     , CUST_NM              /*회원명(암호화된값)*/
+		     , JOIN_DT              /*가입일시*/
+		     , DORMANT_DT AS REG_DT /*등록일시*/
+		FROM   TB_DORMANT_CUST
+	</insert>
+	
+	<!-- 넷퍼시메일솔루션 탈퇴/휴면회원정보 생성 - 개발DB -->
+	<insert id="createNetpathyMailWithdrawalCustomerDev" timeout="600">
+		/* TsbCustomerDao.createNetpathyMailWithdrawalCustomerDev */
 		INSERT INTO NETPATHY_WITHDRAWAL (
 		       CUST_NO
 		     , CUST_ID
@@ -924,15 +993,45 @@
 		FROM   TB_DORMANT_CUST
 	</insert>
 	
-	<!-- 넷퍼시메일솔루션 회원포인트정보 Truncate -->
+	<!-- 넷퍼시메일솔루션 회원포인트정보 Truncate - 운영DB -->
 	<delete id="truncateNetpathyMailCustomerPoint">
 		/* TsbCustomerDao.truncateNetpathyMailCustomerPoint */
+		TRUNCATE TABLE STYLE24_MAILBATCH.NETPATHY_POINT
+	</delete>
+	
+	<!-- 넷퍼시메일솔루션 회원포인트정보 Truncate - 개발DB -->
+	<delete id="truncateNetpathyMailCustomerPointDev">
+		/* TsbCustomerDao.truncateNetpathyMailCustomerPointDev */
 		TRUNCATE TABLE NETPATHY_POINT
 	</delete>
 	
-	<!-- 넷퍼시메일솔루션 회원포인트정보 생성 -->
+	<!-- 넷퍼시메일솔루션 회원포인트정보 생성 - 운영DB -->
 	<insert id="createNetpathyMailCustomerPoint" timeout="600">
 		/* TsbCustomerDao.createNetpathyMailCustomerPoint */
+		INSERT INTO STYLE24_MAILBATCH.NETPATHY_POINT (
+		       CUST_NO
+		     , CUST_ID
+		     , RM_PNT_AMT
+		     , PREV_DT
+		)
+		SELECT CP.CUST_NO                                                                       /*회원번호*/
+		     , C.CUST_ID                                                                        /*회원ID*/
+		     , SUM(CASE WHEN CP.EXP_CMP_DT IS NULL THEN CP.RM_PNT_AMT ELSE 0 END) AS RM_PNT_AMT /*남은포인트금액*/
+		     , DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)                          AS PREV_DT    /*전일*/
+		FROM   TB_CUST_POINT CP
+		     , TB_CUSTOMER C
+		WHERE  CP.CUST_NO = C.CUST_NO
+		AND    CP.CUST_NO IN (SELECT CUST_NO
+		                      FROM   TB_CUST_POINT
+		                      WHERE  UPD_DT <![CDATA[>=]]> DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
+		                      AND    UPD_DT <![CDATA[<]]> CURRENT_DATE()
+		                     )
+		GROUP  BY CP.CUST_NO
+	</insert>
+	
+	<!-- 넷퍼시메일솔루션 회원포인트정보 생성 - 개발DB -->
+	<insert id="createNetpathyMailCustomerPointDev" timeout="600">
+		/* TsbCustomerDao.createNetpathyMailCustomerPointDev */
 		INSERT INTO NETPATHY_POINT (
 		       CUST_NO
 		     , CUST_ID