✨ 登录自动建档写入岗位并订正存量空岗位
- createPlaceholderProfile 写 posts='司机':岗位为空的档案会被派单候选筛掉 - 新增幂等订正脚本,只补 profile_source='login_auto' 且岗位为空的档案 - update_time 不覆盖,脚本内附校验与回退段
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
-- ----------------------------
|
||||
-- 登录自动建档的司机档案补岗位
|
||||
-- 写业务数据。执行前先做第 0 节备份,执行后跑第 3 节校验。可重复执行。
|
||||
-- ----------------------------
|
||||
--
|
||||
-- 为什么要订正:
|
||||
-- 派单候选司机按岗位过滤(posts LIKE '%司机%'),岗位为空的档案选不到。
|
||||
-- 小程序登录自动建档原先只写了手机号、租户、user_id,posts 留空,
|
||||
-- 于是新注册的司机在运单派单里搜不到。建档逻辑已同步改为写岗位(PROFILE_DEFAULT_POST)。
|
||||
--
|
||||
-- 处置口径:只补「登录自动建档」的档案,条件是 profile_source = 'login_auto' 且岗位为空。
|
||||
-- 手工建档的档案岗位由管理端必填,为空说明被人主动清空过,不在本次订正范围。
|
||||
-- update_time 不在 SET 里,保留原值。
|
||||
-- ----------------------------
|
||||
-- 0. 备份(必须在订正之前执行,仅首次需要)
|
||||
-- ----------------------------
|
||||
-- CREATE TABLE blade_transport_driver_posts_bak AS
|
||||
-- SELECT id, tenant_id, driver_name, mobile, posts, profile_source, update_time
|
||||
-- FROM blade_transport_driver
|
||||
-- WHERE is_deleted = 0
|
||||
-- AND profile_source = 'login_auto'
|
||||
-- AND (posts IS NULL OR posts = '');
|
||||
|
||||
START TRANSACTION;
|
||||
|
||||
-- ----------------------------
|
||||
-- 1. 订正岗位
|
||||
-- ----------------------------
|
||||
UPDATE `blade_transport_driver`
|
||||
SET `posts` = '司机'
|
||||
WHERE `is_deleted` = 0
|
||||
AND `profile_source` = 'login_auto'
|
||||
AND (`posts` IS NULL OR `posts` = '');
|
||||
|
||||
-- ----------------------------
|
||||
-- 2. 提交
|
||||
-- ----------------------------
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
-- 3. 校验(两行都应为 0)
|
||||
-- ----------------------------
|
||||
-- SELECT COUNT(1) AS remaining_empty
|
||||
-- FROM blade_transport_driver
|
||||
-- WHERE is_deleted = 0 AND profile_source = 'login_auto' AND (posts IS NULL OR posts = '');
|
||||
--
|
||||
-- SELECT COUNT(1) AS touched_overlap
|
||||
-- FROM blade_transport_driver
|
||||
-- WHERE is_deleted = 0 AND profile_source = 'login_auto' AND posts IS NOT NULL AND posts <> '司机';
|
||||
|
||||
-- ----------------------------
|
||||
-- 4. 回退(仅在需要撤销本次订正时手工执行;执行前确认这些行确实是本次改的)
|
||||
-- ----------------------------
|
||||
-- UPDATE `blade_transport_driver`
|
||||
-- SET `posts` = NULL
|
||||
-- WHERE `is_deleted` = 0
|
||||
-- AND `profile_source` = 'login_auto'
|
||||
-- AND `posts` = '司机';
|
||||
Reference in New Issue
Block a user