From 9e69cfdaa4ef50e244480069e519a6e394b9dbf0 Mon Sep 17 00:00:00 2001 From: xhxu Date: Thu, 10 Sep 2020 15:17:15 +0800 Subject: [PATCH] ... --- .../V202007311200__FOR_MEMBER_ONLY_001.sql | 2 +- .../V202009041200__commercialPreferential.sql | 87 ++++++++++++++++++- .../service/impl/WxFlowServiceImpl.java | 1 + 3 files changed, 88 insertions(+), 2 deletions(-) diff --git a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql index f17f300af..bab3db886 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202007311200__FOR_MEMBER_ONLY_001.sql @@ -153,7 +153,7 @@ BEGIN login_count = (SELECT SUM(login_count) FROM wx_c_user_basic_info WHERE id in (oldCuserId,newCuserId)) WHERE id = newCuserId ; - UPDATE wx_c_user_basic_info SET phone = phone + '(作废)',`status` = 1 WHERE id = oldCuserId ; + UPDATE wx_c_user_basic_info SET phone = concat(phone,'(作废)'),`status` = 1 WHERE id = oldCuserId ; IF err_flag THEN ROLLBACK; diff --git a/mallinkAdmin/src/main/resources/db/migration/V202009041200__commercialPreferential.sql b/mallinkAdmin/src/main/resources/db/migration/V202009041200__commercialPreferential.sql index cfa5ab317..88e24ff5d 100644 --- a/mallinkAdmin/src/main/resources/db/migration/V202009041200__commercialPreferential.sql +++ b/mallinkAdmin/src/main/resources/db/migration/V202009041200__commercialPreferential.sql @@ -20,4 +20,89 @@ ADD COLUMN `source_type` tinyint(1) NOT NULL DEFAULT 1 COMMENT '1:A端发卷,2 ALTER TABLE `wx_c_user_basic_info` MODIFY COLUMN `tenant_id` varchar(250) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '租户ID' AFTER `id`; -update wx_c_user_basic_info set tenant_id = concat(",",final_tenant_id,","); \ No newline at end of file +update wx_c_user_basic_info set tenant_id = concat(",",final_tenant_id,","); + + + + + + +CREATE DEFINER=`root`@`%` PROCEDURE `move_after_group`(IN tenantIds VARCHAR(125)) +BEGIN + + DECLARE done INT DEFAULT 0; + DECLARE phonestr VARCHAR(50); + DECLARE phones CURSOR FOR SELECT phone FROM `wx_c_user_basic_info` WHERE FIND_IN_SET(final_tenant_id,tenantIds) GROUP BY phone HAVING count(1) > 1; + + DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET done = -1; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + START TRANSACTION; + OPEN phones; + FETCH phones INTO phonestr; + while done<>1 DO + BEGIN + DECLARE done2 int DEFAULT 0; + DECLARE userid BIGINT; + DECLARE num INT DEFAULT 0; + DECLARE oldCuserId BIGINT DEFAULT 0; + DECLARE newCuserId BIGINT DEFAULT 0; + + DECLARE users CURSOR FOR SELECT id FROM `wx_c_user_basic_info` WHERE phone = phonestr and FIND_IN_SET(final_tenant_id,tenantIds) order by active_time DESC; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done2 = 1; + + OPEN users; + FETCH users INTO userid; + WHILE done2 <> 1 DO + if num = 0 THEN + SET oldCuserId =userid; + ELSE + SET newCuserId =userid; + + UPDATE wx_c_user SET user_id = newCuserId WHERE user_id = oldCuserId ; + UPDATE wx_activity_join SET user_id = newCuserId WHERE user_id = oldCuserId ; + UPDATE wx_game_action_log SET user_id = newCuserId WHERE user_id = oldCuserId ; + UPDATE wx_order_group SET user_id = newCuserId WHERE user_id = oldCuserId ; + UPDATE wx_order_press SET user_id = newCuserId WHERE user_id = oldCuserId ; + UPDATE wx_question_log SET user_id = newCuserId WHERE user_id = oldCuserId ; + + UPDATE wx_c_user_car SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_c_user_from_b SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_coupon_order SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_credit_history SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_order SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_pay_order SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_refund_order SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + UPDATE wx_score_history SET c_user_id = newCuserId WHERE c_user_id = oldCuserId ; + + UPDATE wx_card_spend SET owner_id = newCuserId WHERE owner_id = oldCuserId ; + UPDATE wx_coupon_order SET owner_id = newCuserId WHERE owner_id = oldCuserId ; + + UPDATE wx_credit_history SET operator_id = newCuserId WHERE operator_type in (1,2) and operator_id = oldCuserId ; + + UPDATE wx_c_user_basic_info SET poins = (SELECT SUM(poins) FROM wx_c_user_basic_info WHERE id in (oldCuserId,newCuserId)), + credit = (SELECT SUM(credit) FROM wx_c_user_basic_info WHERE id in (oldCuserId,newCuserId)), + login_count = (SELECT SUM(login_count) FROM wx_c_user_basic_info WHERE id in (oldCuserId,newCuserId)) + WHERE id = newCuserId ; + + UPDATE wx_c_user_basic_info SET phone = concat(phone,'(作废)',"--",num),`status` = 1 WHERE id = oldCuserId ; + + END IF; + SET num = num +1; + + FETCH users INTO userid; + END WHILE; + CLOSE users; + + END; + + FETCH phones INTO phonestr; + END WHILE; + CLOSE phones; + + IF done = -1 THEN + ROLLBACK; + ELSE + COMMIT; + END IF; +END \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java index a8b738348..69ab7c16c 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxFlowServiceImpl.java @@ -116,6 +116,7 @@ public class WxFlowServiceImpl implements WxFlowService { " ( '" + idWorker.nextId() + "', '" + id1 + "', '" + tenantId + "', '有价券审批', '9', '0', '" + nowTimestr + "', '" + nowTimestr + "', '1')," + " ( '" + idWorker.nextId() + "', '" + id1 + "', '" + tenantId + "', '卡审批', '10', '0', '" + nowTimestr + "', '" + nowTimestr + "', '2')," + " ( '" + idWorker.nextId() + "', '" + id1 + "', '" + tenantId + "', '砍价审批', '12', '0', '" + nowTimestr + "', '" + nowTimestr + "', '4')," + + " ( '" + idWorker.nextId() + "', '" + id1 + "', '" + tenantId + "', 'B端创建券', '22', '0', '" + nowTimestr + "', '" + nowTimestr + "', '5')," + " ( '" + idWorker.nextId() + "', '" + id2 + "', '" + tenantId + "', '多经点位租金+物业合同签约', '19', '0', '" + nowTimestr + "', '" + nowTimestr + "', '11')," + " ( '" + idWorker.nextId() + "', '" + id2 + "', '" + tenantId + "', '商铺租金+物业合同终止', '18', '0', '" + nowTimestr + "', '" + nowTimestr + "', '10')," + " ( '" + idWorker.nextId() + "', '" + id2 + "', '" + tenantId + "', '商铺物业合同签约', '13', '0', '" + nowTimestr + "', '" + nowTimestr + "', '5')," +