04.회원.sql 47 KB

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