Просмотр исходного кода

Merge branch 'master' of http://112.172.147.34:4936/style24/style24.doc

swkim 5 лет назад
Родитель
Сommit
288848211a

+ 30 - 0
산출물/3.설계/03.인터페이스/넷퍼시메일/회원동기화테이블_ASIS/TB_BAT_Member.sql

@@ -0,0 +1,30 @@
+USE [iSTYLE24_MailBatch]
+GO
+
+/****** Object:  Table [dbo].[TB_BAT_Member]    Script Date: 2021-05-10 오후 1:48:17 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[TB_BAT_Member](
+	[MemberGuid] [uniqueidentifier] NOT NULL, --회원GUID 
+	[LoginId] [nvarchar](100) NOT NULL,       --로그인ID
+	[MemberName] [nvarchar](100) NOT NULL,    --회원명
+	[Email] [nvarchar](200) NOT NULL,         --이메일  
+	[isEmail] [bit] NOT NULL,                 --메일수신여부
+	[Gender] [nvarchar](20) NOT NULL,         --성별
+	[DefaultPostalCode] [char](10) NOT NULL,  --우편번호
+	[DateRegister] [datetime] NOT NULL,       --가입일
+	[DateLastModified] [datetime] NOT NULL,   --데이터수정일
+	[Age] [int] NOT NULL,                     --연령
+ CONSTRAINT [PK_TB_BAT_Member_MemberGuid] PRIMARY KEY CLUSTERED 
+(
+	[MemberGuid] ASC
+)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+
+USP_BAT_MAIL_DATA

+ 24 - 0
산출물/3.설계/03.인터페이스/넷퍼시메일/회원동기화테이블_ASIS/TB_BAT_MemberMileage.sql

@@ -0,0 +1,24 @@
+USE [iSTYLE24_MailBatch]
+GO
+
+/****** Object:  Table [dbo].[TB_BAT_MemberMileage]    Script Date: 2021-05-10 오후 1:48:29 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[TB_BAT_MemberMileage](
+	[MemberGUID] [uniqueidentifier] NOT NULL,
+	[LoginId] [nvarchar](100) NOT NULL,        --로그인ID
+	[Mileage] [int] NOT NULL,                  --하루전 회원의 최종 마일리지 
+	[Date] [datetime] NOT NULL,                --하루 전일
+ CONSTRAINT [PK_TB_BAT_MemberMileage_MemberGUID] PRIMARY KEY CLUSTERED 
+(
+	[MemberGUID] ASC,
+	[Date] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+

+ 27 - 0
산출물/3.설계/03.인터페이스/넷퍼시메일/회원동기화테이블_ASIS/TB_BAT_MemberPoint.sql

@@ -0,0 +1,27 @@
+USE [iSTYLE24_MailBatch]
+GO
+
+/****** Object:  Table [dbo].[TB_BAT_MemberPoint]    Script Date: 2021-05-10 오후 1:48:35 ******/
+/*******회원의 최종 포인트*********/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[TB_BAT_MemberPoint](
+	[MemberGUID] [uniqueidentifier] NOT NULL,
+	[LoginId] [nvarchar](100) NOT NULL,       --로그인ID
+	[Point] [int] NOT NULL,                   --하루전회원의 최종 포인트 
+	[Date] [datetime] NOT NULL,               --하루전일
+ CONSTRAINT [PK_TB_BAT_MemberPoint_MemberGUID] PRIMARY KEY CLUSTERED 
+(
+	[MemberGUID] ASC,
+	[Date] ASC
+)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 80, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+
+
+ 

+ 24 - 0
산출물/3.설계/03.인터페이스/넷퍼시메일/회원동기화테이블_ASIS/TB_BAT_MemberWithdrawal.sql

@@ -0,0 +1,24 @@
+USE [iSTYLE24_MailBatch]
+GO
+
+/****** Object:  Table [dbo].[TB_BAT_MemberWithdrawal]    Script Date: 2021-05-10 오후 1:48:42 ******/
+SET ANSI_NULLS ON
+GO
+
+SET QUOTED_IDENTIFIER ON
+GO
+
+CREATE TABLE [dbo].[TB_BAT_MemberWithdrawal](
+	[MemberGUID] [uniqueidentifier] NOT NULL,
+	[LoginId] [nvarchar](100) NOT NULL,     --로그인아이디
+	[MemberName] [nvarchar](50) NOT NULL,   --회원명
+	[DateRegister] [datetime] NOT NULL,     --가입일
+	[DateWithdraw] [datetime] NOT NULL,     --등록일
+ CONSTRAINT [PK_TB_BAT_MemberWithdrawal_MemberGUID] PRIMARY KEY CLUSTERED 
+(
+	[MemberGUID] ASC
+)WITH (PAD_INDEX = ON, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90, OPTIMIZE_FOR_SEQUENTIAL_KEY = OFF) ON [PRIMARY]
+) ON [PRIMARY]
+GO
+
+

+ 102 - 0
산출물/3.설계/03.인터페이스/넷퍼시메일/회원동기화테이블_ASIS/USP_BAT_MAIL_DATA.sql

@@ -0,0 +1,102 @@
+/*      
+----------------------------------------------------------------------------------      
+◑ SP Name    : dbo.USP_BAT_MAIL_DATA      
+◑ Description   : 대용량 메일 솔루션 일배치 데이터      
+        - 회원 DB: TB_BAT_Member      
+        - 탈퇴회원 + 휴면회원 DB: TB_BAT_MemberWithdrawal      
+        - 회원 아이포인트: TB_BAT_MemberPoint      
+        - 회원 아이머니  : TB_BAT_MemberMileage      
+◑ Called by    :      
+◑ Input Parameters  :       
+◑ Output Parameters  :       
+◑ Exec     :       
+◑ Change History      
+-----------------------------------------------------------------------------------------------      
+Date   Author  Description      
+-----------------------------------------------------------------------------------------------      
+2013-01-21 유민호  최초생성. 배치를 돌기 하루전 데이터를 가져와 데이터를 쌓아두고, 데이터를 7일이 지난 데이터는 삭제한다      
+2013-08-12 유민호  LinkedServer 변경 ( DB01_MALL -> [DB01.ISTYLE24.COM] )                              
+2014-01-03 김한얼  멤버, 탈퇴멤버 7일전 데이터 삭제를 전체로 바꾸고 전체를 쌓도록 한다. 추후 포인트정보도 수정해야함.      
+2014-10-15  김한얼  TB_BAT_Member에 MemberGUID 컬럼 추가 후 Insert 할 수 있도록 쿼리 수정      
+2015-08-26 박운용  회원DB분리로 인해, 휴면회원도 탈퇴회원 테이블에 저장      
+2016-11-29  성근영      탈퇴 회원 테이블에 MemberGUID 추가, 포인트 정보 전체 삭제 후 하루 전 데이터만 입력    
+2020-01-11  이선미  등록일 null 체크     
+-----------------------------------------------------------------------------------------------      
+*/      
+CREATE PROCEDURE [dbo].[USP_BAT_MAIL_DATA]      
+ AS      
+BEGIN      
+ SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;      
+ SET NOCOUNT ON;      
+ SET XACT_ABORT ON;      
+       
+ DECLARE @CurrentDate DATETIME      
+ SET @CurrentDate = CONVERT(DATETIME, CONVERT(NVARCHAR(10), GetDate(), 121))        
+      
+ /*       
+  1. 초기화       
+ */      
+ -- 회원DB: 전체 데이터 삭제      
+ TRUNCATE TABLE dbo.TB_BAT_Member      
+ TRUNCATE TABLE dbo.TB_BAT_MemberWithdrawal      
+       
+ -- 아이포인트, 아이머니: 7일전 데이터 삭제       
+ TRUNCATE TABLE dbo.TB_BAT_MemberPoint      
+ TRUNCATE TABLE dbo.TB_BAT_MemberMileage      
+       
+ /*       
+  2. 정보 생성      
+ */      
+ -- 탈퇴회원 생성      
+ INSERT INTO dbo.TB_BAT_MemberWithdrawal WITH(ROWLOCK)      
+ SELECT MemberGUID, LoginId, MemberName, ISNULL(DateRegister, DateWithdraw), DateWithdraw       
+ FROM  istyle24_mall.dbo.TB_PRF_MemberWithdrawal WITH (NOLOCK)       
+      
+ -- 휴면계정도 탈퇴회원으로 생성      
+ INSERT INTO dbo.TB_BAT_MemberWithdrawal WITH(ROWLOCK)      
+ SELECT MemberGUID, LoginId, MemberName, DateRegister, DateDormant      
+ FROM  istyle24_mall.dbo.TB_PRF_MemberDormant WITH (NOLOCK)        
+       
+ -- 회원정보 생성 (휴면계정 제외)      
+ INSERT INTO dbo.TB_BAT_Member WITH(ROWLOCK)      
+ SELECT MemberGUID, LoginId, MemberName, Email, IsEmail, Gender, DefaultPostalCode, ISNULL(DateRegister, '1900-01-01') as DateRegister, DateLastModified, dbo.FN_MemebrAge(PID,isnull(BirthDate,'')) as Age      
+ FROM  iSTYLE24_Mall.dbo.TB_PRF_Member WITH (NOLOCK)      
+ WHERE MemberName <> '휴면계정'       
+      
+ -- 하루전 회원 포인트 수정(회원의 최종 포인트)      
+ INSERT INTO dbo.TB_BAT_MemberPoint WITH(ROWLOCK)      
+ SELECT A.MemberGUID, A.loginId, B.Remains, DATEADD(DD, -1, @CurrentDate)      
+ FROM iSTYLE24_Mall.dbo.TB_PRF_Member A WITH (NOLOCK)       
+   INNER JOIN (      
+    SELECT B.MemberGUID, B.Remains      
+    FROM (      
+     SELECT ROW_NUMBER() OVER (PARTITION BY A.MemberGUID ORDER BY A.DateCreated DESC) AS Row,      
+       A.MemberGUID, A.Remains      
+     FROM iSTYLE24_Mall.dbo.TB_PRF_MemberPoint A WITH (NOLOCK)      
+     WHERE A.DateCreated between DATEADD(DD, -1, @CurrentDate) and @CurrentDate      
+    ) AS B      
+    WHERE B.row = 1      
+   ) B ON A.MemberGUID = B.MemberGUID       
+ ORDER BY A.loginId      
+       
+ -- 하루전 회원 마일리지 수정(회원의 최종 마일리지)      
+ INSERT INTO dbo.TB_BAT_MemberMileage WITH(ROWLOCK)      
+ SELECT A.MemberGUID, A.loginId, B.Remains, DATEADD(DD, -1, @CurrentDate)      
+ FROM iSTYLE24_Mall.dbo.TB_PRF_Member A WITH (NOLOCK)      
+   INNER JOIN (      
+    SELECT B.MemberGUID, B.Remains      
+    FROM (      
+     SELECT ROW_NUMBER() OVER (PARTITION BY A.MemberGUID ORDER BY A.DateCreated DESC) AS Row,      
+       A.MemberGUID, A.Remains      
+     FROM iSTYLE24_Mall.dbo.TB_PRF_MemberMileage A WITH (NOLOCK)         
+WHERE A.DateCreated between DATEADD(DD, -1, @CurrentDate) and @CurrentDate            
+    ) AS B      
+    WHERE B.row = 1      
+   ) B ON A.MemberGUID = B.MemberGUID      
+ ORDER BY A.loginId      
+       
+      
+ SET NOCOUNT OFF;      
+END      
+      
+      

+ 86 - 7
산출물/3.설계/05.DB-Object/06.DDL/table.sql

@@ -2333,6 +2333,7 @@ INSERT INTO TB_COMMON_CODE VALUES ('G015', 'KAKAO', '카카오페이', NULL, 'N'
 INSERT INTO TB_COMMON_CODE VALUES ('G015', 'NICE', '나이스', NULL, 'N', 5, 1, NOW(), 1, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G015', 'KCP', '케이씨피', NULL, 'Y', 6, 1, NOW(), 1, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G015', 'ISTYLE', '아이스타일', '상품권으로만결제시', 'Y', 7, 1, NOW(), 1, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G015', 'NAVER_ORDER', '네이버페이주문형', '네이버페이주문형', 'Y', 8, 1, NOW(), 1, NOW());
 
 INSERT INTO TB_COMMON_CODE VALUES ('ROOT', 'G016', '결제상태', NULL, 'Y', 17, 1, NOW(), 1, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G016', 'G016_00', '결제대기', NULL, 'Y', 1, 1, NOW(), 1, NOW());
@@ -2496,12 +2497,12 @@ INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM010', 'STYLE24MALL > 브랜드
 INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM011', 'STYLE24MALL > 브랜드메인 > 기획전콘텐츠(C)',		NULL, 'Y', 48, 12, NOW(), 12, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM012', 'STYLE24MALL > 브랜드메인 > TV타이틀(C)',		NULL, 'Y', 49, 12, NOW(), 12, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM013', 'STYLE24MALL > 브랜드메인 > 상품롤링(C)',		NULL, 'Y', 50, 12, NOW(), 12, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM014', 'STYLE24MALL > 브랜드메인 > 배너1(A)',			NULL, 'Y', 51, 12, NOW(), 12, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM015', 'STYLE24MALL > 브랜드메인 > 배너2(A)',			NULL, 'Y', 52, 12, NOW(), 12, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM016', 'STYLE24MALL > 브랜드메인 > 배너3(A)',			NULL, 'Y', 53, 12, NOW(), 12, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM017', 'STYLE24MALL > 브랜드메인 > 추천상품1(C)',		NULL, 'Y', 54, 12, NOW(), 12, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM018', 'STYLE24MALL > 브랜드메인 > 추천상품2(C)',		NULL, 'Y', 55, 12, NOW(), 12, NOW());
-INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM019', 'STYLE24MALL > 브랜드메인 > 추천상품3(C)',		NULL, 'Y', 56, 12, NOW(), 12, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM014', 'STYLE24MALL > 브랜드메인 > 배너1(C)',			NULL, 'Y', 51, 12, NOW(), 12, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM015', 'STYLE24MALL > 브랜드메인 > 배너2(C)',			NULL, 'Y', 52, 12, NOW(), 12, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM016', 'STYLE24MALL > 브랜드메인 > 배너3(C)',			NULL, 'Y', 53, 12, NOW(), 12, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM017', 'STYLE24MALL > 브랜드메인 > 추천상품1(A)',		NULL, 'Y', 54, 12, NOW(), 12, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM018', 'STYLE24MALL > 브랜드메인 > 추천상품2(A)',		NULL, 'Y', 55, 12, NOW(), 12, NOW());
+INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SBMM019', 'STYLE24MALL > 브랜드메인 > 추천상품3(A)',		NULL, 'Y', 56, 12, NOW(), 12, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SOM001', 'STYLE24MALL > 아울렛메인 > 메인롤링배너(C)',		NULL, 'Y', 57, 12, NOW(), 12, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SOM002', 'STYLE24MALL > 아울렛메인 > MD추천(G)',			NULL, 'Y', 58, 12, NOW(), 12, NOW());
 INSERT INTO TB_COMMON_CODE VALUES ('G028',	'SOM003', 'STYLE24MALL > 아울렛메인 > 베스트(A)',			NULL, 'Y', 59, 12, NOW(), 12, NOW());
@@ -4663,7 +4664,7 @@ CREATE TABLE TB_MAILHF
   MAILHF_SQ       INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '메일헤더푸터일련번호',
   MAILHF_NM       VARCHAR(100) NOT NULL COMMENT '메일헤더푸터명',
   MAILHF_GB       VARCHAR(1) NOT NULL COMMENT '메일헤더푸터구분(H:헤더, F:푸터)',
-  MAILHF_CONTENT  VARCHAR(4000) NOT NULL COMMENT '메일헤더푸터내용',
+  MAILHF_CONTENT  LONGTEXT NOT NULL COMMENT '메일헤더푸터내용',
   USE_YN          CHAR(1) DEFAULT 'Y' NOT NULL COMMENT '사용여부(Y:사용)',
   REG_NO          INT UNSIGNED NOT NULL COMMENT '등록자번호',
   REG_DT          TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '등록일시',
@@ -15356,3 +15357,81 @@ CREATE TABLE TB_BATCH_BIRTH
 
 CREATE INDEX IX_BATCH_BIRTH_01
     ON TB_BATCH_BIRTH (BIRTH_YMD);
+
+################################################################################
+# 넷퍼시용자동메일(EUC-KR로 생성해야 함)
+################################################################################
+DROP TABLE IF EXISTS AUTOMAIL_INTERFACE RESTRICT;
+CREATE TABLE AUTOMAIL_INTERFACE
+(
+    AUTOCODE    INT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '자동메일코드',
+    LEGACYID    VARCHAR(200) COMMENT '회원ID',
+    AUTOTYPE    VARCHAR(3) NOT NULL COMMENT '자동메일타입',
+    EMAIL       VARCHAR(100) NOT NULL COMMENT '이메일',
+    NAME        VARCHAR(100) COMMENT '이름',
+    INSERTDATE  DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '입력일시',
+    SENDTIME    DATETIME NULL COMMENT '전송일시',
+    OPENTIME    DATETIME NULL COMMENT '오픈일시',
+    SENTTIME    DATETIME NULL COMMENT '전송완료일시',
+    SENDYN      CHAR(1) DEFAULT 'N' NOT NULL COMMENT '전송여부',
+    CMPNCODE    INT UNSIGNED COMMENT '캠페인코드',
+    FROMADDRESS VARCHAR(100) COMMENT '보내는주소',
+    FROMNAME    VARCHAR(100) COMMENT '보내는명',
+    TITLE       VARCHAR(200) COMMENT '메일제목',
+    CONTENT     LONGTEXT NOT NULL COMMENT '메일내용',
+    TAG1        VARCHAR(100) COMMENT 'TAG1',
+    TAG2        VARCHAR(100) COMMENT 'TAG2',
+    TAG3        VARCHAR(100) COMMENT 'TAG3',
+    TAG4        VARCHAR(100) COMMENT 'TAG4',
+    PRIMARY KEY (AUTOCODE)
+) DEFAULT CHARSET=euckr COLLATE=euckr_korean_ci COMMENT='자동메일I/F. 메일 등록에 의한 발생. 데이터 적재 시 넷퍼시에서 자동으로 메일 발송함'
+;
+
+################################################################################
+# 넷퍼시 활동회원
+################################################################################
+DROP TABLE IF EXISTS NETPATHY_MEMBER RESTRICT;
+CREATE TABLE NETPATHY_MEMBER
+(
+    CUST_NO         INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
+    CUST_ID         VARCHAR(200) COMMENT '회원ID',
+    CUST_NM         VARCHAR(200) NOT NULL COMMENT '회원명',
+    BIRTH_YMD       VARCHAR(200) COMMENT '생년월일',
+    EMAIL           VARCHAR(200) COMMENT '이메일',
+    EMAIL_AGREE_YN  CHAR(1) NOT NULL DEFAULT 'N' COMMENT '이메일수신동의여부',
+    SEX_GB          VARCHAR(200) COMMENT '성별구분(공통코드G007)',
+    ZIPCODE         VARCHAR(20) COMMENT '우편번호',
+    JOIN_DT         DATETIME NOT NULL COMMENT '가입일시',
+    UPD_DT          DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '수정일시'
+)
+COMMENT='넷퍼시활동회원. 넷퍼시메일 솔루션에 연동할 활동회원 정보. 매일 1회 생성 시 발생'
+;
+
+################################################################################
+# 넷퍼시 탈퇴/휴면회원
+################################################################################
+DROP TABLE IF EXISTS NETPATHY_WITHDRAWAL RESTRICT;
+CREATE TABLE NETPATHY_WITHDRAWAL
+(
+    CUST_NO  INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
+    CUST_ID  VARCHAR(200) COMMENT '회원ID',
+    CUST_NM  VARCHAR(200) NOT NULL COMMENT '회원명',
+    JOIN_DT  DATETIME NOT NULL COMMENT '가입일시',
+    REG_DT   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시'
+)
+COMMENT='넷퍼시 탈퇴/휴면회원. 넷퍼시메일 솔루션에 연동할 탈퇴/휴면회원 정보. 매일 1회 생성 시 발생'
+;
+
+################################################################################
+# 넷퍼시 포인트
+################################################################################
+DROP TABLE IF EXISTS NETPATHY_POINT RESTRICT;
+CREATE TABLE NETPATHY_POINT
+(
+    CUST_NO     INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
+    CUST_ID     VARCHAR(200) COMMENT '회원ID',
+    RM_PNT_AMT  INT DEFAULT 0 NOT NULL COMMENT '잔여포인트금액',
+    PREV_DT     DATETIME NOT NULL COMMENT '전일'
+)
+COMMENT='넷퍼시 포인트. 넷퍼시메일 솔루션에 연동할 포인트 정보. 매일 1회 생성 시 발생'
+;

+ 126 - 0
산출물/4.구축/데이터처리/넷퍼시메일_회원정보동기화.sql

@@ -0,0 +1,126 @@
+################################################################################
+# 넷퍼시 활동회원
+################################################################################
+DROP TABLE IF EXISTS NETPATHY_MEMBER RESTRICT;
+CREATE TABLE NETPATHY_MEMBER
+(
+    CUST_NO         INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
+    CUST_ID         VARCHAR(200) COMMENT '회원ID',
+    CUST_NM         VARCHAR(200) NOT NULL COMMENT '회원명',
+    BIRTH_YMD       VARCHAR(200) COMMENT '생년월일',
+    EMAIL           VARCHAR(200) COMMENT '이메일',
+    EMAIL_AGREE_YN  CHAR(1) NOT NULL DEFAULT 'N' COMMENT '이메일수신동의여부',
+    SEX_GB          VARCHAR(200) COMMENT '성별구분(공통코드G007)',
+    ZIPCODE         VARCHAR(20) COMMENT '우편번호',
+    JOIN_DT         DATETIME NOT NULL COMMENT '가입일시',
+    UPD_DT          DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '수정일시'
+)
+COMMENT='넷퍼시활동회원. 넷퍼시메일 솔루션에 연동할 활동회원 정보. 매일 1회 생성 시 발생'
+;
+
+/* 활동회원 생성 */
+TRUNCATE TABLE NETPATHY_MEMBER;
+INSERT INTO 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' /*활동회원*/
+;
+
+################################################################################
+# 넷퍼시 탈퇴/휴면회원
+################################################################################
+DROP TABLE IF EXISTS NETPATHY_WITHDRAWAL RESTRICT;
+CREATE TABLE NETPATHY_WITHDRAWAL
+(
+    CUST_NO  INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
+    CUST_ID  VARCHAR(200) COMMENT '회원ID',
+    CUST_NM  VARCHAR(200) NOT NULL COMMENT '회원명',
+    JOIN_DT  DATETIME NOT NULL COMMENT '가입일시',
+    REG_DT   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '등록일시'
+)
+COMMENT='넷퍼시 탈퇴/휴면회원. 넷퍼시메일 솔루션에 연동할 탈퇴/휴면회원 정보. 매일 1회 생성 시 발생'
+;
+
+/* 탈퇴/휴면회원 생성 */
+TRUNCATE TABLE NETPATHY_WITHDRAWAL;
+INSERT INTO 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
+;
+
+################################################################################
+# 넷퍼시 포인트
+################################################################################
+DROP TABLE IF EXISTS NETPATHY_POINT RESTRICT;
+CREATE TABLE NETPATHY_POINT
+(
+    CUST_NO     INT UNSIGNED NOT NULL COMMENT '회원번호(회원)',
+    CUST_ID     VARCHAR(200) COMMENT '회원ID',
+    RM_PNT_AMT  INT DEFAULT 0 NOT NULL COMMENT '잔여포인트금액',
+    PREV_DT     DATETIME NOT NULL COMMENT '전일'
+)
+COMMENT='넷퍼시 포인트. 넷퍼시메일 솔루션에 연동할 포인트 정보. 매일 1회 생성 시 발생'
+;
+
+/* 회원의 포인트 생성 (전일자에 변경된 값만) */
+TRUNCATE TABLE NETPATHY_POINT;
+INSERT INTO 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 >= DATE_ADD(CURRENT_DATE(), INTERVAL -1 DAY)
+                      AND    UPD_DT < CURRENT_DATE()
+                     )
+GROUP  BY CP.CUST_NO
+;