xhxu 4 лет назад
Родитель
Сommit
d0707a0a13
1 измененных файлов: 682 добавлений и 0 удалений
  1. +682
    -0
      mallinkAdmin/src/main/resources/db/migration/V2021110000001__集团数据处理.sql

+ 682
- 0
mallinkAdmin/src/main/resources/db/migration/V2021110000001__集团数据处理.sql Просмотреть файл

@@ -0,0 +1,682 @@
--以1035 为主, 修改1036表的数据
--合并用户数据
insert into wx_c_user_basic_info_37 select * from wx_c_user_basic_info_35;

select * from



--groupTenantId 集团tenantId
--tenantIds--子广场, 拼接

--备份关键表数据,



--所有数据改成集团的数据
--tenantId 集团tenantId
--subTenantIds 子广场,拼接
--el: call init_after_group('1025', '1008,1020');
call init_after_group(varchar tenantId,varchar subTenantIds);

--合并子广场重复会员 清缓存
--tenantIds 子广场,拼接
--el: call move_after_group('1008,1020');
--call move_after_group(tenantIds);



--单独处理 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);


--活动报名表 wx_activity_join(如果新旧会员同时报名一个活动会导致数据重复)
--用户车牌表 wx_c_user_car 新旧会员都绑定了同一车牌的情况

create table wx_c_user_car_20201117_1008_1020 like wx_c_user_car;
create table wx_c_user_car_20201117_1008_1020_merge like wx_c_user_car;
insert into wx_c_user_car_20201117_1008_1020 select * from wx_c_user_car where tenant_id in (1008,1020);
insert into wx_c_user_car_20201117_1008_1020_merge select * from wx_c_user_car_20201117_1008_1020 where c_user_id in (select id from wx_c_user_basic_info_20201117_1008_1020_merge);
--shang 707
select car_number from wx_c_user_car_20201117_1008_1020_merge GROUP BY car_number having count(car_number) > 1;--164

delete from wx_c_user_car_20201117_1008_1020_merge a where c_user_id in (select old_user_id from wx_c_user_basic_info_middle_20201117_1008_1020_merge) and car_number in (select car_number from wx_c_user_car_20201117_1008_1020_merge GROUP BY car_number having count(car_number) > 1);

