🎨 归属改造的规范轴修正

基线建表脚本补 blade_loading_manage.driver_id 与两表 (tenant_id, driver_id) 索引,与迁移脚本同名同位置;两份回填存档表改用 utf8mb4_general_ci;测试里的 var 改显式类型。
This commit is contained in:
2026-10-27 22:15:32 +08:00
parent 64ed3d476d
commit 12025311be
4 changed files with 12 additions and 8 deletions
@@ -96,8 +96,9 @@ class DriverResolveMobileTest {
when(driverMapper.selectList(any())).thenReturn(List.of(profile(9001L)));
Long driverId = null;
try (var ignored = org.mockito.Mockito.mockStatic(org.springblade.core.secure.utils.AuthUtil.class)) {
ignored.when(org.springblade.core.secure.utils.AuthUtil::getTenantId).thenReturn(TENANT_ID);
try (org.mockito.MockedStatic<org.springblade.core.secure.utils.AuthUtil> authUtil
= org.mockito.Mockito.mockStatic(org.springblade.core.secure.utils.AuthUtil.class)) {
authUtil.when(org.springblade.core.secure.utils.AuthUtil::getTenantId).thenReturn(TENANT_ID);
driverId = service.resolveDriverIdByMobile(null, MOBILE);
}
assertEquals(9001L, driverId);
@@ -41,11 +41,11 @@ CREATE TABLE IF NOT EXISTS blade_loading_manage_driver_id_bak_20261028 (
loading_id bigint NOT NULL COMMENT '配载单ID',
driver_id_before bigint DEFAULT NULL COMMENT '回填前的司机ID(本脚本只处理 NULL)',
driver_id_after bigint DEFAULT NULL COMMENT '回填写入的司机档案ID(blade_transport_driver.id)',
driver_phone varchar(50) COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '回填前的手机号快照,用来证明没有被改写',
driver_phone varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '回填前的手机号快照,用来证明没有被改写',
update_time_before datetime DEFAULT NULL COMMENT '回填前的更新时间,用来证明没有被改写',
PRIMARY KEY (loading_id),
KEY idx_driver_id_after (driver_id_after)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='20261028 配载单司机档案ID回填存档';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='20261028 配载单司机档案ID回填存档';
-- 命中映射:只收「号码唯一命中一条未删除档案」的 NULL 行。
-- INSERT IGNORE + WHERE driver_id IS NULL:第二次执行不会重复建映射,已经填过的行不会再进映射。
+5 -2
View File
@@ -300,7 +300,8 @@ CREATE TABLE `blade_waybill` (
KEY `idx_waybill_dept` (`dept_id`) USING BTREE,
KEY `idx_waybill_plan_id` (`plan_id`) USING BTREE,
KEY `idx_waybill_carrier_contract_id` (`carrier_contract_id`) USING BTREE,
KEY `idx_waybill_create_time` (`create_time`) USING BTREE
KEY `idx_waybill_create_time` (`create_time`) USING BTREE,
KEY `idx_waybill_tenant_driver_id` (`tenant_id`,`driver_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='运单管理';
-- ----------------------------
@@ -330,6 +331,7 @@ CREATE TABLE `blade_loading_manage` (
`trailer_vehicle_no` varchar(100) DEFAULT NULL COMMENT '挂车车牌号',
`driver_name` varchar(100) DEFAULT NULL COMMENT '司机',
`driver_phone` varchar(50) DEFAULT NULL COMMENT '联系电话',
`driver_id` bigint(20) DEFAULT NULL COMMENT '司机ID',
`escort_name` varchar(100) DEFAULT NULL COMMENT '押运人',
`escort_phone` varchar(50) DEFAULT NULL COMMENT '押运人手机号',
`carrier_type` varchar(50) DEFAULT NULL COMMENT '承运类型',
@@ -359,7 +361,8 @@ CREATE TABLE `blade_loading_manage` (
UNIQUE KEY `uk_loading_manage_no` (`loading_no`) USING BTREE,
KEY `idx_loading_manage_carrier_contract_id` (`carrier_contract_id`) USING BTREE,
KEY `idx_loading_manage_dept` (`dept_id`) USING BTREE,
KEY `idx_loading_manage_create_time` (`create_time`) USING BTREE
KEY `idx_loading_manage_create_time` (`create_time`) USING BTREE,
KEY `idx_loading_manage_tenant_driver_id` (`tenant_id`,`driver_id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配载管理';
-- ----------------------------
@@ -44,11 +44,11 @@ CREATE TABLE IF NOT EXISTS blade_waybill_driver_id_bak_20261028 (
waybill_id bigint NOT NULL COMMENT '运单ID',
driver_id_before bigint DEFAULT NULL COMMENT '回填前的司机ID(本脚本只处理 NULL)',
driver_id_after bigint DEFAULT NULL COMMENT '回填写入的司机档案ID(blade_transport_driver.id)',
driver_phone varchar(50) COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '回填前的手机号快照,用来证明没有被改写',
driver_phone varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '回填前的手机号快照,用来证明没有被改写',
update_time_before datetime DEFAULT NULL COMMENT '回填前的更新时间,用来证明没有被改写',
PRIMARY KEY (waybill_id),
KEY idx_driver_id_after (driver_id_after)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='20261028 运单司机档案ID回填存档';
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='20261028 运单司机档案ID回填存档';
-- 命中映射:只收「号码唯一命中一条未删除档案」的 NULL 行。
-- INSERT IGNORE + WHERE driver_id IS NULL:第二次执行不会重复建映射,已经填过的行不会再进映射。