司机管理

背景

表结构

1. user 用户表

通过字段driver_flag标识是否为司机

CREATE TABLE `user` (
  `user_id` int NOT NULL AUTO_INCREMENT COMMENT 'ID',
  `user_code` varchar(128) NOT NULL DEFAULT '' COMMENT '登录名',
  `user_password` varchar(136) NOT NULL DEFAULT '' COMMENT '密码',
  `user_name` varchar(64) NOT NULL DEFAULT '' COMMENT '真实姓名',
  `user_name_en` varchar(64) NOT NULL DEFAULT '' COMMENT '英文名',
  `user_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态:0未激活,1激活',
  `avatar` varchar(255) DEFAULT NULL COMMENT '头像',
  `user_email` varchar(128) NOT NULL DEFAULT '' COMMENT '电子邮箱',
  `user_qq` varchar(50) DEFAULT '' COMMENT '用户QQ号码',
  `ud_id` int NOT NULL DEFAULT '0' COMMENT '人员所属部门id(暂时停用)',
  `p_id` int NOT NULL COMMENT '职位ID',
  `up_id` int NOT NULL DEFAULT '0' COMMENT '角色 id',
  `user_password_update_time` date DEFAULT NULL COMMENT '最近一次修改密码',
  `user_phone` varchar(50) DEFAULT '' COMMENT '联系电话',
  `user_mobile_phone` varchar(50) DEFAULT '' COMMENT '联系手机号',
  `user_note` varchar(250) DEFAULT '' COMMENT '备注',
  `user_supervisor_id` int NOT NULL DEFAULT '0' COMMENT '上级管理者ID(0为顶级)',
  `user_add_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  `user_last_login` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后登录时间',
  `user_update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后更新时间',
  `ez_user_id` int NOT NULL DEFAULT '0' COMMENT '用户中心,用户id',
  `priority_login` varchar(10) DEFAULT 'EZ' COMMENT '设置用户优先登陆的系统(EZ:仓配、EB:销售)',
  `user_address` varchar(255) NOT NULL DEFAULT '' COMMENT '联系地址',
  `user_organization_id` int NOT NULL DEFAULT '0' COMMENT '结构机构ID',
  `position` varchar(128) DEFAULT '' COMMENT '职务',
  `bind_oa` tinyint(1) DEFAULT '0' COMMENT '是否绑定企业微信 0.否 1.是',
  `login_count` int NOT NULL DEFAULT '3' COMMENT '限制登录设备数',
  `pwd_expiration_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '到期时间',
  `pwd_verify_expiration` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否需要验证密码过期.0:不需要,1:需要',
  `site_id` int DEFAULT '0' COMMENT '网点ID',
  `create_user` int DEFAULT NULL COMMENT '创建人',
  `update_user` int DEFAULT NULL COMMENT '修改人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `work_start_time` time DEFAULT NULL COMMENT '工作开始时间段 hh:mi',
  `work_end_time` time DEFAULT NULL COMMENT '工作结束时间段 hh:mi',
  `authorize_code` varchar(32) DEFAULT '' COMMENT '授权码',
  `authorize_code_expiration` datetime DEFAULT NULL COMMENT '验证码有效期',
  `driver_flag` tinyint NOT NULL DEFAULT '0' COMMENT '是否为司机用户 0-否 1-是',
  PRIMARY KEY (`user_id`) USING BTREE,
  UNIQUE KEY `uniq_login_name` (`user_code`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1255 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='用户列表';

2. user 按规范添加字段与索引

-- 司机信息
-- 第一步先添加字段
ALTER TABLE `user`
     ADD  COLUMN `remark` varchar(256) DEFAULT '' COMMENT '备注',
 ADD  COLUMN `over_flag` tinyint NOT NULL DEFAULT '0' COMMENT '完结标识 0-未完结,1-已完结';


-- 第二步历史数据初始化
update `user` set
                  create_user = 1,
                  create_time = now(),
                  update_user = 1,
                  update_time = now()
where create_user is null;

-- 第三步修改字段约束
ALTER TABLE `user`
    MODIFY  COLUMN   `create_user` bigint NOT NULL COMMENT '创建人',
    MODIFY  COLUMN   `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    MODIFY  COLUMN   `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间';


-- 索引
ALTER TABLE `user`
    ADD INDEX `idx_create_time` (`create_time`),
ADD INDEX `idx_update_time` (`update_time`);

功能点流程图

作者:陆飞  创建时间:2026-01-13 17:19
最后编辑:高美燕  更新时间:2026-03-03 10:08