04.회원.sql 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092
  1. ##### 회원, 주문 #####
  2. -- 정상회원
  3. TRUNCATE TABLE tb_customer;
  4. TRUNCATE TABLE TB_CUSTOMER_HST;
  5. ALTER TABLE TB_CUSTOMER AUTO_INCREMENT = 100000;
  6. -- 비회원
  7. INSERT INTO tb_customer (CUST_NO, CUST_ID, CUST_NM, PASSWD, SITE_CD, FRONT_GB, CUST_GRADE, CUST_STAT, REG_NO, REG_DT, UPD_NO, UPD_DT, ENC_UPD_YN)
  8. VALUES (0, 'guest', '비회원', 'X', 'G000_10', 'P', 'G110', 'G104', 0, NOW(), 0, NOW(), 'Y');
  9. INSERT INTO tb_customer (CUST_ID, CUST_NM, PASSWD, BIRTH_YMD, SEX_GB, CELL_PHNNO, APP_AGREE_YN, APP_AGREE_DT, SMS_AGREE_YN, SMS_AGREE_DT, EMAIL, EMAIL_AGREE_YN, EMAIL_AGREE_DT, MK_AGREE_YN, MK_AGREE_DT, HOME_ZIPCODE, HOME_BASE_ADDR, HOME_DTL_ADDR, SITE_CD, FRONT_GB, AF_LINK_CD, CUST_GB, CUST_GRADE, JOIN_DT, FOREIGNER_YN, CUST_STAT, PASSWD_CHG_DT, TEMP_PASSWD_YN, LOGIN_LDT, CI, AUTH_DT, SNS_TYPE, MANAGED_RSN, MANAGED_DTL_RSN, MANAGED_DT, SECEDE_RSN, SECEDE_DTL_RSN, SECEDE_DT, BIRTH_MM, REG_NO, REG_DT, UPD_NO, UPD_DT, MEMBER_GUID)
  10. SELECT
  11. LoginId AS CUST_ID
  12. , FN_ENC_AES(MemberName) AS CUST_NM -- 암호화
  13. , Password AS PASSWD
  14. , FN_ENC_AES(BirthDate) AS BIRTH_YMD -- 암호화
  15. , CASE WHEN Gender = '남' THEN FN_ENC_AES('G007_M') WHEN Gender = '여' THEN FN_ENC_AES('G007_F') ELSE FN_ENC_AES('G007_X') END AS SEX_GB -- 암호화
  16. , FN_ENC_AES(CellNum) AS CELL_PHNNO -- 암호화
  17. , IF((SELECT NOTI_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) IS NULL, 'N', (SELECT NOTI_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1)) AS APP_AGREE_YN
  18. , (SELECT UPT_DATE FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) AS APP_AGREE_DT
  19. , IF(IsSMS = 'True', 'Y', 'N') AS SMS_AGREE_YN
  20. , (SELECT DateModify FROM old_log_membermodify X WHERE X.LoginId = A.LoginId ORDER BY DateModify DESC LIMIT 1) AS SMS_AGREE_DT
  21. , FN_ENC_AES(Email) AS EMAIL -- 암호화
  22. , IF(IsEmail = 'True', 'Y', 'N') AS EMAIL_AGREE_YN
  23. , (SELECT DateModify FROM old_log_membermodify X WHERE X.LoginId = A.LoginId ORDER BY DateModify DESC LIMIT 1) AS EMAIL_AGREE_DT
  24. , IF((SELECT MKT_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) IS NULL, 'N', (SELECT MKT_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1)) AS MK_AGREE_YN
  25. , (SELECT UPT_DATE FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) AS MK_AGREE_DT
  26. , FN_ENC_AES(DefaultPostalCode) AS HOME_ZIPCODE -- 암호화
  27. , CASE WHEN DefaultAddrNew IS NOT NULL AND DefaultAddrNew != '' THEN FN_ENC_AES(DefaultAddrNew) ELSE FN_ENC_AES(DefaultAddr1) END AS HOME_BASE_ADDR -- 자택기본주소_암호화
  28. , FN_ENC_AES(DefaultAddr2) AS HOME_DTL_ADDR -- 자택상세주소_암호화
  29. , 'G000_10' AS SITE_CD
  30. , IF((SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) IS NULL, 'P', (SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath)) AS FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
  31. , IFNULL((SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath), 'AF001') AS AF_LINK_CD -- 제휴링크코드
  32. , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
  33. , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
  34. , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS JOIN_DT -- 가입일시
  35. , IF(Nationality = '외국인', 'Y', 'N') AS FOREIGNER_YN -- 외국인여부(외국인:Y)
  36. , 'G104_10' AS CUST_STAT -- 고객상태(공통코드G104)
  37. , NULL AS PASSWD_CHG_DT -- 비밀번호변경일시
  38. , 'N' AS TEMP_PASSWD_YN -- 임시비밀번호여부
  39. , DateLastVisited AS LOGIN_LDT -- 최종로그인일시
  40. , CI -- 인증CI
  41. , NULL AS AUTH_DT -- 인증일시
  42. , NULL AS SNS_TYPE
  43. , NULL AS MANAGED_RSN -- 관리대상지정사유(공통코드G103)
  44. , NULL AS MANAGED_DTL_RSN -- 관리대상지정상세사유
  45. , NULL AS MANAGED_DT -- 관리대상지정일시
  46. , NULL AS SECEDE_RSN -- 탈퇴사유(공통코드G102)
  47. , NULL AS SECEDE_DTL_RSN -- 탈퇴상세사유
  48. , NULL AS SECEDE_DT-- 탈퇴일시
  49. , FN_ENC_AES(SUBSTRING(BirthDate, 5, 2)) AS BIRTH_MM
  50. , 2 AS REG_NO -- 등록자번호
  51. , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS REG_DT -- 등록일시
  52. , 2 AS UPD_NO -- 수정자번호
  53. , DateLastModified AS UPD_DT-- 수정일시
  54. , MemberGUID
  55. FROM old_prf_member A
  56. WHERE NOT EXISTS(
  57. SELECT 1
  58. FROM old_prf_memberdormant B
  59. WHERE B.MemberGUID = A.MemberGUID
  60. )
  61. ; -- 1분50초
  62. -- 휴면회원
  63. INSERT INTO tb_customer (CUST_ID, CUST_NM, PASSWD, BIRTH_YMD, SEX_GB, CELL_PHNNO, APP_AGREE_YN, APP_AGREE_DT, SMS_AGREE_YN, SMS_AGREE_DT, EMAIL, EMAIL_AGREE_YN, EMAIL_AGREE_DT, MK_AGREE_YN, MK_AGREE_DT, HOME_ZIPCODE, HOME_BASE_ADDR, HOME_DTL_ADDR, SITE_CD, FRONT_GB, AF_LINK_CD, CUST_GB, CUST_GRADE, JOIN_DT, FOREIGNER_YN, CUST_STAT, PASSWD_CHG_DT, TEMP_PASSWD_YN, LOGIN_LDT, CI, AUTH_DT, SNS_TYPE, MANAGED_RSN, MANAGED_DTL_RSN, MANAGED_DT, SECEDE_RSN, SECEDE_DTL_RSN, SECEDE_DT, BIRTH_MM, REG_NO, REG_DT, UPD_NO, UPD_DT, MEMBER_GUID)
  64. SELECT
  65. LoginId AS CUST_ID
  66. , FN_ENC_AES(MemberName) AS CUST_NM -- 암호화
  67. , Password AS PASSWD
  68. , FN_ENC_AES(BirthDate) AS BIRTH_YMD -- 암호화
  69. , CASE WHEN Gender = '남' THEN FN_ENC_AES('G007_M') WHEN Gender = '여' THEN FN_ENC_AES('G007_F') ELSE FN_ENC_AES('G007_X') END AS SEX_GB -- 암호화
  70. , FN_ENC_AES(CellNum) AS CELL_PHNNO -- 암호화
  71. , IF((SELECT NOTI_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) IS NULL, 'N', (SELECT NOTI_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1)) AS APP_AGREE_YN
  72. , (SELECT UPT_DATE FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) AS APP_AGREE_DT
  73. , IF(IsSMS = 'True', 'Y', 'N') AS SMS_AGREE_YN
  74. , (SELECT DateModify FROM old_log_membermodify X WHERE X.LoginId = A.LoginId ORDER BY DateModify DESC LIMIT 1) AS SMS_AGREE_DT
  75. , FN_ENC_AES(Email) AS EMAIL -- 암호화
  76. , IF(IsEmail = 'True', 'Y', 'N') AS EMAIL_AGREE_YN
  77. , (SELECT DateModify FROM old_log_membermodify X WHERE X.LoginId = A.LoginId ORDER BY DateModify DESC LIMIT 1) AS EMAIL_AGREE_DT
  78. , IF((SELECT MKT_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) IS NULL, 'N', (SELECT MKT_FLAG FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1)) AS MK_AGREE_YN
  79. , (SELECT UPT_DATE FROM old_app_user X WHERE X.CUST_ID = LoginId ORDER BY UPT_DATE DESC LIMIT 1) AS MK_AGREE_DT
  80. , FN_ENC_AES(DefaultPostalCode) AS HOME_ZIPCODE -- 암호화
  81. , CASE WHEN DefaultAddrNew IS NOT NULL AND DefaultAddrNew != '' THEN FN_ENC_AES(DefaultAddrNew) ELSE FN_ENC_AES(DefaultAddr1) END AS HOME_BASE_ADDR -- 자택기본주소_암호화
  82. , FN_ENC_AES(DefaultAddr2) AS HOME_DTL_ADDR -- 자택상세주소_암호화
  83. , 'G000_10' AS SITE_CD
  84. , IF((SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) IS NULL, 'P', (SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath)) AS FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
  85. , IFNULL((SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath), 'AF001') AS AF_LINK_CD -- 제휴링크코드
  86. , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
  87. , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
  88. , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS JOIN_DT -- 가입일시
  89. , IF(Nationality = '외국인', 'Y', 'N') AS FOREIGNER_YN -- 외국인여부(외국인:Y)
  90. , 'G104_10' AS CUST_STAT -- 고객상태(공통코드G104)
  91. , NULL AS PASSWD_CHG_DT -- 비밀번호변경일시
  92. , 'N' AS TEMP_PASSWD_YN -- 임시비밀번호여부
  93. , DateLastVisited AS LOGIN_LDT -- 최종로그인일시
  94. , CI -- 인증CI
  95. , NULL AS AUTH_DT -- 인증일시
  96. , NULL AS SNS_TYPE
  97. , NULL AS MANAGED_RSN -- 관리대상지정사유(공통코드G103)
  98. , NULL AS MANAGED_DTL_RSN -- 관리대상지정상세사유
  99. , NULL AS MANAGED_DT -- 관리대상지정일시
  100. , NULL AS SECEDE_RSN -- 탈퇴사유(공통코드G102)
  101. , NULL AS SECEDE_DTL_RSN -- 탈퇴상세사유
  102. , NULL AS SECEDE_DT-- 탈퇴일시
  103. , FN_ENC_AES(SUBSTRING(BirthDate, 5, 2)) AS BIRTH_MM
  104. , 2 AS REG_NO -- 등록자번호
  105. , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS REG_DT -- 등록일시
  106. , 2 AS UPD_NO -- 수정자번호
  107. , DateLastModified AS UPD_DT-- 수정일시
  108. , MemberGUID
  109. FROM old_prf_memberdormant A
  110. ORDER BY MEMBERGUID
  111. LIMIT 0, 500000
  112. -- LIMIT 500000, 500000
  113. -- LIMIT 1000000, 500000
  114. -- LIMIT 1500000, 500000
  115. -- LIMIT 2000000, 500000
  116. ; -- 9분20초
  117. -- 탈퇴회원
  118. INSERT INTO tb_customer (CUST_ID, CUST_NM, PASSWD, BIRTH_YMD, SEX_GB, CELL_PHNNO, APP_AGREE_YN, APP_AGREE_DT, SMS_AGREE_YN, SMS_AGREE_DT, EMAIL, EMAIL_AGREE_YN, EMAIL_AGREE_DT, MK_AGREE_YN, MK_AGREE_DT, HOME_ZIPCODE, HOME_BASE_ADDR, HOME_DTL_ADDR, SITE_CD, FRONT_GB, AF_LINK_CD, CUST_GB, CUST_GRADE, JOIN_DT, FOREIGNER_YN, CUST_STAT, PASSWD_CHG_DT, TEMP_PASSWD_YN, LOGIN_LDT, CI, AUTH_DT, SNS_TYPE, MANAGED_RSN, MANAGED_DTL_RSN, MANAGED_DT, SECEDE_RSN, SECEDE_DTL_RSN, SECEDE_DT, BIRTH_MM, REG_NO, REG_DT, UPD_NO, UPD_DT, MEMBER_GUID)
  119. SELECT
  120. LoginId AS CUST_ID
  121. , '탈퇴' AS CUST_NM -- 암호화
  122. , '탈퇴' AS PASSWD -- 암호화
  123. , NULL AS BIRTH_YMD -- 암호화
  124. , NULL AS SEX_GB -- 암호화
  125. , NULL AS CELL_PHNNO -- 암호화
  126. , 'N' AS APP_AGREE_YN -- ???
  127. , NULL AS APP_AGREE_DT -- ???
  128. , 'N' AS SMS_AGREE_YN
  129. , NULL AS SMS_AGREE_DT -- ???
  130. , NULL AS EMAIL -- 암호화
  131. , 'N' AS EMAIL_AGREE_YN
  132. , NULL AS EMAIL_AGREE_DT -- ???
  133. , 'N' AS MK_AGREE_YN
  134. , NULL AS MK_AGREE_DT
  135. , NULL AS HOME_ZIPCODE -- 암호화
  136. , NULL AS HOME_BASE_ADDR -- 자택기본주소_암호화
  137. , NULL AS HOME_DTL_ADDR -- 자택상세주소_암호화
  138. , 'G000_10' AS SITE_CD
  139. , 'P' AS FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
  140. , NULL AS AF_LINK_CD -- 제휴링크코드 AS-IS ???
  141. , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
  142. , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
  143. , NULL AS JOIN_DT -- 가입일시
  144. , 'N' AS FOREIGNER_YN -- 외국인여부(외국인:Y) AS-IS ???
  145. , 'G104_30' AS CUST_STAT -- 고객상태(공통코드G104) NULL ???
  146. , NULL AS PASSWD_CHG_DT -- 비밀번호변경일시
  147. , 'N' AS TEMP_PASSWD_YN -- 임시비밀번호여부
  148. , DateRegister AS LOGIN_LDT -- 최종로그인일시
  149. , NULL AS CI -- 인증CI
  150. , NULL AS AUTH_DT -- 인증일시
  151. , NULL AS SNS_TYPE
  152. , NULL AS MANAGED_RSN -- 관리대상지정사유(공통코드G103)
  153. , NULL AS MANAGED_DTL_RSN -- 관리대상지정상세사유
  154. , NULL AS MANAGED_DT -- 관리대상지정일시
  155. , NULL AS SECEDE_RSN -- 탈퇴사유(공통코드G102)
  156. , WithdrawReason AS SECEDE_DTL_RSN -- 탈퇴상세사유
  157. , DateWithdraw AS SECEDE_DT-- 탈퇴일시
  158. , NULL AS BIRTH_MM
  159. , 2 AS REG_NO -- 등록자번호
  160. , DateWithdraw AS REG_DT -- 등록일시
  161. , 2 AS UPD_NO -- 수정자번호
  162. , DateWithdraw AS UPD_DT-- 수정일시
  163. , MemberGUID
  164. FROM old_prf_memberwithdrawal A
  165. WHERE NOT EXISTS(
  166. SELECT 1
  167. FROM tb_customer
  168. WHERE CUST_ID = A.LoginId
  169. )
  170. ;
  171. UPDATE tb_customer A
  172. SET REG_NO = CUST_NO
  173. , UPD_NO = CUST_NO
  174. WHERE 1=1
  175. ; -- 1분9초
  176. -- 생일 이벤트용
  177. /*
  178. TRUNCATE TABLE tb_batch_birth;
  179. INSERT INTO tb_batch_birth
  180. SELECT
  181. CUST_NO
  182. , BIRTH_YMD
  183. , REG_NO
  184. , REG_DT
  185. , UPD_NO
  186. , UPD_DT
  187. FROM tb_customer
  188. ; -- 36초
  189. */
  190. -- 마케팅수신동의이력
  191. TRUNCATE TABLE TB_CUST_MARKET_HST;
  192. ALTER TABLE TB_CUST_MARKET_HST AUTO_INCREMENT = 1;
  193. INSERT INTO TB_CUST_MARKET_HST (CUST_NO, APP_AGREE_YN, SMS_AGREE_YN, EMAIL_AGREE_YN, MK_AGREE_YN, REG_NO, REG_DT)
  194. SELECT CUST_NO
  195. , APP_AGREE_YN
  196. , SMS_AGREE_YN
  197. , EMAIL_AGREE_YN
  198. , MK_AGREE_YN
  199. , CUST_NO
  200. , IFNULL((SELECT MAX(AGREE_DT)
  201. FROM (
  202. SELECT APP_AGREE_DT AS AGREE_DT FROM tb_customer X WHERE X.CUST_NO = A.CUST_NO
  203. UNION ALL SELECT SMS_AGREE_DT AS AGREE_DT FROM tb_customer X WHERE X.CUST_NO = A.CUST_NO
  204. UNION ALL SELECT EMAIL_AGREE_DT AS AGREE_DT FROM tb_customer X WHERE X.CUST_NO = A.CUST_NO
  205. UNION ALL SELECT MK_AGREE_DT AS AGREE_DT FROM tb_customer X WHERE X.CUST_NO = A.CUST_NO
  206. ) X ), A.REG_DT) AS REG_DT
  207. FROM tb_customer A
  208. ; -- 1분30초
  209. SELECT MAX(CUST_MARKET_HST_SQ) FROM TB_CUST_MARKET_HST;
  210. ALTER TABLE TB_CUST_MARKET_HST AUTO_INCREMENT = 4241764;
  211. -- 상품평
  212. TRUNCATE TABLE tb_review;
  213. ALTER TABLE tb_review AUTO_INCREMENT = 1;
  214. INSERT INTO tb_review
  215. SELECT
  216. ReviewNo AS REVIEW_SQ
  217. , GOODS_CD -- 상품코드
  218. ,'R' AS REVIEW_GB -- 상품평구분(R:일반상품평, P:프리미엄상품평)
  219. , (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = LoginId) AS CUST_NO
  220. , NULL AS ORD_NO
  221. , NULL AS ORD_DTL_NO
  222. , Title AS REVIEW_TITLE -- 상품평제목
  223. , Contents AS REVIEW_CONTENT -- 상품평내용
  224. , CASE WHEN Rate_Satisfied = '5' THEN '5' -- 매우 만족
  225. WHEN Rate_Satisfied = '4' THEN '4' -- 만족
  226. WHEN Rate_Satisfied = '3' THEN '3' -- 보통
  227. WHEN Rate_Satisfied = '2' THEN '2' -- 불만
  228. WHEN Rate_Satisfied = '1' THEN '1' -- 매우 불만
  229. ELSE '3'
  230. END AS SCORE -- 구매평점
  231. , NULL AS HEIGHT -- 키
  232. , NULL AS WEIGHT -- 몸무게
  233. , CASE WHEN Rate_Size = '1' THEN '2' -- 딱맞음
  234. WHEN Rate_Size = '2' THEN '1' -- 작음
  235. WHEN Rate_Size = '3' THEN '3' -- 큼
  236. ELSE '1'
  237. END AS SCORE_SIZE
  238. , CASE WHEN Rate_Color = '1' THEN '2' -- 똑같음
  239. WHEN Rate_Color = '2' THEN '3' -- 어두움
  240. WHEN Rate_Color = '3' THEN '1' -- 밝음
  241. ELSE '1'
  242. END AS SCORE_COLOR
  243. , NULL AS SCORE_FIT -- 핏점수(공통코드G042)
  244. , NULL AS SCORE_THICK -- 두께감점수(공통코드G079)
  245. , NULL AS SCORE_WEIGHT -- 무게감점수(공통코드G080)
  246. , NULL AS SCORE_BALL -- 볼넓이점수(공통코드G041)
  247. , Point AS GIVE_DUE_PNT -- 지급예정포인트
  248. , 'G043_30' AS PNT_GIVE_STAT -- 포인트지급상태(공통코드G043)
  249. , IF(IsBestReview = 'True', 'P', 'R') AS BEST_YN -- 베스트여부
  250. , 0 AS GIVE_DUE_BPNT -- 베스트포인트예정포인트
  251. , 'N' AS BPNT_GIVE_YN -- 베스트포인트지급여부
  252. , IF(StatusCd = '게시', 'Y', 'N') AS DISP_YN -- 표시여부
  253. , 'N' AS DEL_YN -- 삭제여부
  254. , 'Y' AS CONFIRM_YN -- 확인여부
  255. , NULL AS CONFIRM_UNO -- 확인자번호
  256. , NULL AS CONFIRM_DT -- 확인일시
  257. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = LoginId) IS NULL, 2, (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = LoginId)) AS REG_NO
  258. , DateCreated AS REG_DT
  259. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = LoginId) IS NULL, 2, (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = LoginId)) AS UPD_NO
  260. , DateCreated AS UPD_DT
  261. , NULL AS ADM_RPL
  262. , NULL AS ADM_RPL_REG_NO
  263. , NULL AS ADM_RPL_DT
  264. , 'N' AS RPL_CFM_YN
  265. , NULL AS RPL_CFM_DT
  266. FROM old_cat_productreview A, tmp_tb_goods B
  267. WHERE A.ProductNo = B.PRODUCT_NO
  268. AND IssueTypeCd = '구매확정'
  269. AND Contents IS NOT NULL
  270. ; -- 45초
  271. -- 포토(프리미엄) 상품평 (상품평은 게시, 포토는 게시안함 은 일반 상품평으로!!)
  272. UPDATE tb_review X
  273. SET REVIEW_GB = 'P'
  274. , GIVE_DUE_PNT = GIVE_DUE_PNT + (SELECT SUM(IF(Point IS NULL, 0, Point)) FROM old_cat_photoproductreview P WHERE P.ReviewNo = X.REVIEW_SQ)
  275. WHERE EXISTS(
  276. SELECT 1
  277. FROM old_cat_photoproductreview A
  278. WHERE A.ReviewNo = X.REVIEW_SQ
  279. AND A.StatusCd = '게시'
  280. )
  281. ; -- 6초
  282. SELECT MAX(REVIEW_SQ) FROM tb_review;
  283. ALTER TABLE tb_review AUTO_INCREMENT = 4956516;
  284. -- 포토 첨부파일
  285. TRUNCATE TABLE tb_review_attach;
  286. ALTER TABLE tb_review_attach AUTO_INCREMENT = 1;
  287. INSERT INTO tb_review_attach
  288. SELECT
  289. AttachNo AS RV_ATC_SQ
  290. , REVIEW_SQ
  291. , 'I' AS FILE_GB
  292. , REPLACE(AttachUrl, '/Upload', '') AS ORG_FILE_NM
  293. , REPLACE(AttachUrl, '/Upload', '') AS SYS_FILE_NM
  294. , NULL AS KMC_KEY
  295. , NULL AS KUF_KEY
  296. , 'N' AS DEL_YN
  297. , REG_NO
  298. , REG_DT
  299. , UPD_NO
  300. , UPD_DT
  301. FROM old_cat_photoproductreviewattach A, old_cat_photoproductreview B, tb_review C
  302. WHERE A.PhotoReviewNo = B.PhotoReviewNo
  303. AND B.ReviewNo = C.REVIEW_SQ
  304. ; -- 5초
  305. SELECT MAX(RV_ATC_SQ) FROM tb_review_attach;
  306. ALTER TABLE tb_review_attach AUTO_INCREMENT = 224568;
  307. -- 상품문의
  308. TRUNCATE TABLE tb_counsel;
  309. ALTER TABLE tb_counsel AUTO_INCREMENT = 1;
  310. INSERT INTO tb_counsel
  311. SELECT
  312. COUNSEL_SQ -- 상담일련번호
  313. , SITE_CD -- 사이트코드(공통코드G000)
  314. , COUNSEL_CLSF -- 상담분류코드(공통코드G059)
  315. , COUNSEL_DCLSF
  316. , CUST_NO
  317. , CELL_PHNNO
  318. , EMAIL
  319. , EMAIL_REQ_YN
  320. , EMAIL_SEND_YN
  321. , SMS_REQ_YN
  322. , SMS_SEND_YN
  323. , REL_ORD_NO
  324. , REL_GOODS_CD
  325. , COUNSEL_TYPE -- 문의타입(C:1:1문의 / G:상품문의)
  326. , QUEST_TITLE
  327. , QUEST_CONTENT
  328. , QUEST_DT
  329. , ORG_FILE_NM1
  330. , SYS_FILE_NM1
  331. , ORG_FILE_NM2
  332. , SYS_FILE_NM2
  333. , ANS_STAT -- 답변상태(공통코드G060)
  334. , ANS_TRANS_YN -- 답변의뢰여부(Y:입점업체에 답변 의뢰)
  335. , ANS_COMP_CD
  336. , ANS_TRANS_NO
  337. , ANS_TRANS_DT
  338. , ASSIGNED_CS_NO -- 할당된CS담당자번호(사용자)
  339. , ASSIGNED_YMD
  340. , ASSIGNED_HMS
  341. , ANS_TITLE -- 답변제목
  342. , ANS_CONTENT -- 답변내용
  343. , ANS_NO -- 답변자번호(사용자)
  344. , ANS_DT -- 답변일시
  345. , SECRET_YN
  346. , DEL_YN
  347. , REG_NO
  348. , REG_DT
  349. , UPD_NO
  350. , UPD_DT
  351. FROM (
  352. SELECT RANK() over (PARTITION BY A.InquireNo ORDER BY B.ResponseNo DESC) AS RNK
  353. , A.InquireNo AS COUNSEL_SQ -- 상담일련번호
  354. , 'G000_10' AS SITE_CD -- 사이트코드(공통코드G000)
  355. , 'G596' AS COUNSEL_CLSF -- 상담분류코드(공통코드G059)
  356. , NULL AS COUNSEL_DCLSF
  357. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.LoginId) IS NULL, 0,
  358. (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.LoginId)) AS CUST_NO
  359. , A.CellNum AS CELL_PHNNO
  360. , A.Email AS EMAIL
  361. , 'N' AS EMAIL_REQ_YN
  362. , 'N' AS EMAIL_SEND_YN
  363. , IF(A.IsReceiveSMS = 'True', 'Y', 'N') AS SMS_REQ_YN
  364. , IF(A.IsReceiveSMS = 'True', 'Y', 'N') AS SMS_SEND_YN
  365. , NULL AS REL_ORD_NO
  366. , (SELECT GOODS_CD FROM tmp_tb_goods X WHERE X.PRODUCT_NO = A.ProductNo) AS REL_GOODS_CD
  367. , 'G' AS COUNSEL_TYPE -- 문의타입(C:1:1문의 / G:상품문의)
  368. , A.Title AS QUEST_TITLE
  369. , A.Contents AS QUEST_CONTENT
  370. , A.Date_FirstCreated AS QUEST_DT
  371. , NULL AS ORG_FILE_NM1
  372. , NULL AS SYS_FILE_NM1
  373. , NULL AS ORG_FILE_NM2
  374. , NULL AS SYS_FILE_NM2
  375. , CASE
  376. WHEN A.StatusCd = '답변대기' THEN 'G060_10'
  377. WHEN A.StatusCd = '답변완료' THEN 'G060_20'
  378. ELSE 'G060_30' END AS ANS_STAT -- 답변상태(공통코드G060)
  379. , 'N' AS ANS_TRANS_YN -- 답변의뢰여부(Y:입점업체에 답변 의뢰)
  380. , NULL AS ANS_COMP_CD
  381. , NULL AS ANS_TRANS_NO
  382. , NULL AS ANS_TRANS_DT
  383. , NULL AS ASSIGNED_CS_NO -- 할당된CS담당자번호(사용자)
  384. , NULL AS ASSIGNED_YMD
  385. , NULL AS ASSIGNED_HMS
  386. , B.Title AS ANS_TITLE -- 답변제목
  387. , B.Contents AS ANS_CONTENT -- 답변내용
  388. , 0 AS ANS_NO -- 답변자번호(사용자)
  389. , B.Date_LastModified AS ANS_DT -- 답변일시
  390. , CASE WHEN B.OpenedTypeCd = '공개' THEN 'N' ELSE 'Y' END AS SECRET_YN
  391. , CASE WHEN A.DeletedCd = '삭제' THEN 'Y' ELSE 'N' END AS DEL_YN
  392. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.LoginId) IS NULL, 2,
  393. (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.LoginId)) AS REG_NO
  394. , A.Date_FirstCreated AS REG_DT
  395. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.LoginId) IS NULL, 2,
  396. (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.LoginId)) AS UPD_NO
  397. , IF(B.Date_LastModified IS NULL, A.Date_LastModified, B.Date_LastModified) AS UPD_DT
  398. FROM old_sys_productinquiry A
  399. LEFT OUTER JOIN
  400. old_sys_productinquiryresponse B
  401. ON A.InquireNo = B.InquireNo
  402. ) A
  403. WHERE A.RNK = 1
  404. ; -- 11초
  405. INSERT INTO tb_counsel
  406. SELECT
  407. A.CounselNo AS COUNSEL_SQ -- 상담일련번호
  408. , 'G000_10' AS SITE_CD -- 사이트코드(공통코드G000)
  409. , CASE WHEN A.CounselTypeCd = '교환문의' THEN 'G594'
  410. WHEN A.CounselTypeCd IN ('반품문의', '취소문의', '환불문의') THEN 'G595'
  411. WHEN A.CounselTypeCd = '배송문의' THEN 'G593'
  412. WHEN A.CounselTypeCd IN ('주문/결제문의', '단체주문 문의') THEN 'G592'
  413. WHEN A.CounselTypeCd IN ('쿠폰/아이머니/아이포인트', '서비스/이벤트 문의', '쿠폰/YES포인트') THEN 'G597'
  414. WHEN A.CounselTypeCd = '회원문의' THEN 'G591'
  415. WHEN A.CounselTypeCd = '상품문의' THEN 'G596'
  416. ELSE 'G599'
  417. END AS COUNSEL_CLSF -- 상담분류코드(공통코드G059)
  418. , NULL AS COUNSEL_DCLSF
  419. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.UserIdCreatedBy) IS NULL, 0,
  420. (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.UserIdCreatedBy)) AS CUST_NO
  421. , A.ReplySMS AS CELL_PHNNO
  422. , A.ReplyEmail AS EMAIL
  423. , IF(A.IsReplyEmail = 'True', 'Y', 'N') AS EMAIL_REQ_YN
  424. , IF(A.IsReplyEmail = 'True', 'Y', 'N') AS EMAIL_SEND_YN
  425. , IF(A.IsReplySMS = 'True', 'Y', 'N') AS SMS_REQ_YN
  426. , IF(A.IsReplySMS = 'True', 'Y', 'N') AS SMS_SEND_YN
  427. , IF(A.OrderNo = 0, NULL, A.OrderNo) AS REL_ORD_NO
  428. , NULL AS REL_GOODS_CD
  429. , 'C' AS COUNSEL_TYPE -- 문의타입(C:1:1문의 / G:상품문의)
  430. , A.Title AS QUEST_TITLE
  431. , IF(A.Contents IS NULL, '내용없음', A.Contents) AS QUEST_CONTENT
  432. , A.DateCreated AS QUEST_DT
  433. , NULL AS ORG_FILE_NM1
  434. , NULL AS SYS_FILE_NM1
  435. , NULL AS ORG_FILE_NM2
  436. , NULL AS SYS_FILE_NM2
  437. , CASE
  438. WHEN A.StatusCd = '접수' THEN 'G060_10'
  439. WHEN A.StatusCd = '답변완료' THEN 'G060_20'
  440. ELSE 'G060_30' END AS ANS_STAT -- 답변상태(공통코드G060)
  441. , 'N' AS ANS_TRANS_YN -- 답변의뢰여부(Y:입점업체에 답변 의뢰)
  442. , NULL AS ANS_COMP_CD
  443. , NULL AS ANS_TRANS_NO
  444. , NULL AS ANS_TRANS_DT
  445. , NULL AS ASSIGNED_CS_NO -- 할당된CS담당자번호(사용자)
  446. , NULL AS ASSIGNED_YMD
  447. , NULL AS ASSIGNED_HMS
  448. , NULL AS ANS_TITLE -- 답변제목
  449. , NULL AS ANS_CONTENT -- 답변내용
  450. , 0 AS ANS_NO -- 답변자번호(사용자)
  451. , NULL AS ANS_DT -- 답변일시
  452. , 'N' AS SECRET_YN
  453. , CASE WHEN A.StatusCd = '삭제' THEN 'Y' ELSE 'N' END AS DEL_YN
  454. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.UserIdCreatedBy) IS NULL, 2,
  455. (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.UserIdCreatedBy)) AS REG_NO
  456. , A.DateCreated AS REG_DT
  457. , IF((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.UserIdCreatedBy) IS NULL, 2,
  458. (SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = A.UserIdCreatedBy)) AS UPD_NO
  459. , A.DateReply AS UPD_DT
  460. FROM old_sys_mantomancounsel A
  461. WHERE CounselNo = PCounselNo
  462. ; -- 32초
  463. UPDATE tb_counsel A
  464. SET ORG_FILE_NM1 = (SELECT AttachUrl FROM old_sys_mantomancounselattach X WHERE X.CounselNo = A.COUNSEL_SQ ORDER BY AttachNo LIMIT 1)
  465. , SYS_FILE_NM1 = (SELECT AttachUrl FROM old_sys_mantomancounselattach X WHERE X.CounselNo = A.COUNSEL_SQ ORDER BY AttachNo LIMIT 1)
  466. , ORG_FILE_NM2 = (SELECT AttachUrl FROM old_sys_mantomancounselattach X WHERE X.CounselNo = A.COUNSEL_SQ ORDER BY AttachNo LIMIT 1, 1)
  467. , SYS_FILE_NM2 = (SELECT AttachUrl FROM old_sys_mantomancounselattach X WHERE X.CounselNo = A.COUNSEL_SQ ORDER BY AttachNo LIMIT 1, 1)
  468. , ANS_TITLE = (SELECT Title FROM old_sys_mantomancounsel X WHERE X.PCounselNo = A.COUNSEL_SQ ORDER BY CounselNo DESC LIMIT 1)
  469. , ANS_CONTENT = (SELECT Contents FROM old_sys_mantomancounsel X WHERE X.PCounselNo = A.COUNSEL_SQ ORDER BY CounselNo DESC LIMIT 1)
  470. , ANS_DT = (SELECT DateReply FROM old_sys_mantomancounsel X WHERE X.CounselNo = A.COUNSEL_SQ)
  471. WHERE A.COUNSEL_CLSF != 'G596'
  472. ; -- 1분2초
  473. SELECT MAX(COUNSEL_SQ) FROM tb_counsel;
  474. ALTER TABLE tb_counsel AUTO_INCREMENT = 3010932;
  475. -- 주문정보
  476. /*
  477. DELETE FROM old_ord_orderitem A
  478. WHERE EXISTS(
  479. SELECT 1
  480. FROM old_ord_order B
  481. WHERE B.OrderGUID = A.OrderGUID
  482. AND OrderStatusCd = '주문파기'
  483. )
  484. ;
  485. DELETE FROM old_ord_order WHERE OrderStatusCd = '주문파기';
  486. SELECT COUNT(1) FROM old_ord_order WHERE OrderStatusCd = '주문파기';
  487. */
  488. -- TRUNCATE TABLE TB_ORDER;
  489. INSERT INTO tb_order
  490. SELECT OrderNo AS ORD_NO -- 주문번호
  491. -- , IF(ChannelCd IN('ist_auction','ist_faplus','ist_gmarket','ist_gsshop','ist_halfclub','ist_hmall','ist_ssg','ist_st11th','ist_timon','ist_wemape','ist_wemape2'), 'G011_20', 'G011_10') AS MALL_GB
  492. , IF((SELECT COUNT(1) FROM mig_extmall X WHERE X.CHANNEL_CD = A.ChannelCd) > 0, 'G011_20', 'G011_10') AS MALL_GB
  493. , DateOrdered AS ORD_DT
  494. , (SELECT DatePaid FROM old_ord_payment X WHERE OrderGUID = A.OrderGUID AND PaymentStatusCd = '결제완료' ORDER BY PaymentNo ASC LIMIT 1) AS PAY_DT
  495. , CASE WHEN CustomerTypeCd = '비회원' THEN 0 ELSE CUST_NO END AS CUST_NO
  496. , CustomerName AS ORD_NM
  497. , A.CellNum AS ORD_PHNNO
  498. , A.TelNum AS ORD_TELNO
  499. , CustomerEmail AS ORD_EMAIL
  500. , 'G000_10' AS SITE_CD
  501. , NULL AS NPAY_ORD_NO
  502. , 'P' AS FRONT_GB
  503. , 'Y' AS DISP_YN
  504. , B.CUST_NO AS REG_NO
  505. , DateOrdered AS REG_DT
  506. , B.CUST_NO AS UPD_NO
  507. , DateOrdered AS REG_DT
  508. FROM old_ord_order A, tb_customer B
  509. WHERE A.LoginId = B.CUST_ID
  510. AND OrderStatusCd != '주문파기'
  511. ; -- 8분17초
  512. -- 비회원 주문정보
  513. INSERT INTO tb_order
  514. SELECT OrderNo AS ORD_NO -- 주문번호
  515. , IF((SELECT COUNT(1) FROM mig_extmall X WHERE X.CHANNEL_CD = A.ChannelCd) > 0, 'G011_20', 'G011_10') AS MALL_GB
  516. , DateOrdered AS ORD_DT
  517. , (SELECT DatePaid FROM old_ord_payment X WHERE OrderGUID = A.OrderGUID AND PaymentStatusCd = '결제완료' ORDER BY PaymentNo ASC LIMIT 1) AS PAY_DT
  518. , 0 AS CUST_NO
  519. , CustomerName AS ORD_NM
  520. , A.CellNum AS ORD_PHNNO
  521. , A.TelNum AS ORD_TELNO
  522. , CustomerEmail AS ORD_EMAIL
  523. , 'G000_10' AS SITE_CD
  524. , NULL AS NPAY_ORD_NO
  525. , 'P' AS FRONT_GB
  526. , 'Y' AS DISP_YN
  527. , 0 AS REG_NO
  528. , DateOrdered AS REG_DT
  529. , 0 AS UPD_NO
  530. , DateOrdered AS REG_DT
  531. FROM old_ord_order A
  532. WHERE CustomerTypeCd = '비회원'
  533. AND OrderStatusCd != '주문파기'
  534. ; -- 11분4초
  535. SELECT MAX(ORD_NO) FROM tb_order;
  536. ALTER TABLE tb_order AUTO_INCREMENT = 19856387;
  537. -- 주문메모
  538. -- TRUNCATE TABLE tb_order_memo;
  539. -- ALTER TABLE tb_order_memo AUTO_INCREMENT = 1;
  540. INSERT INTO tb_order_memo (ORD_NO, MEMO, ORG_FILE_NM, SYS_FILE_NM, DEL_YN, REG_NO, REG_DT, UPD_NO, UPD_DT)
  541. SELECT
  542. B.ORD_NO
  543. , AdminMemo AS MEMO
  544. , NULL AS ORG_FILE_NM
  545. , NULL AS SYS_FILE_NM
  546. , 'N' AS DEL_YN
  547. , 99999 AS REG_NO
  548. , NOW() AS REG_DT
  549. , 99999 AS UPD_NO
  550. , NOW() AS UPD_DT
  551. FROM old_ord_order A, tb_order B
  552. WHERE A.OrderNo = B.ORD_NO
  553. AND OrderStatusCd != '주문파기'
  554. AND AdminMemo IS NOT NULL
  555. AND AdminMemo != ''
  556. ; -- 6초
  557. SELECT MAX(ORD_MEMO_SQ) FROM tb_order_memo;
  558. ALTER TABLE tb_order_memo AUTO_INCREMENT = 16389;
  559. -- 보증보험
  560. TRUNCATE TABLE TB_INSURANCE;
  561. INSERT INTO TB_INSURANCE
  562. SELECT
  563. ORD_NO
  564. , CUST_NO
  565. , BIRTH_GEN
  566. , IF_YN
  567. , INS_NO
  568. , RESULT_CD
  569. , RESULT_MSG
  570. , REG_DT
  571. FROM (
  572. SELECT
  573. Oid AS ORD_NO
  574. , IFNULL((SELECT CUST_NO FROM tb_customer X WHERE X.CUST_ID = LoginID), 0) AS CUST_NO
  575. , Pid AS BIRTH_GEN
  576. , 'Y' AS IF_YN
  577. , result_msg AS INS_NO
  578. , result_code AS RESULT_CD
  579. , NULL AS RESULT_MSG
  580. , DateCreated AS REG_DT
  581. , ROW_NUMBER() OVER (PARTITION BY OID ORDER BY OID) AS RNK
  582. FROM old_ord_insurance
  583. WHERE result_code = 0
  584. ) X
  585. WHERE RNK = 1
  586. ;
  587. -- 포인트
  588. TRUNCATE TABLE tb_cust_point;
  589. ALTER TABLE tb_cust_point AUTO_INCREMENT = 1;
  590. INSERT INTO tb_cust_point (CUST_NO, GV_PNT_AMT, US_PNT_AMT, RM_PNT_AMT, EXP_BE_DT, EXP_CMP_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  591. SELECT
  592. Y.CUST_NO
  593. , (SELECT (POINT + MILEAGE) FROM OLD_PRF_MEMBER X WHERE X.MEMBERGUID = Y.MEMBER_GUID) AS GV_PNT_AMT
  594. , 0 AS US_PNT_AMT
  595. , (SELECT (POINT + MILEAGE) FROM OLD_PRF_MEMBER X WHERE X.MEMBERGUID = Y.MEMBER_GUID) AS RM_PNT_AMT
  596. , DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59'), INTERVAL 2 YEAR) AS EXP_BE_DT
  597. , NULL AS EXP_CMP_DT
  598. , 99999 AS REG_NO
  599. , NOW() AS REG_DT
  600. , 99999 AS UPD_NO
  601. , NOW() AS UPD_DT
  602. FROM tb_customer Y
  603. WHERE Y.CUST_NO > 0
  604. ;
  605. /*
  606. INSERT INTO tb_cust_point (CUST_NO, GV_PNT_AMT, US_PNT_AMT, RM_PNT_AMT, EXP_BE_DT, EXP_CMP_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  607. SELECT
  608. CUST_NO
  609. , GV_PNT_AMT
  610. , US_PNT_AMT
  611. , RM_PNT_AMT
  612. , DATE_ADD(DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59'), INTERVAL 2 YEAR) AS EXP_BE_DT
  613. , NULL AS EXP_CMP_DT
  614. , 99999 AS REG_NO
  615. , NOW() AS REG_DT
  616. , 99999 AS UPD_NO
  617. , NOW() AS UPD_DT
  618. FROM (
  619. SELECT
  620. Y.CUST_NO
  621. -- , (SELECT SUM(Mileage) FROM old_prf_membermileage C WHERE C.MemberGUID = Y.MEMBER_GUID)
  622. -- + (SELECT SUM(Point) FROM old_prf_memberpoint C WHERE C.MemberGUID = Y.MEMBER_GUID) AS GV_PNT_AMT
  623. , SUM(Remains) AS GV_PNT_AMT
  624. , 0 AS US_PNT_AMT
  625. , SUM(Remains) AS RM_PNT_AMT
  626. FROM tb_customer Y
  627. , (
  628. SELECT MemberGUID
  629. , Remains
  630. FROM (
  631. SELECT MemberGUID, Remains
  632. , RANK() over (PARTITION BY MemberGUID ORDER BY ItemNo DESC) AS RNK
  633. FROM old_prf_membermileage A
  634. ) X
  635. WHERE RNK = 1
  636. UNION ALL
  637. SELECT MemberGUID
  638. , Remains
  639. FROM (
  640. SELECT MemberGUID, Remains
  641. , RANK() over (PARTITION BY MemberGUID ORDER BY ItemNo DESC) AS RNK
  642. FROM old_prf_memberpoint A
  643. ) X
  644. WHERE RNK = 1
  645. ) Z
  646. WHERE Y.MEMBER_GUID = Z.MemberGUID
  647. AND Y.CUST_NO > 0
  648. GROUP BY CUST_NO
  649. ) D
  650. ;
  651. */
  652. SELECT MAX(CUST_PNT_SQ) FROM tb_cust_point;
  653. ALTER TABLE tb_cust_point AUTO_INCREMENT = 1307307;
  654. TRUNCATE TABLE tb_cust_point_hst;
  655. ALTER TABLE tb_cust_point_hst AUTO_INCREMENT = 1;
  656. INSERT INTO tb_cust_point_hst (CUST_NO, OCCUR_GB, OCCUR_DTL_DESC, PNT_AMT, CUST_PNT_SQ, ORD_NO, ORD_DTL_NO, REVIEW_SQ, SWITCH_DUE_DT, PNT_UPLOAD_STAT, PNT_UPLOAD_DT, REG_NO, REG_DT, UPD_NO, UPD_DT)
  657. SELECT *
  658. FROM (
  659. SELECT CUST_NO
  660. , CASE
  661. WHEN IssueTypeCd = '환전' THEN 'G069_12'
  662. WHEN IssueTypeCd = '지급' THEN 'G069_40'
  663. WHEN IssueTypeCd = '환불' THEN 'G069_41'
  664. WHEN IssueTypeCd = '주문' THEN 'G069_12'
  665. ELSE 'G069_90' END AS OCCUR_GB
  666. , AdminMemo AS OCCUR_DTL_DESC
  667. , Mileage AS PNT_AMT
  668. , (SELECT CUST_PNT_SQ FROM tb_cust_point X WHERE X.CUST_NO = B.CUST_NO) AS CUST_PNT_SQ
  669. , OrderNo AS ORD_NO
  670. , NULL AS ORD_DTL_NO
  671. , NULL AS REVIEW_SQ
  672. , DateCreated AS SWITCH_DUE_DT
  673. , 'G070_30' AS PNT_UPLOAD_STAT
  674. , DateCreated AS PNT_UPLOAD_DT
  675. , 99999 AS REG_NO
  676. , DateCreated AS REG_DT
  677. , 99999 AS UPD_NO
  678. , DateCreated AS UPD_DT
  679. FROM old_prf_membermileage A,
  680. tb_customer B
  681. WHERE A.MemberGUID = B.MEMBER_GUID
  682. UNION ALL
  683. SELECT
  684. CUST_NO
  685. , CASE WHEN IssueTypeCd = '주문' THEN 'G069_12'
  686. WHEN IssueTypeCd = '멤버쉽혜택' THEN 'G069_12'
  687. WHEN IssueTypeCd = '환전' THEN 'G069_90'
  688. WHEN IssueTypeCd = '주문예외' THEN 'G069_13'
  689. WHEN IssueTypeCd = '상품평' AND Point >= 0 THEN 'G069_20'
  690. WHEN IssueTypeCd = '상품평' AND Point < 0 THEN 'G069_21'
  691. WHEN IssueTypeCd = '알림 이벤트' THEN 'G069_30'
  692. WHEN IssueTypeCd = '출석체크' THEN 'G069_37'
  693. WHEN IssueTypeCd = '포토상품평' AND Point >= 0 THEN 'G069_20'
  694. WHEN IssueTypeCd = '포토상품평' AND Point < 0 THEN 'G069_21'
  695. WHEN IssueTypeCd = '이벤트' THEN 'G069_30'
  696. WHEN IssueTypeCd = '우수상품평' AND Point >= 0 THEN 'G069_20'
  697. WHEN IssueTypeCd = '우수상품평' AND Point < 0 THEN 'G069_21'
  698. WHEN IssueTypeCd = '이벤트참여' THEN 'G069_30'
  699. WHEN IssueTypeCd = '총알배송지연보상' THEN 'G069_47'
  700. WHEN IssueTypeCd = '추가적립(프로모션)' THEN 'G069_30'
  701. WHEN IssueTypeCd = '기간소멸' THEN 'G069_99'
  702. ELSE 'G069_90' END AS OCCUR_GB
  703. , AdminMemo AS OCCUR_DTL_DESC
  704. , Point AS PNT_AMT
  705. , (SELECT CUST_PNT_SQ FROM tb_cust_point X WHERE X.CUST_NO = B.CUST_NO) AS CUST_PNT_SQ
  706. , OrderNo AS ORD_NO
  707. , NULL AS ORD_DTL_NO
  708. , NULL AS REVIEW_SQ
  709. , DateCreated AS SWITCH_DUE_DT
  710. , 'G070_30' AS PNT_UPLOAD_STAT
  711. , DateCreated AS PNT_UPLOAD_DT
  712. , 99999 AS REG_NO
  713. , DateCreated AS REG_DT
  714. , 99999 AS UPD_NO
  715. , DateCreated AS UPD_DT
  716. FROM old_prf_memberpoint A, tb_customer B
  717. WHERE A.MemberGUID = B.MEMBER_GUID
  718. ) BB
  719. ORDER BY REG_DT
  720. ;
  721. SELECT MAX(PNT_HST_SQ) FROM tb_cust_point_hst;
  722. ALTER TABLE tb_cust_point_hst AUTO_INCREMENT = 2244858;
  723. /*
  724. SELECT DISTINCT IssueTypeCd FROM old_prf_memberpoint;
  725. 주문 G069_12
  726. 멤버쉽혜택 G069_12
  727. 환전 G069_90
  728. 주문예외 G069_13
  729. 상품평 G069_20 Point >= 0 , G069_21 Point < 0
  730. 알림 이벤트 G069_30
  731. 출석체크 G069_37
  732. 포토상품평 G069_20 Point >= 0 , G069_21 Point < 0
  733. 이벤트 G069_30
  734. 우수상품평 G069_20 Point >= 0 , G069_21 Point < 0
  735. 이벤트참여 G069_30
  736. 총알배송지연보상 G069_47
  737. 추가적립(프로모션) G069_30
  738. 기간소멸 G069_99
  739. SELECT * FROM tb_common_code WHERE CD_GB = 'G069';
  740. G069_12 예정포인트적립
  741. G069_13 예정포인트적립취소
  742. G069_20 상품평포인트지급
  743. G069_21 상품평포인트지급취소
  744. G069_30 온라인이벤트
  745. G069_31 회원가입축하
  746. G069_32 생일축하
  747. G069_33 재방문
  748. G069_34 패밀리세일
  749. G069_35 APP다운로드
  750. G069_36 사은품구매
  751. G069_37 출석체크
  752. G069_40 구매포인트사용
  753. G069_41 구매포인트사용취소
  754. G069_42 사은품포인트사용
  755. G069_43 사은품포인트사용취소
  756. G069_44 관리자지급
  757. G069_45 관리자취소
  758. G069_46 적립취소
  759. G069_90 기타
  760. G069_99 포인트소멸
  761. */
  762. -- 상품권
  763. TRUNCATE TABLE tb_cust_giftcard;
  764. ALTER TABLE tb_cust_giftcard AUTO_INCREMENT = 1;
  765. INSERT INTO tb_cust_giftcard
  766. SELECT
  767. TokenNo AS CUST_GFCD_SQ
  768. , CUST_NO
  769. , TokenSerial AS GFCD_NO
  770. , TokenName AS GFCD_NM
  771. , Amount AS CHG_GFCD_AMT
  772. , UseAmount AS US_GFCD_AMT
  773. , TotalAmount AS RM_GFCD_AMT
  774. , REPLACE(DateIssueStart, '-', '') AS RM_GFCD_AMT
  775. , REPLACE(DateIssueEnd, '-', '') AS USE_EXP_DATE
  776. , REG_NO
  777. , DateRegister AS REG_DT
  778. , REG_NO AS UPD_NO
  779. , DateModify AS UPD_DT
  780. FROM old_prf_token A, tb_customer B
  781. WHERE A.LoginId = B.CUST_ID
  782. ORDER BY A.TokenNo
  783. ;
  784. SELECT MAX(CUST_GFCD_SQ) FROM tb_cust_giftcard;
  785. ALTER TABLE tb_cust_giftcard AUTO_INCREMENT = 23632;
  786. TRUNCATE TABLE tb_cust_giftcard_hst;
  787. INSERT INTO tb_cust_giftcard_hst
  788. SELECT
  789. TokenIssueNo AS GFCD_HST_SQ
  790. , CUST_NO
  791. , CONCAT('G074_1', UseTypeCd) AS OCCUR_GB
  792. , AdminMemo AS OCCUR_DTL_DESC
  793. , CASE WHEN UseTypeCd = '1' THEN SourceAmt
  794. WHEN UseTypeCd = '2' THEN UseAmt * -1
  795. WHEN UseTypeCd = '3' THEN UseAmt
  796. WHEN UseTypeCd = '4' THEN UseAmt * -1
  797. WHEN UseTypeCd = '5' THEN UseAmt * -1
  798. WHEN UseTypeCd = '6' THEN UseAmt * -1 -- ???
  799. WHEN UseTypeCd = '7' THEN 0
  800. WHEN UseTypeCd = '8' THEN UseAmt
  801. WHEN UseTypeCd = '9' THEN UseAmt * -1
  802. ELSE 0 END AS GFCD_AMT
  803. , A.TokenNo
  804. , A.OrderId
  805. , NULL AS ORD_DTL_NO
  806. , NULL AS DELV_FEE_SQ
  807. , CUST_NO
  808. , DateUse AS REG_DT
  809. , CUST_NO
  810. , DateUse AS UPD_DT
  811. FROM old_prf_tokenissue A, tb_cust_giftcard B
  812. WHERE A.TokenNo = B.CUST_GFCD_SQ
  813. ORDER BY A.TokenIssueNo
  814. ;
  815. SELECT MAX(GFCD_HST_SQ) FROM tb_cust_giftcard_hst;
  816. ALTER TABLE tb_cust_giftcard_hst AUTO_INCREMENT = 68177616;
  817. -- UseTypeCd='1' -- 상품권 등록
  818. -- UseTypeCd='2' -- 주문에 의한 상품권 결제
  819. -- UseTypeCd='3' -- 주문 취소로 인한 상품권 사용 환불
  820. -- UseTypeCd='4' -- 상품권 유효기간 종료
  821. -- UseTypeCd='5' -- 상품권 파기
  822. -- UseTypeCd='6' -- 전액 현금 전환 환불
  823. -- UseTypeCd='7' -- 품절 환불로 인한 유효기간 연장
  824. -- UseTypeCd='8' -- 오환불로 인한 금액 추가
  825. -- UseTypeCd='9' -- 오환불로 인한 금액 차감
  826. -- SNS회원
  827. -- TB_CUSTOMER.SNS_TYPE
  828. -- 네이버 NV
  829. -- YES24 YS
  830. TRUNCATE TABLE TB_CUSTOMER_SNS;
  831. INSERT INTO TB_CUSTOMER_SNS
  832. SELECT
  833. CUST_NO
  834. , CASE WHEN Type = '1' THEN 'NV'
  835. WHEN Type = '6' THEN 'YS'
  836. ELSE NULL END AS SNS_TYPE
  837. , ServiceId AS SNS_ID
  838. , CUST_NO
  839. , MIN(DateRegister) AS REG_DT
  840. FROM old_prf_membersns A, tb_customer B
  841. WHERE A.MemberGUID = B.MEMBER_GUID
  842. AND ServiceId IS NOT NULL
  843. GROUP BY CUST_NO, Type, ServiceId
  844. ; -- 15초
  845. -- 환불계좌
  846. TRUNCATE TABLE tb_cust_account;
  847. ALTER TABLE tb_cust_account AUTO_INCREMENT = 1;
  848. INSERT INTO tb_cust_account (CUST_NO, BANK_CD, ACCOUNT_NO, ACCOUNT_NM, DEFAULT_YN, DEL_YN, REG_NO, REG_DT, UPD_NO, UPD_DT)
  849. SELECT
  850. CUST_NO
  851. , CASE WHEN BankId_Code1 = '26' THEN '21'
  852. ELSE BankId_Code1
  853. END AS BANK_CD
  854. , FN_ENC_AES(AccountId_No) AS ACCOUNT_NO
  855. , AccountUser_Name AS ACCOUNT_NM
  856. , 'Y' AS DEFAULT_YN
  857. , 'N' AS DEL_YN
  858. , CUST_NO AS REG_NO
  859. , Date_FirstCreated AS REG_DT
  860. , CUST_NO AS UPD_NO
  861. , Date_LastModified AS UPD_DT
  862. FROM old_prf_memberrefundaccount A, tb_customer B
  863. WHERE A.MemberGuid = B.MEMBER_GUID
  864. AND BankId_Code1 != ''
  865. ; -- 6초
  866. SELECT MAX(CUST_ACCOUNT_SQ) FROM tb_cust_account;
  867. ALTER TABLE tb_cust_account AUTO_INCREMENT = 203416;
  868. -- 휴면처리
  869. TRUNCATE TABLE tb_dormant_cust;
  870. INSERT INTO tb_dormant_cust
  871. SELECT
  872. CUST_NO
  873. , B.CUST_ID
  874. , B.CUST_NM AS CUST_NM -- 암호화
  875. , Password AS PASSWD
  876. , B.BIRTH_YMD AS BIRTH_YMD -- 암호화
  877. , B.SEX_GB -- 암호화
  878. , B.CELL_PHNNO -- 암호화
  879. , APP_AGREE_YN
  880. , APP_AGREE_DT
  881. , SMS_AGREE_YN
  882. , SMS_AGREE_DT
  883. , B.EMAIL -- 암호화
  884. , EMAIL_AGREE_YN
  885. , EMAIL_AGREE_DT
  886. , MK_AGREE_YN
  887. , MK_AGREE_DT
  888. , B.HOME_ZIPCODE -- 암호화
  889. , B.HOME_BASE_ADDR -- 자택기본주소_암호화
  890. , B.HOME_DTL_ADDR -- 자택상세주소_암호화
  891. , 'G000_10' AS SITE_CD
  892. , IF((SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) IS NULL, 'P', (SELECT FRONT_GB FROM MIG_AF WHERE ASIS_CD = A.RegisterPath)) AS FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
  893. , (SELECT AF_LINK_CD FROM MIG_AF WHERE ASIS_CD = A.RegisterPath) AS AF_LINK_CD -- 제휴링크코드
  894. , 'G100_10' AS CUST_GB -- 회원구분(공통코드G100)
  895. , 'G110_10' AS CUST_GRADE -- 회원등급(공통코드G110)
  896. , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS JOIN_DT -- 가입일시
  897. , IF(Nationality = '외국인', 'Y', 'N') AS FOREIGNER_YN -- 외국인여부(외국인:Y)
  898. , 'G104_20' AS CUST_STAT -- 고객상태(공통코드G104)
  899. , NULL AS PASSWD_CHG_DT -- 비밀번호변경일시
  900. , 'N' AS TEMP_PASSWD_YN -- 임시비밀번호여부
  901. , DateLastVisited AS LOGIN_LDT -- 최종로그인일시
  902. , A.CI -- 인증CI
  903. , NULL AS AUTH_DT -- 인증일시
  904. , NULL AS SNS_TYPE
  905. , NULL AS MANAGED_RSN -- 관리대상지정사유(공통코드G103)
  906. , NULL AS MANAGED_DTL_RSN -- 관리대상지정상세사유
  907. , NULL AS MANAGED_DT -- 관리대상지정일시
  908. , NULL AS SECEDE_RSN -- 탈퇴사유(공통코드G102)
  909. , NULL AS SECEDE_DTL_RSN -- 탈퇴상세사유
  910. , NULL AS SECEDE_DT-- 탈퇴일시
  911. , BIRTH_MM
  912. , 99999 AS REG_NO -- 배치 등록자번호로
  913. , IF(DateRegister IS NULL, DateLastModified, DateRegister) AS REG_DT -- 등록일시
  914. , 99999 AS UPD_NO -- 배치 수정자번호로
  915. , DateLastModified AS UPD_DT-- 수정일시
  916. , DateDormant AS DORMANT_DT
  917. FROM old_prf_memberdormant A, tb_customer B
  918. WHERE A.LoginId = B.CUST_ID
  919. ORDER BY A.MEMBERGUID
  920. LIMIT 0, 1000000
  921. -- LIMIT 1000000, 1000000
  922. -- LIMIT 2000000, 1000000
  923. ;
  924. UPDATE tb_customer A, tb_dormant_cust B
  925. SET -- A.CUST_NM = '/Sj2xBNOjrWVsTN8+IDeEg=='
  926. A.CUST_NM = 'AE53EBFF769245B6672C3942F56CEC39' -- 휴면
  927. , A.BIRTH_YMD = NULL
  928. , A.SEX_GB = NULL
  929. , A.CELL_PHNNO = NULL
  930. , A.SMS_AGREE_YN = 'N'
  931. , A.SMS_AGREE_DT = NULL
  932. , A.EMAIL = NULL
  933. , A.EMAIL_AGREE_YN = 'N'
  934. , A.EMAIL_AGREE_DT = NULL
  935. , A.APP_AGREE_YN = 'N'
  936. , A.APP_AGREE_DT = NULL
  937. , A.MK_AGREE_YN = 'N'
  938. , A.MK_AGREE_DT = NULL
  939. , A.HOME_ZIPCODE = NULL
  940. , A.HOME_BASE_ADDR = NULL
  941. , A.HOME_DTL_ADDR = NULL
  942. , A.CUST_STAT = 'G104_20'
  943. , A.RM_DORMANT_DT = (
  944. SELECT DateDormantUnlock
  945. FROM old_prf_memberdormantunlocklog X
  946. WHERE X.LoginId = A.CUST_ID
  947. )
  948. WHERE A.CUST_NO = B.CUST_NO
  949. ;
  950. -- 탈퇴처리
  951. TRUNCATE TABLE TB_SECEDE_CUST;
  952. INSERT INTO TB_SECEDE_CUST
  953. SELECT
  954. CUST_NO
  955. , CUST_ID
  956. , CUST_NM -- 암호화
  957. , PASSWD
  958. , BIRTH_YMD -- 암호화
  959. , SEX_GB -- 암호화
  960. , CELL_PHNNO -- 암호화
  961. , APP_AGREE_YN
  962. , APP_AGREE_DT
  963. , SMS_AGREE_YN
  964. , SMS_AGREE_DT
  965. , B.EMAIL -- 암호화
  966. , EMAIL_AGREE_YN
  967. , EMAIL_AGREE_DT
  968. , MK_AGREE_YN
  969. , MK_AGREE_DT
  970. , HOME_ZIPCODE -- 암호화
  971. , HOME_BASE_ADDR -- 자택기본주소_암호화
  972. , HOME_DTL_ADDR -- 자택상세주소_암호화
  973. , SITE_CD
  974. , FRONT_GB -- 프론트구분(P:PC, M:모바일, A:앱)
  975. , AF_LINK_CD -- 제휴링크코드
  976. , CUST_GB -- 회원구분(공통코드G100)
  977. , CUST_GRADE -- 회원등급(공통코드G110)
  978. , JOIN_DT -- 가입일시
  979. , FOREIGNER_YN -- 외국인여부(외국인:Y)
  980. , 'G104_30' AS CUST_STAT -- 고객상태(공통코드G104)
  981. , PASSWD_CHG_DT -- 비밀번호변경일시
  982. , TEMP_PASSWD_YN -- 임시비밀번호여부
  983. , LOGIN_LDT -- 최종로그인일시
  984. , CI -- 인증CI
  985. , AUTH_DT -- 인증일시
  986. , SNS_TYPE
  987. , NULL AS MANAGED_RSN -- 관리대상지정사유(공통코드G103)
  988. , NULL AS MANAGED_DTL_RSN -- 관리대상지정상세사유
  989. , NULL AS MANAGED_DT -- 관리대상지정일시
  990. , NULL AS SECEDE_RSN -- 탈퇴사유(공통코드G102)
  991. , WithdrawReason AS SECEDE_DTL_RSN -- 탈퇴상세사유
  992. , DateWithdraw AS SECEDE_DT-- 탈퇴일시
  993. , BIRTH_MM
  994. , B.CUST_NO AS REG_NO -- 등록자번호
  995. , DateWithdraw AS REG_DT -- 등록일시
  996. , B.CUST_NO AS UPD_NO -- 수정자번호
  997. , DateWithdraw AS UPD_DT-- 수정일시
  998. FROM old_prf_memberwithdrawal A, tb_customer B
  999. WHERE A.LoginId = B.CUST_ID
  1000. ;
  1001. UPDATE tb_customer A, TB_SECEDE_CUST B
  1002. SET A.CUST_ID = CONCAT('secede_cust_',A.CUST_NO)
  1003. , A.CUST_NM = 'FB9B4C8F559D0E7DF22886C982A34A96' -- 탈퇴
  1004. , A.BIRTH_YMD = NULL
  1005. , A.SEX_GB = NULL
  1006. , A.CELL_PHNNO = NULL
  1007. , A.SMS_AGREE_YN = 'N'
  1008. , A.SMS_AGREE_DT = NULL
  1009. , A.EMAIL = NULL
  1010. , A.EMAIL_AGREE_YN = 'N'
  1011. , A.EMAIL_AGREE_DT = NULL
  1012. , A.APP_AGREE_YN = 'N'
  1013. , A.APP_AGREE_DT = NULL
  1014. , A.MK_AGREE_YN = 'N'
  1015. , A.MK_AGREE_DT = NULL
  1016. , A.HOME_ZIPCODE = NULL
  1017. , A.HOME_BASE_ADDR = NULL
  1018. , A.HOME_DTL_ADDR = NULL
  1019. , A.CUST_STAT = 'G104_30'
  1020. -- , UPD_DT = NOW()
  1021. WHERE A.CUST_NO = B.CUST_NO
  1022. ;