87f4c3a830
按 ADR-0001/0002 建立司机与车辆共用的认证记录表 blade_transport_cert_record (biz_type 区分、载荷存 JSON、检索字段提升为真实列),并为司机/车辆表补生效快照指针。 不变式结构性保证: - I1 同对象至多一条待审:生成列 pending_biz_id + 唯一索引,数据库层拦截; 生成列同时排除 is_deleted,避免逻辑删除的待审记录永久占用唯一键。 - I3 快照不可变:snapshot_json 等 5 列标 FieldStrategy.NEVER,永不进入 UPDATE。 - status 承载审核状态(0审核中/1已通过/2已驳回/3已作废),新增时必须显式设置: 框架 resolveEntity 会把 null 的 status 静默填成 1(即「已通过」), 且继承来的 changeStatus 可直接写 status,两条通道均已封堵。 其他:司机表补身份证有效期三列并订正排序规则为 utf8mb4_general_ci (原先为 0900_ai_ci,与车辆表 JOIN 已发生过 Illegal mix of collations); 生效快照指针加 @JsonProperty(READ_ONLY),防止以 /submit 请求体自行「认证」自己; 同步基线建表脚本与认证审核菜单/权限码。本票不含任何业务接口。
77 lines
5.7 KiB
SQL
77 lines
5.7 KiB
SQL
-- ----------------------------
|
||
-- Table structure for blade_transport_driver
|
||
-- ----------------------------
|
||
DROP TABLE IF EXISTS `blade_transport_driver`;
|
||
CREATE TABLE `blade_transport_driver` (
|
||
`id` bigint(20) NOT NULL COMMENT '主键',
|
||
`tenant_id` varchar(12) DEFAULT '000000' COMMENT '租户ID',
|
||
`driver_name` varchar(20) NOT NULL COMMENT '司机姓名',
|
||
`id_card_no` varchar(18) NOT NULL COMMENT '身份证号',
|
||
`birthday` date DEFAULT NULL COMMENT '出生年月',
|
||
`gender` varchar(10) DEFAULT NULL COMMENT '性别',
|
||
`nation` varchar(20) DEFAULT NULL COMMENT '民族',
|
||
`education` varchar(20) DEFAULT NULL COMMENT '学历',
|
||
`address_region` varchar(100) DEFAULT NULL COMMENT '地址区划',
|
||
`address` varchar(200) DEFAULT NULL COMMENT '详细地址',
|
||
`driving_vehicle` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '驾驶车辆车牌号',
|
||
`posts` varchar(100) DEFAULT NULL COMMENT '岗位,多个使用逗号分隔',
|
||
`id_card_front` varchar(1000) DEFAULT NULL COMMENT '身份证正面照',
|
||
`id_card_back` varchar(1000) DEFAULT NULL COMMENT '身份证反面照',
|
||
`id_card_valid_start` date DEFAULT NULL COMMENT '身份证有效期起',
|
||
`id_card_valid_end` date DEFAULT NULL COMMENT '身份证有效期止',
|
||
`id_card_long_term` int(11) DEFAULT '0' COMMENT '身份证长期有效:0否 1是',
|
||
`head_photo` varchar(1000) DEFAULT NULL COMMENT '大头照',
|
||
`driving_type` varchar(20) NOT NULL COMMENT '准驾车型',
|
||
`driving_license_no` varchar(50) DEFAULT NULL COMMENT '驾驶证档案编号',
|
||
`driving_license_start_date` date DEFAULT NULL COMMENT '驾驶证有效期起',
|
||
`driving_license_end_date` date DEFAULT NULL COMMENT '驾驶证有效期止',
|
||
`driving_license_long_term` int(11) DEFAULT '0' COMMENT '驾驶证长期有效:0否 1是',
|
||
`driving_license_front` varchar(1000) DEFAULT NULL COMMENT '驾驶证主页',
|
||
`driving_license_back` varchar(1000) DEFAULT NULL COMMENT '驾驶证副页',
|
||
`qualification_type` varchar(50) DEFAULT NULL COMMENT '从业资格证类型',
|
||
`qualification_no` varchar(50) DEFAULT NULL COMMENT '资格证号',
|
||
`qualification_end_date` date DEFAULT NULL COMMENT '从业资格证有效期止',
|
||
`qualification_long_term` int(11) DEFAULT '0' COMMENT '从业资格证长期有效:0否 1是',
|
||
`qualification_front` varchar(1000) DEFAULT NULL COMMENT '从业资格证封面页',
|
||
`qualification_back` varchar(1000) DEFAULT NULL COMMENT '从业资格证内容页',
|
||
`driver_type` varchar(20) NOT NULL COMMENT '司机类型:自有/外协',
|
||
`mobile` varchar(20) NOT NULL COMMENT '手机号',
|
||
`user_id` bigint(20) DEFAULT NULL COMMENT '关联系统用户ID',
|
||
`contact_relation` varchar(20) DEFAULT NULL COMMENT '与联系人关系',
|
||
`organization_name` varchar(50) NOT NULL COMMENT '所属组织',
|
||
`emergency_contact_name` varchar(20) NOT NULL COMMENT '紧急联系人姓名',
|
||
`emergency_contact_mobile` varchar(20) NOT NULL COMMENT '紧急联系人手机号',
|
||
`remark` varchar(200) DEFAULT NULL COMMENT '备注',
|
||
`certification_status` int(11) DEFAULT NULL COMMENT '最新提交状态展示缓存:0审核中 1已通过 2已驳回 3已作废,NULL为从未提交',
|
||
`certification_reject_reason` varchar(200) DEFAULT NULL COMMENT '最新一次驳回原因展示缓存',
|
||
`effective_cert_record_id` bigint(20) DEFAULT NULL COMMENT '生效快照指针:指向 blade_transport_cert_record.id,NULL 表示从未认证通过;一经设置永不回退',
|
||
`create_user` bigint(20) DEFAULT NULL COMMENT '创建人',
|
||
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
|
||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||
`update_user` bigint(20) DEFAULT NULL COMMENT '修改人',
|
||
`update_time` datetime DEFAULT NULL COMMENT '修改时间',
|
||
`status` int(11) DEFAULT '1' COMMENT '状态',
|
||
`is_deleted` int(11) DEFAULT '0' COMMENT '是否已删除',
|
||
PRIMARY KEY (`id`) USING BTREE,
|
||
UNIQUE KEY `uk_transport_driver_id_card` (`id_card_no`) USING BTREE,
|
||
KEY `idx_transport_driver_mobile` (`mobile`) USING BTREE,
|
||
KEY `idx_transport_driver_type` (`driver_type`) USING BTREE,
|
||
KEY `idx_transport_driver_org` (`organization_name`) USING BTREE,
|
||
KEY `idx_transport_driver_license_end` (`driving_license_end_date`) USING BTREE,
|
||
KEY `idx_transport_driver_qualification_end` (`qualification_end_date`) USING BTREE,
|
||
KEY `idx_transport_driver_status` (`status`) USING BTREE
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='司机管理';
|
||
|
||
-- ----------------------------
|
||
-- Records of blade_menu for transport capacity driver
|
||
-- ----------------------------
|
||
INSERT INTO `blade_menu` (`id`, `parent_id`, `code`, `name`, `alias`, `path`, `source`, `sort`, `category`, `action`, `is_open`, `component`, `remark`, `is_deleted`) VALUES
|
||
(2079000000000000001, 0, 'transport_capacity', '运力管理', 'transport_capacity', '/transportCapacity', 'iconfont icon-yunshu', 20, 1, 0, 1, '', '', 0),
|
||
(2079000000000000002, 2079000000000000001, 'driver', '司机管理', 'driver', '/transportCapacity/driver', 'iconfont icon-yonghu', 1, 1, 0, 1, '', '', 0),
|
||
(2079000000000000003, 2079000000000000002, 'driver_add', '新增', 'driver_add', '', '', 1, 2, 0, 1, NULL, '', 0),
|
||
(2079000000000000004, 2079000000000000002, 'driver_edit', '编辑', 'driver_edit', '', '', 2, 2, 0, 1, NULL, '', 0),
|
||
(2079000000000000005, 2079000000000000002, 'driver_delete', '删除', 'driver_delete', '', '', 3, 2, 0, 1, NULL, '', 0),
|
||
(2079000000000000006, 2079000000000000002, 'driver_view', '查看', 'driver_view', '', '', 4, 2, 0, 1, NULL, '', 0),
|
||
(2079000000000000007, 2079000000000000002, 'driver_status', '启停', 'driver_status', '', '', 5, 2, 0, 1, NULL, '', 0),
|
||
(2079000000000000008, 2079000000000000002, 'driver_export', '批量导出', 'driver_export', '', '', 6, 2, 0, 1, NULL, '', 0);
|