넷퍼시메일_회원정보동기화.sql 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. ################################################################################
  2. # 넷퍼시 활동회원
  3. ################################################################################
  4. DROP TABLE IF EXISTS NETPATHY_MEMBER RESTRICT;
  5. CREATE TABLE NETPATHY_MEMBER
  6. (
  7. CUST_NO INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
  8. CUST_ID VARCHAR(200) COMMENT '회원ID',
  9. CUST_NM VARCHAR(200) NOT NULL COMMENT '회원명',
  10. BIRTH_YMD VARCHAR(200) COMMENT '생년월일',
  11. EMAIL VARCHAR(200) COMMENT '이메일',
  12. EMAIL_AGREE_YN CHAR(1) NOT NULL DEFAULT 'N' COMMENT '이메일수신동의여부',
  13. SEX_GB VARCHAR(200) COMMENT '성별구분(공통코드G007)',
  14. ZIPCODE VARCHAR(20) COMMENT '우편번호',
  15. JOIN_DT DATETIME NOT NULL COMMENT '가입일시',
  16. UPD_DT DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '수정일시'
  17. )
  18. COMMENT='넷퍼시활동회원. 넷퍼시메일 솔루션에 연동할 활동회원 정보. 매일 1회 생성 시 발생'
  19. ;
  20. /* 활동회원 생성 */
  21. TRUNCATE TABLE STYLE24_MAILBATCH.NETPATHY_MEMBER;
  22. INSERT INTO STYLE24_MAILBATCH.NETPATHY_MEMBER (
  23. CUST_NO
  24. , CUST_ID
  25. , CUST_NM
  26. , BIRTH_YMD
  27. , EMAIL
  28. , EMAIL_AGREE_YN
  29. , SEX_GB
  30. , ZIPCODE
  31. , JOIN_DT
  32. , UPD_DT
  33. )
  34. SELECT C.CUST_NO /*회원GUID(=회원번호)*/
  35. , C.CUST_ID /*로그인ID(=회원ID)*/
  36. , C.CUST_NM /*회원명(암호화된값)*/
  37. , C.BIRTH_YMD /*생년월일(암호화된값)*/
  38. , C.EMAIL /*이메일(암호화된값)*/
  39. , C.EMAIL_AGREE_YN /*메일수신여부*/
  40. , C.SEX_GB /*성별(암호화된값)*/
  41. , CDA.RECIP_ZIPCODE AS ZIPCODE /*우편번호*/
  42. , IFNULL(C.JOIN_DT,'1900-01-01') AS JOIN_DT /*가입일시*/
  43. , C.UPD_DT /*수정일시*/
  44. FROM TB_CUSTOMER C
  45. LEFT OUTER JOIN TB_CUST_DELIVERY_ADDR CDA ON C.CUST_NO = CDA.CUST_NO
  46. AND CDA.DEL_YN = 'N' /*삭제안된넘*/
  47. AND CDA.DEFAULT_YN = 'Y' /*기본배송지*/
  48. WHERE CUST_STAT = 'G104_10' /*활동회원*/
  49. ;
  50. ################################################################################
  51. # 넷퍼시 탈퇴/휴면회원
  52. ################################################################################
  53. DROP TABLE IF EXISTS NETPATHY_WITHDRAWAL RESTRICT;
  54. CREATE TABLE NETPATHY_WITHDRAWAL
  55. (
  56. CUST_NO INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
  57. CUST_ID VARCHAR(200) COMMENT '회원ID',
  58. CUST_NM VARCHAR(200) NOT NULL COMMENT '회원명',
  59. JOIN_DT DATETIME NOT NULL COMMENT '가입일시',
  60. REG_DT DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시'
  61. )
  62. COMMENT='넷퍼시 탈퇴/휴면회원. 넷퍼시메일 솔루션에 연동할 탈퇴/휴면회원 정보. 매일 1회 생성 시 발생'
  63. ;
  64. /* 탈퇴/휴면회원 생성 */
  65. TRUNCATE TABLE STYLE24_MAILBATCH.NETPATHY_WITHDRAWAL;
  66. INSERT INTO STYLE24_MAILBATCH.NETPATHY_WITHDRAWAL (
  67. CUST_NO
  68. , CUST_ID
  69. , CUST_NM
  70. , JOIN_DT
  71. , REG_DT
  72. )
  73. SELECT CUST_NO /*회원GUID(=회원번호)*/
  74. , CUST_ID /*로그인ID(=회원ID)*/
  75. , CUST_NM /*회원명(암호화된값)*/
  76. , IFNULL(JOIN_DT,SECEDE_DT) AS JOIN_DT /*가입일시*/
  77. , SECEDE_DT AS REG_DT /*등록일시*/
  78. FROM TB_SECEDE_CUST
  79. UNION ALL
  80. SELECT CUST_NO /*회원GUID(=회원번호)*/
  81. , CUST_ID /*로그인ID(=회원ID)*/
  82. , CUST_NM /*회원명(암호화된값)*/
  83. , JOIN_DT /*가입일시*/
  84. , DORMANT_DT AS REG_DT /*등록일시*/
  85. FROM TB_DORMANT_CUST
  86. ;
  87. ################################################################################
  88. # 넷퍼시 포인트
  89. ################################################################################
  90. DROP TABLE IF EXISTS NETPATHY_POINT RESTRICT;
  91. CREATE TABLE NETPATHY_POINT
  92. (
  93. CUST_NO INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
  94. CUST_ID VARCHAR(200) COMMENT '회원ID',
  95. RM_PNT_AMT INT DEFAULT 0 NOT NULL COMMENT '잔여포인트금액',
  96. PREV_DT DATETIME NOT NULL COMMENT '전일'
  97. )
  98. COMMENT='넷퍼시 포인트. 넷퍼시메일 솔루션에 연동할 포인트 정보. 매일 1회 생성 시 발생'
  99. ;
  100. /* 회원의 포인트 생성 (전일자에 변경된 값만) */
  101. TRUNCATE TABLE STYLE24_MAILBATCH.NETPATHY_POINT;
  102. INSERT INTO STYLE24_MAILBATCH.NETPATHY_POINT (
  103. CUST_NO
  104. , CUST_ID
  105. , RM_PNT_AMT
  106. , PREV_DT
  107. )
  108. SELECT CP.CUST_NO /*회원번호*/
  109. , C.CUST_ID /*회원ID*/
  110. , SUM(CASE WHEN CP.EXP_CMP_DT IS NULL THEN CP.RM_PNT_AMT ELSE 0 END) AS RM_PNT_AMT /*남은포인트금액*/
  111. , DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY) AS PREV_DT /*전일*/
  112. FROM TB_CUST_POINT CP
  113. , TB_CUSTOMER C
  114. WHERE CP.CUST_NO = C.CUST_NO
  115. AND CP.CUST_NO IN (SELECT CUST_NO
  116. FROM TB_CUST_POINT
  117. WHERE UPD_DT >= DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
  118. AND UPD_DT < CURRENT_DATE()
  119. )
  120. AND C.CUST_STAT = 'G104_10' /*활동회원만*/
  121. GROUP BY CP.CUST_NO
  122. ;