update wx_c_user_car_20201117_1008_1020_merge a LEFT JOIN wx_c_user_basic_info_middle_20201117_1008_1020_merge b on FIND_IN_SET(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;

delete from wx_c_user_car where id in (select id from wx_c_user_car_20201117_1008_1020_merge);
insert into wx_c_user_car select * from wx_c_user_car_20201117_1008_1020_merge;






CREATE DEFINER=`root`@`%` PROCEDURE `back_up_and_move`(IN tenantIds VARCHAR(125),IN groupTenantId VARCHAR(125))
BEGIN

select concat('_',date_format(now(),'%Y%m%d'),'_',REPLACE(tenantIds,',','_')) into @backUpSuffix;
select concat(@backUpSuffix,'_merge') into @mergeSuffix;


set @backUpSql1_0 = concat('create table wx_c_user_basic_info',@backUpSuffix,' like wx_c_user_basic_info;');
PREPARE back_up_sql1_0 FROM @backUpSql1_0;
EXECUTE back_up_sql1_0;
DEALLOCATE PREPARE back_up_sql1_0;
set @backUpSql2_0 = concat('insert into wx_c_user_basic_info',@backUpSuffix,' select * from wx_c_user_basic_info where FIND_IN_SET(final_tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql2_0 FROM @backUpSql2_0;
EXECUTE back_up_sql2_0;
DEALLOCATE PREPARE back_up_sql2_0;

set @backUpSql1_1 = concat('create table wx_c_user_basic_info',@mergeSuffix,' like wx_c_user_basic_info;');
PREPARE back_up_sql1_1 FROM @backUpSql1_1;
EXECUTE back_up_sql1_1;
DEALLOCATE PREPARE back_up_sql1_1;
set @backUpSql2_1 = concat('insert into wx_c_user_basic_info',@mergeSuffix,' select * from wx_c_user_basic_info',@backUpSuffix,' where phone in (SELECT phone FROM wx_c_user_basic_info',@backUpSuffix,' GROUP BY phone HAVING COUNT(1) > 1);');
PREPARE back_up_sql2_1 FROM @backUpSql2_1;
EXECUTE back_up_sql2_1;
DEALLOCATE PREPARE back_up_sql2_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_basic_info表备份处理数据成功',null);

set @backUpSql3_0 = concat('create table wx_c_user',@backUpSuffix,' like wx_c_user;');
PREPARE back_up_sql3_0 FROM @backUpSql3_0;
EXECUTE back_up_sql3_0;
DEALLOCATE PREPARE back_up_sql3_0;
set @backUpSql4_0 = concat('insert into wx_c_user',@backUpSuffix,' select * from wx_c_user where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql4_0 FROM @backUpSql4_0;
EXECUTE back_up_sql4_0;
DEALLOCATE PREPARE back_up_sql4_0;

set @backUpSql3_1 = concat('create table wx_c_user',@mergeSuffix,' like wx_c_user;');
PREPARE back_up_sql3_1 FROM @backUpSql3_1;
EXECUTE back_up_sql3_1;
DEALLOCATE PREPARE back_up_sql3_1;
set @backUpSql4_1 = concat('insert into wx_c_user',@mergeSuffix,' select * from wx_c_user',@backUpSuffix,' where user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql4_1 FROM @backUpSql4_1;
EXECUTE back_up_sql4_1;
DEALLOCATE PREPARE back_up_sql4_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user表备份、处理数据成功',null);

set @backUpSql5_0 = concat('create table wx_order',@backUpSuffix,' like wx_order;');
PREPARE back_up_sql5_0 FROM @backUpSql5_0;
EXECUTE back_up_sql5_0;
DEALLOCATE PREPARE back_up_sql5_0;
set @backUpSql6_0 = concat('insert into wx_order',@backUpSuffix,' select * from wx_order where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql6_0 FROM @backUpSql6_0;
EXECUTE back_up_sql6_0;
DEALLOCATE PREPARE back_up_sql6_0;

set @backUpSql5_1 = concat('create table wx_order',@mergeSuffix,' like wx_order;');
PREPARE back_up_sql5_1 FROM @backUpSql5_1;
EXECUTE back_up_sql5_1;
DEALLOCATE PREPARE back_up_sql5_1;
set @backUpSql6_1 = concat('insert into wx_order',@mergeSuffix,' select * from wx_order',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql6_1 FROM @backUpSql6_1;
EXECUTE back_up_sql6_1;
DEALLOCATE PREPARE back_up_sql6_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_order表备份、处理数据成功',null);

set @backUpSql7_0 = concat('create table wx_coupon_order',@backUpSuffix,' like wx_coupon_order;');
PREPARE back_up_sql7_0 FROM @backUpSql7_0;
EXECUTE back_up_sql7_0;
DEALLOCATE PREPARE back_up_sql7_0;
set @backUpSql8_0 = concat('insert into wx_coupon_order',@backUpSuffix,' select * from wx_coupon_order where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql8_0 FROM @backUpSql8_0;
EXECUTE back_up_sql8_0;
DEALLOCATE PREPARE back_up_sql8_0;

set @backUpSql7_1 = concat('create table wx_coupon_order',@mergeSuffix,' like wx_coupon_order;');
PREPARE back_up_sql7_1 FROM @backUpSql7_1;
EXECUTE back_up_sql7_1;
DEALLOCATE PREPARE back_up_sql7_1;
set @backUpSql8_1 = concat('insert into wx_coupon_order',@mergeSuffix,' select * from wx_coupon_order',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,') or owner_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql8_1 FROM @backUpSql8_1;
EXECUTE back_up_sql8_1;
DEALLOCATE PREPARE back_up_sql8_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_coupon_order表备份、处理数据成功',null);

set @backUpSql9_0 = concat('create table wx_pay_order',@backUpSuffix,' like wx_pay_order;');
PREPARE back_up_sql9_0 FROM @backUpSql9_0;
EXECUTE back_up_sql9_0;
DEALLOCATE PREPARE back_up_sql9_0;
set @backUpSql10_0 = concat('insert into wx_pay_order',@backUpSuffix,' select * from wx_pay_order where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql10_0 FROM @backUpSql10_0;
EXECUTE back_up_sql10_0;
DEALLOCATE PREPARE back_up_sql10_0;

set @backUpSql9_1 = concat('create table wx_pay_order',@mergeSuffix,' like wx_pay_order;');
PREPARE back_up_sql9_1 FROM @backUpSql9_1;
EXECUTE back_up_sql9_1;
DEALLOCATE PREPARE back_up_sql9_1;
set @backUpSql10_1 = concat('insert into wx_pay_order',@mergeSuffix,' select * from wx_pay_order',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql10_1 FROM @backUpSql10_1;
EXECUTE back_up_sql10_1;
DEALLOCATE PREPARE back_up_sql10_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_pay_order表备份、处理数据成功',null);

set @backUpSql11_0 = concat('create table wx_refund_order',@backUpSuffix,' like wx_refund_order;');
PREPARE back_up_sql11_0 FROM @backUpSql11_0;
EXECUTE back_up_sql11_0;
DEALLOCATE PREPARE back_up_sql11_0;
set @backUpSql12_0 = concat('insert into wx_refund_order',@backUpSuffix,' select * from wx_refund_order where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql12_0 FROM @backUpSql12_0;
EXECUTE back_up_sql12_0;
DEALLOCATE PREPARE back_up_sql12_0;

set @backUpSql11_1 = concat('create table wx_refund_order',@mergeSuffix,' like wx_refund_order;');
PREPARE back_up_sql11_1 FROM @backUpSql11_1;
EXECUTE back_up_sql11_1;
DEALLOCATE PREPARE back_up_sql11_1;
set @backUpSql12_1 = concat('insert into wx_refund_order',@mergeSuffix,' select * from wx_refund_order',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql12_1 FROM @backUpSql12_1;
EXECUTE back_up_sql12_1;
DEALLOCATE PREPARE back_up_sql12_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_refund_order表备份、处理数据成功',null);

set @backUpSql13_0 = concat('create table wx_order_group',@backUpSuffix,' like wx_order_group;');
PREPARE back_up_sql13_0 FROM @backUpSql13_0;
EXECUTE back_up_sql13_0;
DEALLOCATE PREPARE back_up_sql13_0;
set @backUpSql14_0 = concat('insert into wx_order_group',@backUpSuffix,' select * from wx_order_group where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql14_0 FROM @backUpSql14_0;
EXECUTE back_up_sql14_0;
DEALLOCATE PREPARE back_up_sql14_0;

set @backUpSql13_1 = concat('create table wx_order_group',@mergeSuffix,' like wx_order_group;');
PREPARE back_up_sql13_1 FROM @backUpSql13_1;
EXECUTE back_up_sql13_1;
DEALLOCATE PREPARE back_up_sql13_1;
set @backUpSql14_1 = concat('insert into wx_order_group',@mergeSuffix,' select * from wx_order_group',@backUpSuffix,' where user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql14_1 FROM @backUpSql14_1;
EXECUTE back_up_sql14_1;
DEALLOCATE PREPARE back_up_sql14_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_order_group表备份、处理数据成功',null);

set @backUpSql15_0 = concat('create table wx_order_press',@backUpSuffix,' like wx_order_press;');
PREPARE back_up_sql15_0 FROM @backUpSql15_0;
EXECUTE back_up_sql15_0;
DEALLOCATE PREPARE back_up_sql15_0;
set @backUpSql16_0 = concat('insert into wx_order_press',@backUpSuffix,' select * from wx_order_press where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql16_0 FROM @backUpSql16_0;
EXECUTE back_up_sql16_0;
DEALLOCATE PREPARE back_up_sql16_0;

set @backUpSql15_1 = concat('create table wx_order_press',@mergeSuffix,' like wx_order_press;');
PREPARE back_up_sql15_1 FROM @backUpSql15_1;
EXECUTE back_up_sql15_1;
DEALLOCATE PREPARE back_up_sql15_1;
set @backUpSql16_1 = concat('insert into wx_order_press',@mergeSuffix,' select * from wx_order_press',@backUpSuffix,' where user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql16_1 FROM @backUpSql16_1;
EXECUTE back_up_sql16_1;
DEALLOCATE PREPARE back_up_sql16_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_order_press表备份、处理数据成功',null);

set @backUpSql17_0 = concat('create table wx_c_user_from_b',@backUpSuffix,' like wx_c_user_from_b;');
PREPARE back_up_sql17_0 FROM @backUpSql17_0;
EXECUTE back_up_sql17_0;
DEALLOCATE PREPARE back_up_sql17_0;
set @backUpSql18_0 = concat('insert into wx_c_user_from_b',@backUpSuffix,' select * from wx_c_user_from_b where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql18_0 FROM @backUpSql18_0;
EXECUTE back_up_sql18_0;
DEALLOCATE PREPARE back_up_sql18_0;

set @backUpSql17_1 = concat('create table wx_c_user_from_b',@mergeSuffix,' like wx_c_user_from_b;');
PREPARE back_up_sql17_1 FROM @backUpSql17_1;
EXECUTE back_up_sql17_1;
DEALLOCATE PREPARE back_up_sql17_1;
set @backUpSql18_1 = concat('insert into wx_c_user_from_b',@mergeSuffix,' select * from wx_c_user_from_b',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql18_1 FROM @backUpSql18_1;
EXECUTE back_up_sql18_1;
DEALLOCATE PREPARE back_up_sql18_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_from_b表备份、处理数据成功',null);

set @backUpSql19_0 = concat('create table wx_activity_join',@backUpSuffix,' like wx_activity_join;');
PREPARE back_up_sql19_0 FROM @backUpSql19_0;
EXECUTE back_up_sql19_0;
DEALLOCATE PREPARE back_up_sql19_0;
set @backUpSql20_0 = concat('insert into wx_activity_join',@backUpSuffix,' select * from wx_activity_join where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql20_0 FROM @backUpSql20_0;
EXECUTE back_up_sql20_0;
DEALLOCATE PREPARE back_up_sql20_0;

set @backUpSql19_1 = concat('create table wx_activity_join',@mergeSuffix,' like wx_activity_join;');
PREPARE back_up_sql19_1 FROM @backUpSql19_1;
EXECUTE back_up_sql19_1;
DEALLOCATE PREPARE back_up_sql19_1;
set @backUpSql20_1 = concat('insert into wx_activity_join',@mergeSuffix,' select * from wx_activity_join',@backUpSuffix,' where user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql20_1 FROM @backUpSql20_1;
EXECUTE back_up_sql20_1;
DEALLOCATE PREPARE back_up_sql20_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_activity_join表备份、处理数据成功',null);

set @backUpSql21_0 = concat('create table wx_question_log',@backUpSuffix,' like wx_question_log;');
PREPARE back_up_sql21_0 FROM @backUpSql21_0;
EXECUTE back_up_sql21_0;
DEALLOCATE PREPARE back_up_sql21_0;
set @backUpSql22_0 = concat('insert into wx_question_log',@backUpSuffix,' select * from wx_question_log where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql22_0 FROM @backUpSql22_0;
EXECUTE back_up_sql22_0;
DEALLOCATE PREPARE back_up_sql22_0;

set @backUpSql21_1 = concat('create table wx_question_log',@mergeSuffix,' like wx_question_log;');
PREPARE back_up_sql21_1 FROM @backUpSql21_1;
EXECUTE back_up_sql21_1;
DEALLOCATE PREPARE back_up_sql21_1;
set @backUpSql22_1 = concat('insert into wx_question_log',@mergeSuffix,' select * from wx_question_log',@backUpSuffix,' where user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql22_1 FROM @backUpSql22_1;
EXECUTE back_up_sql22_1;
DEALLOCATE PREPARE back_up_sql22_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_question_log表备份、处理数据成功',null);

set @backUpSql23_0 = concat('create table wx_game_action_log',@backUpSuffix,' like wx_game_action_log;');
PREPARE back_up_sql23_0 FROM @backUpSql23_0;
EXECUTE back_up_sql23_0;
DEALLOCATE PREPARE back_up_sql23_0;
set @backUpSql24_0 = concat('insert into wx_game_action_log',@backUpSuffix,' select * from wx_game_action_log where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql24_0 FROM @backUpSql24_0;
EXECUTE back_up_sql24_0;
DEALLOCATE PREPARE back_up_sql24_0;

set @backUpSql23_1 = concat('create table wx_game_action_log',@mergeSuffix,' like wx_game_action_log;');
PREPARE back_up_sql23_1 FROM @backUpSql23_1;
EXECUTE back_up_sql23_1;
DEALLOCATE PREPARE back_up_sql23_1;
set @backUpSql24_1 = concat('insert into wx_game_action_log',@mergeSuffix,' select * from wx_game_action_log',@backUpSuffix,' where user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql24_1 FROM @backUpSql24_1;
EXECUTE back_up_sql24_1;
DEALLOCATE PREPARE back_up_sql24_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_game_action_log表备份、处理数据成功',null);

set @backUpSql25_0 = concat('create table wx_credit_history',@backUpSuffix,' like wx_credit_history;');
PREPARE back_up_sql25_0 FROM @backUpSql25_0;
EXECUTE back_up_sql25_0;
DEALLOCATE PREPARE back_up_sql25_0;
set @backUpSql26_0 = concat('insert into wx_credit_history',@backUpSuffix,' select * from wx_credit_history where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql26_0 FROM @backUpSql26_0;
EXECUTE back_up_sql26_0;
DEALLOCATE PREPARE back_up_sql26_0;

set @backUpSql25_0 = concat('create table wx_credit_history',@mergeSuffix,' like wx_credit_history;');
PREPARE back_up_sql25_0 FROM @backUpSql25_0;
EXECUTE back_up_sql25_0;
DEALLOCATE PREPARE back_up_sql25_0;
set @backUpSql26_0 = concat('insert into wx_credit_history',@mergeSuffix,' select * from wx_credit_history',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,') or operator_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql26_0 FROM @backUpSql26_0;
EXECUTE back_up_sql26_0;
DEALLOCATE PREPARE back_up_sql26_0;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_credit_history表备份、处理数据成功',null);

set @backUpSql27_0 = concat('create table wx_score_history',@backUpSuffix,' like wx_score_history;');
PREPARE back_up_sql27_0 FROM @backUpSql27_0;
EXECUTE back_up_sql27_0;
DEALLOCATE PREPARE back_up_sql27_0;
set @backUpSql28_0 = concat('insert into wx_score_history',@backUpSuffix,' select * from wx_score_history where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql28_0 FROM @backUpSql28_0;
EXECUTE back_up_sql28_0;
DEALLOCATE PREPARE back_up_sql28_0;

set @backUpSql27_1 = concat('create table wx_score_history',@mergeSuffix,' like wx_score_history;');
PREPARE back_up_sql27_1 FROM @backUpSql27_1;
EXECUTE back_up_sql27_1;
DEALLOCATE PREPARE back_up_sql27_1;
set @backUpSql28_1 = concat('insert into wx_score_history',@mergeSuffix,' select * from wx_score_history',@backUpSuffix,' where c_user_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql28_1 FROM @backUpSql28_1;
EXECUTE back_up_sql28_1;
DEALLOCATE PREPARE back_up_sql28_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_score_history表备份、处理数据成功',null);

set @backUpSql29_0 = concat('create table wx_card_spend',@backUpSuffix,' like wx_card_spend;');
PREPARE back_up_sql29_0 FROM @backUpSql29_0;
EXECUTE back_up_sql29_0;
DEALLOCATE PREPARE back_up_sql29_0;
set @backUpSql30_0 = concat('insert into wx_card_spend',@backUpSuffix,' select * from wx_card_spend where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql30_0 FROM @backUpSql30_0;
EXECUTE back_up_sql30_0;
DEALLOCATE PREPARE back_up_sql30_0;

set @backUpSql29_1 = concat('create table wx_card_spend',@mergeSuffix,' like wx_card_spend;');
PREPARE back_up_sql29_1 FROM @backUpSql29_1;
EXECUTE back_up_sql29_1;
DEALLOCATE PREPARE back_up_sql29_1;
set @backUpSql30_1 = concat('insert into wx_card_spend',@mergeSuffix,' select * from wx_card_spend',@backUpSuffix,' where owner_id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql30_1 FROM @backUpSql30_1;
EXECUTE back_up_sql30_1;
DEALLOCATE PREPARE back_up_sql30_1;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_card_spend表备份、处理数据成功',null);

set @backUpSql31_0 = concat('create table wx_c_user_tags',@backUpSuffix,' like wx_c_user_tags;');
PREPARE back_up_sql31_0 FROM @backUpSql31_0;
EXECUTE back_up_sql31_0;
DEALLOCATE PREPARE back_up_sql31_0;
set @backUpSql32_0 = concat('insert into wx_c_user_tags',@backUpSuffix,' select * from wx_c_user_tags where FIND_IN_SET(tenant_id,\'',tenantIds,'\');');
PREPARE back_up_sql32_0 FROM @backUpSql32_0;
EXECUTE back_up_sql32_0;
DEALLOCATE PREPARE back_up_sql32_0;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_tags表备份、处理数据成功','无关键SQL操作');

set @handleSql_00 = concat('CREATE TABLE `wx_c_user_basic_info_middle',@mergeSuffix,'` (
`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
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;');
PREPARE handle_sql_00 FROM @handleSql_00;
EXECUTE handle_sql_00;
DEALLOCATE PREPARE handle_sql_00;

set @handleSql_01 = concat('insert into wx_c_user_basic_info_middle',@mergeSuffix,' (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',@mergeSuffix,' GROUP BY phone;');
PREPARE handle_sql_01 FROM @handleSql_01;
EXECUTE handle_sql_01;
DEALLOCATE PREPARE handle_sql_01;

set @handleSql_02 = concat('UPDATE wx_c_user_basic_info_middle',@mergeSuffix,' SET new_user_id = SUBSTRING_INDEX(user_ids,\',\',1);');
PREPARE handle_sql_02 FROM @handleSql_02;
EXECUTE handle_sql_02;
DEALLOCATE PREPARE handle_sql_02;

set @handleSql_03 = concat('UPDATE wx_c_user_basic_info_middle',@mergeSuffix,' SET old_user_id = SUBSTRING_INDEX(user_ids,CONCAT(new_user_id,\',\'),-1);');
PREPARE handle_sql_03 FROM @handleSql_03;
EXECUTE handle_sql_03;
DEALLOCATE PREPARE handle_sql_03;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_basic_info_middle所有会员重复数据整理成功','无关键SQL操作');

set @handleSql_10 = concat('UPDATE wx_c_user',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_10 FROM @handleSql_10;
EXECUTE handle_sql_10;
DEALLOCATE PREPARE handle_sql_10;

set @backUpSql3 = concat('delete from wx_c_user where id in (select id from wx_c_user',@mergeSuffix,');');
PREPARE back_up_sql3 FROM @backUpSql3;
EXECUTE back_up_sql3;
DEALLOCATE PREPARE back_up_sql3;
set @handleSql_11 = concat('insert into wx_c_user select * from wx_c_user',@mergeSuffix,';');
PREPARE handle_sql_11 FROM @handleSql_11;
EXECUTE handle_sql_11;
DEALLOCATE PREPARE handle_sql_11;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user表所有会员重复关联数据处理成功',concat(@backUpSql3,@handleSql_11));

set @handleSql_20 = concat('UPDATE wx_order',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_20 FROM @handleSql_20;
EXECUTE handle_sql_20;
DEALLOCATE PREPARE handle_sql_20;

set @backUpSql5 = concat('delete from wx_order where id in (select id from wx_order',@mergeSuffix,');');
PREPARE back_up_sql5 FROM @backUpSql5;
EXECUTE back_up_sql5;
DEALLOCATE PREPARE back_up_sql5;
set @handleSql_21 = concat('insert into wx_order select * from wx_order',@mergeSuffix,';');
PREPARE handle_sql_21 FROM @handleSql_21;
EXECUTE handle_sql_21;
DEALLOCATE PREPARE handle_sql_21;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_order表所有会员重复关联数据处理成功',concat(@backUpSql5,@handleSql_21));

set @handleSql_30 = concat('UPDATE wx_coupon_order',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_30 FROM @handleSql_30;
EXECUTE handle_sql_30;
DEALLOCATE PREPARE handle_sql_30;
set @handleSql_31 = concat('UPDATE wx_coupon_order',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.owner_id,b.old_user_id)
SET a.owner_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_31 FROM @handleSql_31;
EXECUTE handle_sql_31;
DEALLOCATE PREPARE handle_sql_31;

set @backUpSql7 = concat('delete from wx_coupon_order where id in (select id from wx_coupon_order',@mergeSuffix,');');
PREPARE back_up_sql7 FROM @backUpSql7;
EXECUTE back_up_sql7;
DEALLOCATE PREPARE back_up_sql7;
set @handleSql_32 = concat('insert into wx_coupon_order select * from wx_coupon_order',@mergeSuffix,';');
PREPARE handle_sql_32 FROM @handleSql_32;
EXECUTE handle_sql_32;
DEALLOCATE PREPARE handle_sql_32;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_coupon_order表所有会员重复关联数据处理成功',concat(@backUpSql7,@handleSql_32));

set @handleSql_40 = concat('UPDATE wx_pay_order',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_40 FROM @handleSql_40;
EXECUTE handle_sql_40;
DEALLOCATE PREPARE handle_sql_40;

set @backUpSql9 = concat('delete from wx_pay_order where id in (select id from wx_pay_order',@mergeSuffix,');');
PREPARE back_up_sql9 FROM @backUpSql9;
EXECUTE back_up_sql9;
DEALLOCATE PREPARE back_up_sql9;
set @handleSql_41 = concat('insert into wx_pay_order select * from wx_pay_order',@mergeSuffix,';');
PREPARE handle_sql_41 FROM @handleSql_41;
EXECUTE handle_sql_41;
DEALLOCATE PREPARE handle_sql_41;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_pay_order表所有会员重复关联数据处理成功',concat(@backUpSql9,@handleSql_41));

set @handleSql_50 = concat('UPDATE wx_refund_order',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_50 FROM @handleSql_50;
EXECUTE handle_sql_50;
DEALLOCATE PREPARE handle_sql_50;

set @backUpSql11 = concat('delete from wx_refund_order where id in (select id from wx_refund_order',@mergeSuffix,');');
PREPARE back_up_sql11 FROM @backUpSql11;
EXECUTE back_up_sql11;
DEALLOCATE PREPARE back_up_sql11;
set @handleSql_51 = concat('insert into wx_refund_order select * from wx_refund_order',@mergeSuffix,';');
PREPARE handle_sql_51 FROM @handleSql_51;
EXECUTE handle_sql_51;
DEALLOCATE PREPARE handle_sql_51;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_refund_order表所有会员重复关联数据处理成功',concat(@backUpSql11,@handleSql_51));

set @handleSql_60 = concat('UPDATE wx_order_group',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.user_id,b.old_user_id)
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_60 FROM @handleSql_60;
EXECUTE handle_sql_60;
DEALLOCATE PREPARE handle_sql_60;

set @backUpSql13 = concat('delete from wx_order_group where id in (select id from wx_order_group',@mergeSuffix,');');
PREPARE back_up_sql13 FROM @backUpSql13;
EXECUTE back_up_sql13;
DEALLOCATE PREPARE back_up_sql13;
set @handleSql_61 = concat('insert into wx_order_group select * from wx_order_group',@mergeSuffix,';');
PREPARE handle_sql_61 FROM @handleSql_61;
EXECUTE handle_sql_61;
DEALLOCATE PREPARE handle_sql_61;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_order_group表所有会员重复关联数据处理成功',concat(@backUpSql13,@handleSql_61));

set @handleSql_70 = concat('UPDATE wx_order_press',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.user_id,b.old_user_id)
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_70 FROM @handleSql_70;
EXECUTE handle_sql_70;
DEALLOCATE PREPARE handle_sql_70;

set @backUpSql15 = concat('delete from wx_order_press where id in (select id from wx_order_press',@mergeSuffix,');');
PREPARE back_up_sql15 FROM @backUpSql15;
EXECUTE back_up_sql15;
DEALLOCATE PREPARE back_up_sql15;
set @handleSql_71 = concat('insert into wx_order_press select * from wx_order_press',@mergeSuffix,';');
PREPARE handle_sql_71 FROM @handleSql_71;
EXECUTE handle_sql_71;
DEALLOCATE PREPARE handle_sql_71;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_order_press表所有会员重复关联数据处理成功',concat(@backUpSql15,@handleSql_71));

set @handleSql_80 = concat('UPDATE wx_c_user_from_b',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_80 FROM @handleSql_80;
EXECUTE handle_sql_80;
DEALLOCATE PREPARE handle_sql_80;

set @backUpSql17 = concat('delete from wx_c_user_from_b where id in (select id from wx_c_user_from_b',@mergeSuffix,');');
PREPARE back_up_sql17 FROM @backUpSql17;
EXECUTE back_up_sql17;
DEALLOCATE PREPARE back_up_sql17;
set @handleSql_81 = concat('insert into wx_c_user_from_b select * from wx_c_user_from_b',@mergeSuffix,';');
PREPARE handle_sql_81 FROM @handleSql_81;
EXECUTE handle_sql_81;
DEALLOCATE PREPARE handle_sql_81;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_from_b表所有会员重复关联数据处理成功',concat(@backUpSql17,@handleSql_81));

set @handleSql_90 = concat('UPDATE wx_activity_join',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.user_id,b.old_user_id)
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_90 FROM @handleSql_90;
EXECUTE handle_sql_90;
DEALLOCATE PREPARE handle_sql_90;

set @backUpSql19 = concat('delete from wx_activity_join where id in (select id from wx_activity_join',@mergeSuffix,');');
PREPARE back_up_sql19 FROM @backUpSql19;
EXECUTE back_up_sql19;
DEALLOCATE PREPARE back_up_sql19;
set @handleSql_91 = concat('insert into wx_activity_join select * from wx_activity_join',@mergeSuffix,';');
PREPARE handle_sql_91 FROM @handleSql_91;
EXECUTE handle_sql_91;
DEALLOCATE PREPARE handle_sql_91;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_activity_join表所有会员重复关联数据处理成功',concat(@backUpSql19,@handleSql_91));

set @handleSql_100 = concat('UPDATE wx_question_log',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.user_id,b.old_user_id)
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_100 FROM @handleSql_100;
EXECUTE handle_sql_100;
DEALLOCATE PREPARE handle_sql_100;

set @backUpSql21 = concat('delete from wx_question_log where id in (select id from wx_question_log',@mergeSuffix,');');
PREPARE back_up_sql21 FROM @backUpSql21;
EXECUTE back_up_sql21;
DEALLOCATE PREPARE back_up_sql21;
set @handleSql_101 = concat('insert into wx_question_log select * from wx_question_log',@mergeSuffix,';');
PREPARE handle_sql_101 FROM @handleSql_101;
EXECUTE handle_sql_101;
DEALLOCATE PREPARE handle_sql_101;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_question_log表所有会员重复关联数据处理成功',concat(@backUpSql21,@handleSql_101));

set @handleSql_110 = concat('UPDATE wx_game_action_log',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.user_id,b.old_user_id)
SET a.user_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_110 FROM @handleSql_110;
EXECUTE handle_sql_110;
DEALLOCATE PREPARE handle_sql_110;

set @backUpSql23 = concat('delete from wx_game_action_log where id in (select id from wx_game_action_log',@mergeSuffix,');');
PREPARE back_up_sql23 FROM @backUpSql23;
EXECUTE back_up_sql23;
DEALLOCATE PREPARE back_up_sql23;
set @handleSql_111 = concat('insert into wx_game_action_log select * from wx_game_action_log',@mergeSuffix,';');
PREPARE handle_sql_111 FROM @handleSql_111;
EXECUTE handle_sql_111;
DEALLOCATE PREPARE handle_sql_111;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_game_action_log表所有会员重复关联数据处理成功',concat(@backUpSql23,@handleSql_111));

set @handleSql_120 = concat('UPDATE wx_credit_history',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_120 FROM @handleSql_120;
EXECUTE handle_sql_120;
DEALLOCATE PREPARE handle_sql_120;
set @handleSql_121 = concat('UPDATE wx_credit_history',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.operator_id,b.old_user_id)
SET a.operator_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_121 FROM @handleSql_121;
EXECUTE handle_sql_121;
DEALLOCATE PREPARE handle_sql_121;

set @backUpSql25 = concat('delete from wx_credit_history where id in (select id from wx_credit_history',@mergeSuffix,');');
PREPARE back_up_sql25 FROM @backUpSql25;
EXECUTE back_up_sql25;
DEALLOCATE PREPARE back_up_sql25;
set @handleSql_122 = concat('insert into wx_credit_history select * from wx_credit_history',@mergeSuffix,';');
PREPARE handle_sql_122 FROM @handleSql_122;
EXECUTE handle_sql_122;
DEALLOCATE PREPARE handle_sql_122;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_credit_history表所有会员重复关联数据处理成功',concat(@backUpSql25,@handleSql_122));

set @handleSql_130 = concat('UPDATE wx_score_history',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(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;');
PREPARE handle_sql_130 FROM @handleSql_130;
EXECUTE handle_sql_130;
DEALLOCATE PREPARE handle_sql_130;

set @backUpSql27 = concat('delete from wx_score_history where id in (select id from wx_score_history',@mergeSuffix,');');
PREPARE back_up_sql27 FROM @backUpSql27;
EXECUTE back_up_sql27;
DEALLOCATE PREPARE back_up_sql27;
set @handleSql_131 = concat('insert into wx_score_history select * from wx_score_history',@mergeSuffix,';');
PREPARE handle_sql_131 FROM @handleSql_131;
EXECUTE handle_sql_131;
DEALLOCATE PREPARE handle_sql_131;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_score_history表所有会员重复关联数据处理成功',concat(@backUpSql27,@handleSql_131));

set @handleSql_140 = concat('UPDATE wx_card_spend',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.owner_id,b.old_user_id)
SET a.owner_id = b.new_user_id WHERE b.new_user_id is not null;');
PREPARE handle_sql_140 FROM @handleSql_140;
EXECUTE handle_sql_140;
DEALLOCATE PREPARE handle_sql_140;

set @backUpSql29 = concat('delete from wx_card_spend where id in (select id from wx_card_spend',@mergeSuffix,');');
PREPARE back_up_sql29 FROM @backUpSql29;
EXECUTE back_up_sql29;
DEALLOCATE PREPARE back_up_sql29;
set @handleSql_141 = concat('insert into wx_card_spend select * from wx_card_spend',@mergeSuffix,';');
PREPARE handle_sql_141 FROM @handleSql_141;
EXECUTE handle_sql_141;
DEALLOCATE PREPARE handle_sql_141;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_card_spend表所有会员重复关联数据处理成功',concat(@backUpSql29,@handleSql_141));

set @handleSql_150 = concat('UPDATE wx_c_user_basic_info',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' 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;');
PREPARE handle_sql_150 FROM @handleSql_150;
EXECUTE handle_sql_150;
DEALLOCATE PREPARE handle_sql_150;
set @handleSql_151 = concat('UPDATE wx_c_user_basic_info',@mergeSuffix,' a LEFT JOIN wx_c_user_basic_info_middle',@mergeSuffix,' b on FIND_IN_SET(a.id,b.old_user_id) SET a.phone = concat(a.phone,\'_del_\',date_format(now(),\'%Y%m%d%H%m%s\')),a.`status` = 1 WHERE b.old_user_id is not null;');
PREPARE handle_sql_151 FROM @handleSql_151;
EXECUTE handle_sql_151;
DEALLOCATE PREPARE handle_sql_151;

set @backUpSql1 = concat('delete from wx_c_user_basic_info where id in (select id from wx_c_user_basic_info',@mergeSuffix,');');
PREPARE back_up_sql1 FROM @backUpSql1;
EXECUTE back_up_sql1;
DEALLOCATE PREPARE back_up_sql1;
set @handleSql_152 = concat('insert into wx_c_user_basic_info select * from wx_c_user_basic_info',@mergeSuffix,';');
PREPARE handle_sql_152 FROM @handleSql_152;
EXECUTE handle_sql_152;
DEALLOCATE PREPARE handle_sql_152;

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_basic_info表所有会员重复关联数据处理成功',concat(@backUpSql1,@handleSql_152));

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);

INSERT into zz_process_log VALUES(NOW(),'back_up()','wx_c_user_basic_info表会员归属集团修改成功',concat('UPDATE wx_c_user_basic_info SET final_tenant_id = ',groupTenantId,' WHERE FIND_IN_SET(final_tenant_id,',tenantIds,');'));

SELECT * from zz_process_log;

END


Загрузка…
Отмена
Сохранить