推送项目重构代码
This commit is contained in:
74
sql/sys_user_im_bind.sql
Normal file
74
sql/sys_user_im_bind.sql
Normal file
@@ -0,0 +1,74 @@
|
||||
-- ----------------------------
|
||||
-- OA 用户 ↔ OpenIM 用户 绑定表
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_user_im_bind`;
|
||||
CREATE TABLE `sys_user_im_bind` (
|
||||
`user_id` bigint(20) NOT NULL COMMENT 'OA 用户ID (sys_user.user_id)',
|
||||
`phone` varchar(20) NOT NULL COMMENT '手机号(绑定时记录的)',
|
||||
`im_user_id` varchar(64) NOT NULL COMMENT 'OpenIM userID(chat 生成的字符串)',
|
||||
`bind_status` tinyint(1) DEFAULT 1 COMMENT '1=正常 0=禁用',
|
||||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||
PRIMARY KEY (`user_id`) USING BTREE,
|
||||
KEY `idx_phone` (`phone`),
|
||||
KEY `idx_im_user_id` (`im_user_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='OA-OpenIM 用户绑定';
|
||||
|
||||
-- ----------------------------
|
||||
-- 一次性回填:从 IM 侧 mongo 导出的 phone→userID 映射表
|
||||
-- 与 sys_user.phonenumber 关联,命中即绑定
|
||||
-- ----------------------------
|
||||
DROP TEMPORARY TABLE IF EXISTS `tmp_im_phone_map`;
|
||||
CREATE TEMPORARY TABLE `tmp_im_phone_map` (
|
||||
`phone` varchar(20) NOT NULL,
|
||||
`im_user_id` varchar(64) NOT NULL,
|
||||
PRIMARY KEY (`phone`)
|
||||
);
|
||||
|
||||
INSERT INTO `tmp_im_phone_map` (`phone`, `im_user_id`) VALUES
|
||||
('15690169553','5546292033'),
|
||||
('19932047759','2756281826'),
|
||||
('15075462410','2553281144'),
|
||||
('18915343363','5026155910'),
|
||||
('18324818443','2877251793'),
|
||||
('15383265119','8330802909'),
|
||||
('18940843511','4349480400'),
|
||||
('17714433303','2999550914'),
|
||||
('13390839803','2181055021'),
|
||||
('18803235354','7658449575'),
|
||||
('13700303346','1663065057'),
|
||||
('17783455912','2152870750'),
|
||||
('17829506825','3477330474'),
|
||||
('15591903178','8576556261'),
|
||||
('15109286032','8251618343'),
|
||||
('15615500565','1050079788'),
|
||||
('13630266330','5347384098'),
|
||||
('15956900268','2642329050'),
|
||||
('18728390370','7870875282'),
|
||||
('18976589764','5165937678'),
|
||||
('15092755532','4952160908'),
|
||||
('15380239551','2739756387'),
|
||||
('18354752253','3394331602'),
|
||||
('17692304283','4265596684'),
|
||||
('13572086005','3585749899'),
|
||||
('15081674433','1492306574'),
|
||||
('13861602746','8736597942'),
|
||||
('19711921991','3259846354'),
|
||||
('15330091963','1537622221');
|
||||
|
||||
INSERT INTO `sys_user_im_bind` (`user_id`, `phone`, `im_user_id`)
|
||||
SELECT u.user_id, u.phonenumber, m.im_user_id
|
||||
FROM `sys_user` u
|
||||
JOIN `tmp_im_phone_map` m ON m.phone = u.phonenumber
|
||||
WHERE u.del_flag = '0'
|
||||
ON DUPLICATE KEY UPDATE
|
||||
`phone` = VALUES(`phone`),
|
||||
`im_user_id` = VALUES(`im_user_id`);
|
||||
|
||||
-- 校验结果
|
||||
SELECT COUNT(*) AS bound_count FROM `sys_user_im_bind`;
|
||||
SELECT u.user_id, u.user_name, u.phonenumber, b.im_user_id
|
||||
FROM `sys_user` u
|
||||
LEFT JOIN `sys_user_im_bind` b ON b.user_id = u.user_id
|
||||
WHERE u.del_flag = '0' AND u.phonenumber IS NOT NULL AND u.phonenumber <> ''
|
||||
ORDER BY b.im_user_id IS NULL DESC;
|
||||
Reference in New Issue
Block a user