|
|
|
@@ -0,0 +1,134 @@ |
|
|
|
--备份关键表数据, |
|
|
|
create table wx_c_user_basic_info_',@dateStr,' like wx_c_user_basic_info; |
|
|
|
insert into wx_c_user_basic_info_',@dateStr,' select * from wx_c_user_basic_info; |
|
|
|
create table wx_c_user_',@dateStr,' like wx_c_user; |
|
|
|
insert into wx_c_user_',@dateStr,' select * from wx_c_user; |
|
|
|
create table wx_order_',@dateStr,' like wx_order; |
|
|
|
insert into wx_order_',@dateStr,' select * from wx_order; |
|
|
|
create table wx_coupon_order_',@dateStr,' like wx_coupon_order; |
|
|
|
insert into wx_coupon_order_',@dateStr,' select * from wx_coupon_order; |
|
|
|
create table wx_pay_order_',@dateStr,' like wx_pay_order; |
|
|
|
insert into wx_pay_order_',@dateStr,' select * from wx_pay_order; |
|
|
|
create table wx_refund_order_',@dateStr,' like wx_refund_order; |
|
|
|
insert into wx_refund_order_',@dateStr,' select * from wx_refund_order; |
|
|
|
create table wx_order_group_',@dateStr,' like wx_order_group; |
|
|
|
insert into wx_order_group_',@dateStr,' select * from wx_order_group; |
|
|
|
create table wx_order_press_',@dateStr,' like wx_order_press; |
|
|
|
insert into wx_order_press_',@dateStr,' select * from wx_order_press; |
|
|
|
create table wx_c_user_from_b_',@dateStr,' like wx_c_user_from_b; |
|
|
|
insert into wx_c_user_from_b_',@dateStr,' select * from wx_c_user_from_b; |
|
|
|
create table wx_activity_join_',@dateStr,' like wx_activity_join; |
|
|
|
insert into wx_activity_join_',@dateStr,' select * from wx_activity_join; |
|
|
|
create table wx_question_log_',@dateStr,' like wx_question_log; |
|
|
|
insert into wx_question_log_',@dateStr,' select * from wx_question_log; |
|
|
|
create table wx_game_action_log_',@dateStr,' like wx_game_action_log; |
|
|
|
insert into wx_game_action_log_',@dateStr,' select * from wx_game_action_log; |
|
|
|
create table wx_credit_history_',@dateStr,' like wx_credit_history; |
|
|
|
insert into wx_credit_history_',@dateStr,' select * from wx_credit_history; |
|
|
|
create table wx_score_history_',@dateStr,' like wx_score_history; |
|
|
|
insert into wx_score_history_',@dateStr,' select * from wx_score_history; |
|
|
|
create table wx_card_spend_',@dateStr,' like wx_card_spend; |
|
|
|
insert into wx_card_spend_',@dateStr,' select * from wx_card_spend; |
|
|
|
create table wx_c_user_tags_',@dateStr,' like wx_c_user_tags; |
|
|
|
insert into wx_c_user_tags_',@dateStr,' select * from wx_c_user_tags; |
|
|
|
|
|
|
|
--所有数据改成集团的数据 118.044s |
|
|
|
--groupTenantId 集团tenantId |
|
|
|
--tenantIds 子广场,拼接 |
|
|
|
--el: call init_after_group('1025', '1008,1020'); |
|
|
|
call init_after_group(groupTenantId, tenantIds); |
|
|
|
|
|
|
|
--合并子广场重复会员 清缓存 |
|
|
|
--tenantIds 子广场,拼接 |
|
|
|
--el: call move_after_group('1008,1020'); |
|
|
|
--call move_after_group(tenantIds); |
|
|
|
|
|
|
|
|
|
|
|
/*备份手机号重复数据**/ |
|
|
|
CREATE TABLE wx_c_user_basic_info_1008_1020 LIKE wx_c_user_basic_info; |
|
|
|
|
|
|
|
INSERT INTO wx_c_user_basic_info_1008_1020 SELECT * FROM wx_c_user_basic_info WHERE final_tenant_id IN ('1008','1020') AND phone IN ( |
|
|
|
SELECT phone FROM wx_c_user_basic_info t WHERE `final_tenant_id` IN ('1008','1020') GROUP BY phone HAVING COUNT(1) > 1 |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
CREATE TABLE `zz_middle_uu` ( |
|
|
|
`datestr` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|
|
|
`new_user_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|
|
|
`old_user_id` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|
|
|
`phone` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|
|
|
`tenant_ids` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|
|
|
`user_ids` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL, |
|
|
|
`sum_poins` int(11) DEFAULT NULL, |
|
|
|
`sum_credit` int(11) DEFAULT NULL, |
|
|
|
`sum_login_count` int(11) DEFAULT NULL, |
|
|
|
UNIQUE INDEX `new_user_id`(`new_user_id`) USING BTREE, |
|
|
|
UNIQUE INDEX `old_user_id`(`old_user_id`) USING BTREE, |
|
|
|
UNIQUE INDEX `001`(`new_user_id`) USING BTREE, |
|
|
|
UNIQUE INDEX `002`(`old_user_id`) USING BTREE, |
|
|
|
INDEX `new_user_id_2`(`new_user_id`) USING BTREE |
|
|
|
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic; |
|
|
|
|
|
|
|
/*处理手机号重复的数据**/ |
|
|
|
INSERT INTO zz_middle_uu(phone,tenant_ids,user_ids,sum_poins,sum_credit,sum_login_count) SELECT phone,CONCAT(',',GROUP_CONCAT(final_tenant_id),','),GROUP_CONCAT(id),SUM(poins),SUM(credit),SUM(login_count) FROM wx_c_user_basic_info_1008_1020 GROUP BY phone; |
|
|
|
--取第一个作为新的user_id |
|
|
|
UPDATE zz_middle_uu SET new_user_id = SUBSTRING_INDEX(user_ids,',',1); |
|
|
|
|
|
|
|
UPDATE zz_middle_uu SET old_user_id = SUBSTRING_INDEX(user_ids,CONCAT(new_user_id,','),-1); |
|
|
|
|
|
|
|
|
|
|
|
--处理重复手机号数据 |
|
|
|
UPDATE wx_c_user a LEFT JOIN zz_middle_uu b on a.user_id=b.old_user_id |
|
|
|
SET a.token = null,a.expire_time=now(),a.user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_activity_join a LEFT JOIN zz_middle_uu b on a.user_id=b.old_user_id |
|
|
|
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_game_action_log a LEFT JOIN zz_middle_uu b on a.user_id=b.old_user_id |
|
|
|
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_order_group a LEFT JOIN zz_middle_uu b on a.user_id=b.old_user_id |
|
|
|
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_order_press a LEFT JOIN zz_middle_uu b on a.user_id=b.old_user_id |
|
|
|
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_question_log a LEFT JOIN zz_middle_uu b on a.user_id=b.old_user_id |
|
|
|
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
|
|
|
|
UPDATE wx_c_user_from_b a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_coupon_order a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_credit_history a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_order a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_pay_order a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_refund_order a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_score_history a LEFT JOIN zz_middle_uu b on a.c_user_id=b.old_user_id |
|
|
|
SET a.c_user_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
|
|
|
|
UPDATE wx_card_spend a LEFT JOIN zz_middle_uu b on a.owner_id=b.old_user_id |
|
|
|
SET a.owner_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
UPDATE wx_coupon_order a LEFT JOIN zz_middle_uu b on a.owner_id=b.old_user_id |
|
|
|
SET a.owner_id = b.new_user_id WHERE b.new_user_id is not null; |
|
|
|
|
|
|
|
UPDATE wx_credit_history a LEFT JOIN zz_middle_uu b on a.operator_id=b.old_user_id |
|
|
|
SET a.operator_id = b.new_user_id WHERE b.new_user_id is not null AND a.operator_type in (1,2); |
|
|
|
|
|
|
|
|
|
|
|
UPDATE wx_c_user_basic_info a LEFT JOIN zz_middle_uu b on a.id = b.new_user_id |
|
|
|
SET a.tenant_id = b.tenant_ids,a.poins = b.sum_poins,a.credit = b.sum_credit,a.login_count = b.sum_login_count |
|
|
|
WHERE b.new_user_id is not null; |
|
|
|
|
|
|
|
UPDATE wx_c_user_basic_info a LEFT JOIN zz_middle_uu b on a.id=b.old_user_id |
|
|
|
SET a.phone = concat(a.phone,'_del_',@dateStr),a.`status` = 1 WHERE b.old_user_id is not null; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
--单独处理 wx_c_user_basic_info,wx_c_user_tags 归属集团 |
|
|
|
UPDATE wx_c_user_basic_info SET final_tenant_id = groupTenantId WHERE FIND_IN_SET(final_tenant_id,tenantIds); |
|
|
|
UPDATE wx_c_user_tags SET tenant_id = groupTenantId WHERE FIND_IN_SET(tenant_id,tenantIds); |
|
|
|
|
|
|
|
|