DukeDuke
主页
文档转换
关于我们
主页
文档转换
关于我们
  • 代办项目

    • 风险评估文档
    • 开发计划文档
    • 项目需求文档
    • 概要设计文档
    • 详细设计文档
    • 数据库设计文档

车驾管服务系统数据库设计

1. 数据库设计概述

1.1 设计目标

  • 数据完整性:保证数据的完整性和一致性,支持业务规则约束
  • 性能优化:合理设计索引,优化查询性能,支持高并发
  • 可扩展性:表结构设计考虑未来扩展需求,支持业务变化
  • 数据安全:敏感数据加密存储,重要数据备份,访问权限控制
  • 规范化设计:遵循数据库设计范式,减少数据冗余,保证数据一致性

1.2 数据库选型

  • 数据库类型:关系型数据库
  • 数据库产品:MySQL 8.0+
  • 字符集:utf8mb4
  • 排序规则:utf8mb4_unicode_ci
  • 存储引擎:InnoDB(支持事务、外键、行级锁)

1.3 命名规范

  • 数据库名:duke_boot
  • 表命名:使用小写字母,单词间使用下划线分隔
    • 系统表:sys_*(如:sys_user, sys_role)
    • 业务表:core_*(如:core_order, core_customer)
  • 字段命名:使用小写字母,单词间使用下划线分隔
  • 索引命名:
    • 主键索引:PRIMARY KEY
    • 唯一索引:uk_*(如:uk_order_no)
    • 普通索引:idx_*(如:idx_customer_id)
    • 组合索引:idx__(如:idx_customer_create_time)

1.4 设计原则

  • 第一范式(1NF):每个字段都是原子性的,不可再分
  • 第二范式(2NF):非主键字段完全依赖于主键
  • 第三范式(3NF):非主键字段不依赖于其他非主键字段
  • 适当冗余:在性能和数据一致性之间平衡,适当冗余以提高查询性能
  • 索引优化:为常用查询字段创建索引,避免过多索引影响写入性能
  • 业务完整性:表结构设计必须支持所有业务流程,不能遗漏关键环节

1.4 表设计规范

  • 主键设计:统一使用 bigint 类型的雪花id主键,字段名统一为 表名_id
  • 时间字段:统一使用 datetime 类型,字段名统一为 create_time、update_time
  • 删除标记:统一使用 deleted 字段(tinyint,0-未删除,1-已删除),支持软删除
  • 状态字段:统一使用 status 字段(tinyint),状态值使用枚举常量
  • 备注字段:统一使用 remark 字段(varchar(500)),用于存储备注信息
  • 创建人/更新人:统一使用 create_by、update_by 字段(varchar(64)),存储用户ID或用户名
  • 版本号:统一使用 version 字段(int),用于乐观锁控制并发

2. 数据库表设计

2.1 系统管理表(sys_*)

2.1.1 管理员表(sys_admin)

管理员账号信息表,存储后台管理员的基本信息。

字段名类型长度是否为空默认值说明
admin_idbigint-NOT NULL-主键ID(雪花ID)
usernamevarchar64NOT NULL-用户名(唯一)
passwordvarchar255NOT NULL-密码(加密存储)
real_namevarchar50NULL-真实姓名
phonevarchar20NULL-手机号(唯一)
emailvarchar100NULL-邮箱
avatarvarchar500NULL-头像URL
dept_idbigint-NULL-部门ID
post_idbigint-NULL-岗位ID
statustinyint-NOT NULL1状态(0-禁用,1-启用)
login_ipvarchar50NULL-最后登录IP
login_timedatetime-NULL-最后登录时间
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记(0-未删除,1-已删除)
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (admin_id)
  • UNIQUE KEY uk_username (username)
  • UNIQUE KEY uk_phone (phone)
  • INDEX idx_dept_id (dept_id)
  • INDEX idx_status (status)
  • INDEX idx_create_time (create_time)

2.1.2 部门表(sys_dept)

部门信息表,支持多层级部门结构。

字段名类型长度是否为空默认值说明
dept_idbigint-NOT NULL-主键ID
parent_idbigint-NULL0父部门ID(0表示顶级)
dept_namevarchar100NOT NULL-部门名称
dept_codevarchar50NULL-部门编码(唯一)
leadervarchar50NULL-负责人
phonevarchar20NULL-联系电话
emailvarchar100NULL-邮箱
addressvarchar200NULL-地址
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (dept_id)
  • UNIQUE KEY uk_dept_code (dept_code)
  • INDEX idx_parent_id (parent_id)
  • INDEX idx_status (status)

2.1.3 岗位表(sys_post)

岗位信息表。

字段名类型长度是否为空默认值说明
post_idbigint-NOT NULL-主键ID
post_namevarchar100NOT NULL-岗位名称
post_codevarchar50NULL-岗位编码(唯一)
post_descvarchar500NULL-岗位描述
dept_idbigint-NULL-所属部门ID
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (post_id)
  • UNIQUE KEY uk_post_code (post_code)
  • INDEX idx_dept_id (dept_id)

2.1.4 角色表(sys_role)

角色信息表。

字段名类型长度是否为空默认值说明
role_idbigint-NOT NULL-主键ID
role_namevarchar100NOT NULL-角色名称
role_codevarchar50NULL-角色编码(唯一)
role_descvarchar500NULL-角色描述
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (role_id)
  • UNIQUE KEY uk_role_code (role_code)

2.1.5 菜单表(sys_menu)

系统菜单表,支持多级菜单。

字段名类型长度是否为空默认值说明
menu_idbigint-NOT NULL-主键ID
parent_idbigint-NULL0父菜单ID(0表示顶级)
menu_namevarchar100NOT NULL-菜单名称
menu_typetinyint-NOT NULL1菜单类型(1-目录,2-菜单,3-按钮)
pathvarchar200NULL-路由路径
componentvarchar200NULL-组件路径
permsvarchar200NULL-权限标识
iconvarchar100NULL-图标
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (menu_id)
  • INDEX idx_parent_id (parent_id)

2.1.6 管理员角色关联表(sys_admin_role)

管理员与角色的多对多关联表。

字段名类型长度是否为空默认值说明
idbigint-NOT NULL-主键ID
admin_idbigint-NOT NULL-管理员ID
role_idbigint-NOT NULL-角色ID
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_admin_role (admin_id, role_id)
  • INDEX idx_admin_id (admin_id)
  • INDEX idx_role_id (role_id)

2.1.7 角色菜单关联表(sys_role_menu)

角色与菜单的多对多关联表。

字段名类型长度是否为空默认值说明
idbigint-NOT NULL-主键ID
role_idbigint-NOT NULL-角色ID
menu_idbigint-NOT NULL-菜单ID
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_role_menu (role_id, menu_id)
  • INDEX idx_role_id (role_id)
  • INDEX idx_menu_id (menu_id)

2.1.8 字典类型表(sys_dict_type)

字典类型表。

字段名类型长度是否为空默认值说明
dict_type_idbigint-NOT NULL-主键ID
dict_type_namevarchar100NOT NULL-字典类型名称
dict_type_codevarchar50NOT NULL-字典类型编码(唯一)
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (dict_type_id)
  • UNIQUE KEY uk_dict_type_code (dict_type_code)

2.1.9 字典数据表(sys_dict_data)

字典数据表。

字段名类型长度是否为空默认值说明
dict_data_idbigint-NOT NULL-主键ID
dict_type_idbigint-NOT NULL-字典类型ID
dict_labelvarchar100NOT NULL-字典标签
dict_valuevarchar100NOT NULL-字典值
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (dict_data_id)
  • INDEX idx_dict_type_id (dict_type_id)

2.1.10 地区表(sys_region)

地区信息表,支持省市区多级结构。

字段名类型长度是否为空默认值说明
region_idbigint-NOT NULL-主键ID
parent_idbigint-NULL0父地区ID(0表示顶级)
region_namevarchar100NOT NULL-地区名称
region_codevarchar50NULL-地区编码(唯一)
region_leveltinyint-NOT NULL1地区级别(1-省,2-市,3-区/县)
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (region_id)
  • UNIQUE KEY uk_region_code (region_code)
  • INDEX idx_parent_id (parent_id)

2.1.11 通知公告表(sys_notice)

系统通知公告表。

字段名类型长度是否为空默认值说明
notice_idbigint-NOT NULL-主键ID
notice_titlevarchar200NOT NULL-通知标题
notice_typetinyint-NOT NULL1通知类型(1-系统公告,2-业务通知,3-订单通知,4-系统维护,5-活动通知)
notice_contenttext-NULL-通知内容
prioritytinyint-NOT NULL1优先级(1-低,2-中,3-高)
publish_timedatetime-NULL-发布时间
expire_timedatetime-NULL-过期时间
statustinyint-NOT NULL0状态(0-草稿,1-已发布,2-已撤回)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (notice_id)
  • INDEX idx_notice_type (notice_type)
  • INDEX idx_status (status)
  • INDEX idx_publish_time (publish_time)

2.1.12 操作日志表(sys_oper_log)

系统操作日志表。

字段名类型长度是否为空默认值说明
oper_log_idbigint-NOT NULL-主键ID
admin_idbigint-NULL-操作人ID
usernamevarchar64NULL-操作人用户名
oper_modulevarchar100NULL-操作模块
oper_typevarchar50NULL-操作类型(新增、修改、删除、查询等)
oper_descvarchar500NULL-操作描述
oper_methodvarchar200NULL-操作方法
oper_paramstext-NULL-请求参数
oper_resulttext-NULL-操作结果
oper_ipvarchar50NULL-操作IP
oper_locationvarchar200NULL-操作地点
oper_browservarchar100NULL-浏览器类型
oper_osvarchar100NULL-操作系统
statustinyint-NOT NULL1操作状态(0-失败,1-成功)
error_msgtext-NULL-错误信息
oper_timedatetime-NOT NULLCURRENT_TIMESTAMP操作时间

索引设计:

  • PRIMARY KEY (oper_log_id)
  • INDEX idx_admin_id (admin_id)
  • INDEX idx_oper_module (oper_module)
  • INDEX idx_oper_time (oper_time)

2.1.13 登录日志表(sys_login_log)

系统登录日志表。

字段名类型长度是否为空默认值说明
login_log_idbigint-NOT NULL-主键ID
user_idbigint-NULL-用户ID
usernamevarchar64NULL-用户名
user_typetinyint-NOT NULL1用户类型(1-管理员,2-客户,3-代驾师傅,4-接待员,5-检测站人员)
login_ipvarchar50NULL-登录IP
login_locationvarchar200NULL-登录地点
login_browservarchar100NULL-浏览器类型
login_osvarchar100NULL-操作系统
login_statustinyint-NOT NULL1登录状态(0-失败,1-成功)
login_msgvarchar500NULL-登录信息
login_timedatetime-NOT NULLCURRENT_TIMESTAMP登录时间

索引设计:

  • PRIMARY KEY (login_log_id)
  • INDEX idx_user_id (user_id)
  • INDEX idx_user_type (user_type)
  • INDEX idx_login_time (login_time)

2.2 业务核心表(core_*)

2.2.1 客户表(core_customer)

客户信息表。

字段名类型长度是否为空默认值说明
customer_idbigint-NOT NULL-主键ID
phonevarchar20NOT NULL-手机号(唯一)
passwordvarchar255NULL-密码(加密存储)
real_namevarchar50NULL-真实姓名
id_cardvarchar18NULL-身份证号
avatarvarchar500NULL-头像URL
gendertinyint-NULL0性别(0-未知,1-男,2-女)
birthdaydate-NULL-生日
addressvarchar200NULL-地址
region_idbigint-NULL-地区ID
wx_openidvarchar100NULL-微信OpenID
wx_unionidvarchar100NULL-微信UnionID
statustinyint-NOT NULL1状态(0-禁用,1-正常,2-黑名单)
register_timedatetime-NULL-注册时间
last_login_timedatetime-NULL-最后登录时间
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (customer_id)
  • UNIQUE KEY uk_phone (phone)
  • INDEX idx_id_card (id_card)
  • INDEX idx_status (status)
  • INDEX idx_create_time (create_time)

2.2.2 车辆表(core_vehicle)

车辆信息表。

字段名类型长度是否为空默认值说明
vehicle_idbigint-NOT NULL-主键ID
customer_idbigint-NOT NULL-客户ID
plate_novarchar20NOT NULL-车牌号
brandvarchar50NULL-品牌
modelvarchar50NULL-型号
colorvarchar20NULL-颜色
vinvarchar17NULL-VIN码(车架号)
engine_novarchar50NULL-发动机号
vehicle_typevarchar50NULL-车辆类型
register_datedate-NULL-注册日期
issue_datedate-NULL-发证日期
expire_datedate-NULL-到期日期
vehicle_photovarchar500NULL-车辆照片(多张用逗号分隔)
driving_license_photovarchar500NULL-行驶证照片(多张用逗号分隔)
statustinyint-NOT NULL1状态(0-禁用,1-正常)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (vehicle_id)
  • UNIQUE KEY uk_plate_no (plate_no)
  • INDEX idx_customer_id (customer_id)
  • INDEX idx_vin (vin)

2.2.3 服务分类表(core_service_category)

服务分类表,支持多级分类。

字段名类型长度是否为空默认值说明
category_idbigint-NOT NULL-主键ID
parent_idbigint-NULL0父分类ID(0表示顶级)
category_namevarchar100NOT NULL-分类名称
category_codevarchar50NULL-分类编码(唯一)
category_descvarchar500NULL-分类描述
iconvarchar200NULL-图标URL
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (category_id)
  • UNIQUE KEY uk_category_code (category_code)
  • INDEX idx_parent_id (parent_id)

2.2.4 服务表(core_service)

服务信息表。

字段名类型长度是否为空默认值说明
service_idbigint-NOT NULL-主键ID
category_idbigint-NOT NULL-服务分类ID
service_namevarchar100NOT NULL-服务名称
service_codevarchar50NULL-服务编码(唯一)
service_desctext-NULL-服务描述
base_pricedecimal10,2NOT NULL0.00基础价格
price_rulevarchar500NULL-价格规则(JSON格式)
process_desctext-NULL-办理流程说明
material_listtext-NULL-所需材料清单(JSON格式)
durationint-NULL-办理时长(天)
service_scopevarchar500NULL-适用范围(JSON格式:地区、车型等)
sort_orderint-NULL0排序号
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (service_id)
  • UNIQUE KEY uk_service_code (service_code)
  • INDEX idx_category_id (category_id)
  • INDEX idx_status (status)

2.2.5 检测站表(core_station)

检测站信息表。

字段名类型长度是否为空默认值说明
station_idbigint-NOT NULL-主键ID
station_namevarchar100NOT NULL-检测站名称(唯一)
station_codevarchar50NULL-检测站编码(唯一)
contact_namevarchar50NULL-联系人
contact_phonevarchar20NULL-联系电话
addressvarchar200NULL-地址
region_idbigint-NULL-地区ID
service_scopevarchar500NULL-服务范围(JSON格式)
service_typesvarchar500NULL-支持的服务类型(JSON格式)
business_hoursvarchar200NULL-营业时间
license_photovarchar500NULL-营业执照照片
qualification_photovarchar500NULL-检测资质证书照片
statustinyint-NOT NULL0状态(0-审核中,1-启用,2-停用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (station_id)
  • UNIQUE KEY uk_station_name (station_name)
  • UNIQUE KEY uk_station_code (station_code)
  • INDEX idx_region_id (region_id)
  • INDEX idx_status (status)

2.2.6 渠道表(core_channel)

渠道信息表。

字段名类型长度是否为空默认值说明
channel_idbigint-NOT NULL-主键ID
channel_namevarchar100NOT NULL-渠道名称
channel_codevarchar50NOT NULL-渠道编码(唯一)
contact_namevarchar50NULL-联系人
contact_phonevarchar20NULL-联系电话
addressvarchar200NULL-地址
api_keyvarchar100NULL-API密钥
api_secretvarchar255NULL-API密钥(加密存储)
callback_urlvarchar500NULL-回调地址
ip_whitelisttext-NULL-IP白名单(JSON格式)
business_typesvarchar500NULL-业务类型(JSON格式)
license_photovarchar500NULL-营业执照照片
agreement_photovarchar500NULL-合作协议照片
statustinyint-NOT NULL0状态(0-审核中,1-启用,2-停用,3-已禁用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (channel_id)
  • UNIQUE KEY uk_channel_code (channel_code)
  • INDEX idx_status (status)

2.2.7 渠道API调用记录表(core_channel_api_log)

渠道API调用记录表。

字段名类型长度是否为空默认值说明
log_idbigint-NOT NULL-主键ID
channel_idbigint-NOT NULL-渠道ID
api_namevarchar100NOT NULL-接口名称
api_versionvarchar20NULL-接口版本
request_paramstext-NULL-请求参数(JSON格式)
response_resulttext-NULL-响应结果(JSON格式)
request_ipvarchar50NULL-请求IP
request_timedatetime-NOT NULLCURRENT_TIMESTAMP请求时间
response_timedatetime-NULL-响应时间
durationint-NULL-耗时(毫秒)
statustinyint-NOT NULL1状态(0-失败,1-成功)
error_msgvarchar500NULL-错误信息

索引设计:

  • PRIMARY KEY (log_id)
  • INDEX idx_channel_id (channel_id)
  • INDEX idx_request_time (request_time)
  • INDEX idx_status (status)

2.2.8 师傅表(core_driver)

师傅信息表(代驾师傅和接待员共用)。

字段名类型长度是否为空默认值说明
driver_idbigint-NOT NULL-主键ID
driver_typetinyint-NOT NULL1师傅类型(1-代驾师傅,2-接待员)
phonevarchar20NOT NULL-手机号(唯一)
passwordvarchar255NULL-密码(加密存储)
real_namevarchar50NULL-真实姓名
id_cardvarchar18NULL-身份证号(唯一)
avatarvarchar500NULL-头像URL
gendertinyint-NULL0性别(0-未知,1-男,2-女)
addressvarchar200NULL-地址
region_idbigint-NULL-地区ID
service_regionvarchar500NULL-服务区域(JSON格式)
max_concurrent_ordersint-NULL3最大并发订单数
statustinyint-NOT NULL0状态(0-审核中,1-在线,2-忙碌,3-休息,4-已禁用)
work_statustinyint-NULL0工作状态(0-离线,1-在线,2-忙碌,3-休息)
register_timedatetime-NULL-注册时间
last_login_timedatetime-NULL-最后登录时间
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (driver_id)
  • UNIQUE KEY uk_phone (phone)
  • UNIQUE KEY uk_id_card (id_card)
  • INDEX idx_driver_type (driver_type)
  • INDEX idx_status (status)
  • INDEX idx_work_status (work_status)

2.2.9 代驾师傅资质表(core_driver_qualification)

代驾师傅资质信息表。

字段名类型长度是否为空默认值说明
qualification_idbigint-NOT NULL-主键ID
driver_idbigint-NOT NULL-代驾师傅ID
license_novarchar50NULL-驾驶证号
license_photovarchar500NULL-驾驶证照片
license_expire_datedate-NULL-驾驶证到期日期
vehicle_plate_novarchar20NULL-车辆车牌号
vehicle_brandvarchar50NULL-车辆品牌
vehicle_modelvarchar50NULL-车辆型号
vehicle_photovarchar500NULL-车辆照片
insurance_photovarchar500NULL-保险照片
insurance_expire_datedate-NULL-保险到期日期
audit_statustinyint-NOT NULL0审核状态(0-待审核,1-审核通过,2-审核不通过)
audit_timedatetime-NULL-审核时间
audit_byvarchar64NULL-审核人
audit_remarkvarchar500NULL-审核意见
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间

索引设计:

  • PRIMARY KEY (qualification_id)
  • UNIQUE KEY uk_driver_id (driver_id)
  • INDEX idx_audit_status (audit_status)

2.2.10 接待员关联检测站表(core_receptionist_station)

接待员与检测站的多对多关联表。

字段名类型长度是否为空默认值说明
idbigint-NOT NULL-主键ID
driver_idbigint-NOT NULL-接待员ID
station_idbigint-NOT NULL-检测站ID
service_typesvarchar500NULL-可办理的服务类型(JSON格式)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_driver_station (driver_id, station_id)
  • INDEX idx_driver_id (driver_id)
  • INDEX idx_station_id (station_id)

2.2.11 订单表(core_order)

订单主表。

字段名类型长度是否为空默认值说明
order_idbigint-NOT NULL-主键ID
order_novarchar50NOT NULL-订单号(唯一)
customer_idbigint-NOT NULL-客户ID
vehicle_idbigint-NOT NULL-车辆ID
service_idbigint-NOT NULL-服务ID
channel_idbigint-NULL-渠道ID
order_typetinyint-NOT NULL1订单类型(1-代驾订单,2-自驾订单)
order_sourcetinyint-NOT NULL1订单来源(1-客户直接下单,2-渠道API下单,3-管理员手动创建)
service_addressvarchar200NULL-服务地址
service_timedatetime-NULL-服务时间
driver_idbigint-NULL-代驾师傅ID
receptionist_idbigint-NULL-接待员ID
station_idbigint-NULL-检测站ID
order_amountdecimal10,2NOT NULL0.00订单金额
pay_amountdecimal10,2NOT NULL0.00支付金额
pay_statustinyint-NOT NULL0支付状态(0-未支付,1-支付中,2-已支付,3-支付失败,4-已退款,5-退款中,6-退款成功,7-退款失败)
pay_timedatetime-NULL-支付时间
pay_methodvarchar20NULL-支付方式(微信、支付宝、银行卡)
order_statustinyint-NOT NULL0订单状态(0-待支付,1-已支付,2-待分配,3-办理中,4-待确认,5-已完成,6-已取消,7-已退款)
material_audit_statustinyint-NULL0材料审核状态(0-待审核,1-审核通过,2-审核不通过)
material_audit_timedatetime-NULL-材料审核时间
material_audit_byvarchar64NULL-材料审核人
complete_timedatetime-NULL-完成时间
cancel_timedatetime-NULL-取消时间
cancel_reasonvarchar500NULL-取消原因
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (order_id)
  • UNIQUE KEY uk_order_no (order_no)
  • INDEX idx_customer_id (customer_id)
  • INDEX idx_vehicle_id (vehicle_id)
  • INDEX idx_service_id (service_id)
  • INDEX idx_channel_id (channel_id)
  • INDEX idx_driver_id (driver_id)
  • INDEX idx_receptionist_id (receptionist_id)
  • INDEX idx_station_id (station_id)
  • INDEX idx_order_status (order_status)
  • INDEX idx_pay_status (pay_status)
  • INDEX idx_order_type (order_type)
  • INDEX idx_create_time (create_time)

2.2.12 订单状态流转记录表(core_order_status_log)

订单状态流转记录表。

字段名类型长度是否为空默认值说明
log_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
from_statustinyint-NULL-变更前状态
to_statustinyint-NOT NULL-变更后状态
change_reasonvarchar500NULL-变更原因
operator_idbigint-NULL-操作人ID
operator_namevarchar64NULL-操作人姓名
operator_typetinyint-NULL-操作人类型(1-管理员,2-客户,3-代驾师傅,4-接待员,5-系统)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (log_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_create_time (create_time)

2.2.13 订单材料表(core_order_material)

订单材料表。

字段名类型长度是否为空默认值说明
material_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
material_typevarchar50NOT NULL-材料类型(身份证、行驶证、车辆照片等)
material_namevarchar100NULL-材料名称
material_urlvarchar500NOT NULL-材料URL
is_requiredtinyint-NOT NULL1是否必需(0-否,1-是)
upload_bybigint-NULL-上传人ID
upload_by_typetinyint-NULL-上传人类型(1-客户,2-管理员,3-代驾师傅,4-接待员)
audit_statustinyint-NULL0审核状态(0-待审核,1-审核通过,2-审核不通过)
audit_timedatetime-NULL-审核时间
audit_byvarchar64NULL-审核人
audit_remarkvarchar500NULL-审核意见
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间

索引设计:

  • PRIMARY KEY (material_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_audit_status (audit_status)

2.2.14 订单进度表(core_order_progress)

订单进度记录表。

字段名类型长度是否为空默认值说明
progress_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
progress_nodevarchar50NOT NULL-进度节点(订单创建、支付完成、分配完成、材料审核、服务开始、服务完成等)
progress_descvarchar500NULL-进度描述
operator_idbigint-NULL-操作人ID
operator_namevarchar64NULL-操作人姓名
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (progress_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_create_time (create_time)

2.2.15 支付记录表(core_payment)

支付记录表。

字段名类型长度是否为空默认值说明
payment_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
payment_novarchar50NOT NULL-支付流水号(唯一)
platform_order_novarchar100NULL-支付平台订单号
pay_methodvarchar20NOT NULL-支付方式(微信、支付宝、银行卡)
pay_amountdecimal10,2NOT NULL-支付金额
pay_statustinyint-NOT NULL0支付状态(0-待支付,1-支付中,2-支付成功,3-支付失败)
pay_timedatetime-NULL-支付时间
callback_timedatetime-NULL-回调时间
callback_datatext-NULL-回调数据(JSON格式)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间

索引设计:

  • PRIMARY KEY (payment_id)
  • UNIQUE KEY uk_payment_no (payment_no)
  • INDEX idx_order_id (order_id)
  • INDEX idx_pay_status (pay_status)
  • INDEX idx_pay_time (pay_time)

2.2.16 退款记录表(core_refund)

退款记录表。

字段名类型长度是否为空默认值说明
refund_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
refund_novarchar50NOT NULL-退款单号(唯一)
refund_amountdecimal10,2NOT NULL-退款金额
refund_reasonvarchar500NULL-退款原因
apply_bybigint-NULL-申请人ID
apply_timedatetime-NULL-申请时间
audit_statustinyint-NOT NULL0审核状态(0-待审核,1-审核通过,2-审核拒绝)
audit_timedatetime-NULL-审核时间
audit_byvarchar64NULL-审核人
audit_remarkvarchar500NULL-审核意见
refund_statustinyint-NOT NULL0退款状态(0-待退款,1-退款中,2-退款成功,3-退款失败)
refund_timedatetime-NULL-退款时间
platform_refund_novarchar100NULL-支付平台退款单号
callback_datatext-NULL-回调数据(JSON格式)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间

索引设计:

  • PRIMARY KEY (refund_id)
  • UNIQUE KEY uk_refund_no (refund_no)
  • INDEX idx_order_id (order_id)
  • INDEX idx_refund_status (refund_status)
  • INDEX idx_audit_status (audit_status)

2.2.17 评价表(core_evaluation)

服务评价表。

字段名类型长度是否为空默认值说明
evaluation_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
customer_idbigint-NOT NULL-客户ID
evaluation_typetinyint-NOT NULL1评价类型(1-服务评价,2-检测站评价,3-代驾评价,4-渠道评价)
target_idbigint-NULL-评价对象ID(检测站ID、代驾师傅ID、渠道ID等)
target_typevarchar50NULL-评价对象类型(station、driver、channel等)
star_ratingtinyint-NOT NULL5星级评分(1-5星)
contentvarchar500NULL-评价内容
imagesvarchar1000NULL-评价图片(多张用逗号分隔)
tagsvarchar200NULL-评价标签(JSON格式)
audit_statustinyint-NOT NULL0审核状态(0-待审核,1-已通过,2-已拒绝)
audit_timedatetime-NULL-审核时间
audit_byvarchar64NULL-审核人
audit_remarkvarchar500NULL-审核意见
reply_contentvarchar500NULL-回复内容
reply_timedatetime-NULL-回复时间
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号

索引设计:

  • PRIMARY KEY (evaluation_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_customer_id (customer_id)
  • INDEX idx_target_id (target_id, target_type)
  • INDEX idx_audit_status (audit_status)
  • INDEX idx_create_time (create_time)

2.2.18 回访表(core_visit)

客户回访表。

字段名类型长度是否为空默认值说明
visit_idbigint-NOT NULL-主键ID
order_idbigint-NOT NULL-订单ID
customer_idbigint-NOT NULL-客户ID
visit_typetinyint-NOT NULL1回访类型(1-订单完成回访,2-车辆检测提醒回访)
visit_trigger_timedatetime-NULL-回访触发时间
visit_timedatetime-NULL-回访时间
visit_methodvarchar20NULL-回访方式(电话、短信、微信等)
visit_contenttext-NULL-回访内容
visit_resultvarchar500NULL-回访结果
need_servicetinyint-NULL0是否需要继续服务(0-否,1-是)
next_service_timedatetime-NULL-下次服务时间
visit_statustinyint-NOT NULL0回访状态(0-待回访,1-回访中,2-已完成,3-已取消)
visit_bybigint-NULL-回访人ID(客服人员)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (visit_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_customer_id (customer_id)
  • INDEX idx_visit_status (visit_status)
  • INDEX idx_visit_time (visit_time)

2.2.19 结算规则表(core_settlement_rule)

结算规则配置表。

字段名类型长度是否为空默认值说明
rule_idbigint-NOT NULL-主键ID
target_typetinyint-NOT NULL-结算对象类型(1-渠道,2-检测站,3-代驾师傅)
target_idbigint-NOT NULL-结算对象ID
settlement_typetinyint-NOT NULL1结算类型(1-按订单,2-按比例,3-按固定金额,4-混合)
settlement_ruletext-NULL-结算规则(JSON格式)
settlement_cycletinyint-NOT NULL3结算周期(1-日结,2-周结,3-月结,4-自定义)
cycle_configvarchar200NULL-周期配置(JSON格式)
statustinyint-NOT NULL1状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (rule_id)
  • UNIQUE KEY uk_target (target_type, target_id)
  • INDEX idx_settlement_type (settlement_type)

2.2.20 结算单表(core_settlement)

结算单表。

字段名类型长度是否为空默认值说明
settlement_idbigint-NOT NULL-主键ID
settlement_novarchar50NOT NULL-结算单号(唯一)
target_typetinyint-NOT NULL-结算对象类型(1-渠道,2-检测站,3-代驾师傅)
target_idbigint-NOT NULL-结算对象ID
rule_idbigint-NULL-结算规则ID
settlement_cycletinyint-NOT NULL-结算周期
cycle_start_timedatetime-NOT NULL-周期开始时间
cycle_end_timedatetime-NOT NULL-周期结束时间
order_countint-NOT NULL0订单数量
settlement_amountdecimal10,2NOT NULL0.00结算金额
settlement_detailtext-NULL-结算明细(JSON格式)
audit_statustinyint-NOT NULL0审核状态(0-待审核,1-已审核,2-已驳回)
audit_timedatetime-NULL-审核时间
audit_byvarchar64NULL-审核人
audit_remarkvarchar500NULL-审核意见
payment_statustinyint-NOT NULL0支付状态(0-待支付,1-支付中,2-支付成功,3-支付失败)
payment_timedatetime-NULL-支付时间
payment_methodvarchar20NULL-支付方式
payment_vouchervarchar500NULL-支付凭证
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (settlement_id)
  • UNIQUE KEY uk_settlement_no (settlement_no)
  • INDEX idx_target (target_type, target_id)
  • INDEX idx_audit_status (audit_status)
  • INDEX idx_payment_status (payment_status)
  • INDEX idx_cycle_time (cycle_start_time, cycle_end_time)

2.2.21 结算单订单关联表(core_settlement_order)

结算单与订单的关联表。

字段名类型长度是否为空默认值说明
idbigint-NOT NULL-主键ID
settlement_idbigint-NOT NULL-结算单ID
order_idbigint-NOT NULL-订单ID
settlement_amountdecimal10,2NOT NULL-该订单的结算金额
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (id)
  • UNIQUE KEY uk_settlement_order (settlement_id, order_id)
  • INDEX idx_settlement_id (settlement_id)
  • INDEX idx_order_id (order_id)

2.2.22 合同表(core_contract)

合同信息表。

字段名类型长度是否为空默认值说明
contract_idbigint-NOT NULL-主键ID
contract_novarchar50NOT NULL-合同编号(唯一)
contract_typetinyint-NOT NULL1合同类型(1-渠道合同,2-检测站合同,3-其他)
party_avarchar200NOT NULL-甲方
party_bvarchar200NOT NULL-乙方
target_idbigint-NULL-关联对象ID(渠道ID、检测站ID等)
contract_titlevarchar200NOT NULL-合同标题
contract_contenttext-NULL-合同内容
contract_filevarchar500NULL-合同文件URL
start_datedate-NOT NULL-合同开始日期
end_datedate-NULL-合同结束日期
profit_ratiodecimal5,2NULL-分润比例
contract_amountdecimal10,2NULL-合同金额
sign_datedate-NULL-签订日期
statustinyint-NOT NULL0状态(0-草稿,1-待审核,2-已审核,3-已生效,4-已到期,5-已终止)
audit_timedatetime-NULL-审核时间
audit_byvarchar64NULL-审核人
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (contract_id)
  • UNIQUE KEY uk_contract_no (contract_no)
  • INDEX idx_target_id (target_id, contract_type)
  • INDEX idx_status (status)
  • INDEX idx_end_date (end_date)

2.2.23 短信模板表(core_sms_template)

短信模板表。

字段名类型长度是否为空默认值说明
template_idbigint-NOT NULL-主键ID
template_codevarchar50NOT NULL-模板编码(唯一)
template_namevarchar100NOT NULL-模板名称
template_contenttext-NOT NULL-模板内容
template_typevarchar50NULL-模板类型
use_scenevarchar200NULL-使用场景
variablesvarchar500NULL-模板变量(JSON格式)
audit_statustinyint-NOT NULL0审核状态(0-草稿,1-待审核,2-审核中,3-已通过,4-已驳回)
audit_timedatetime-NULL-审核时间
audit_remarkvarchar500NULL-审核意见
statustinyint-NOT NULL0状态(0-停用,1-启用)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (template_id)
  • UNIQUE KEY uk_template_code (template_code)
  • INDEX idx_audit_status (audit_status)
  • INDEX idx_status (status)

2.2.24 短信发送记录表(core_sms_log)

短信发送记录表。

字段名类型长度是否为空默认值说明
log_idbigint-NOT NULL-主键ID
template_idbigint-NULL-模板ID
template_codevarchar50NULL-模板编码
phonevarchar20NOT NULL-接收手机号
contenttext-NOT NULL-发送内容
send_statustinyint-NOT NULL0发送状态(0-待发送,1-发送中,2-已发送,3-发送失败)
send_timedatetime-NULL-发送时间
callback_timedatetime-NULL-回调时间
callback_datatext-NULL-回调数据(JSON格式)
error_msgvarchar500NULL-错误信息
retry_countint-NOT NULL0重试次数
business_typevarchar50NULL-业务类型
business_idbigint-NULL-业务ID(订单ID等)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (log_id)
  • INDEX idx_template_id (template_id)
  • INDEX idx_phone (phone)
  • INDEX idx_send_status (send_status)
  • INDEX idx_send_time (send_time)
  • INDEX idx_business (business_type, business_id)

2.2.25 客服工单表(core_service_ticket)

客服工单表。

字段名类型长度是否为空默认值说明
ticket_idbigint-NOT NULL-主键ID
ticket_novarchar50NOT NULL-工单号(唯一)
ticket_typetinyint-NOT NULL1工单类型(1-咨询,2-投诉,3-建议,4-其他)
customer_idbigint-NULL-客户ID
order_idbigint-NULL-关联订单ID
titlevarchar200NOT NULL-工单标题
contenttext-NOT NULL-工单内容
prioritytinyint-NOT NULL1优先级(1-低,2-中,3-高)
assign_tobigint-NULL-分配给(客服人员ID)
handler_idbigint-NULL-处理人ID
ticket_statustinyint-NOT NULL0工单状态(0-待处理,1-处理中,2-已解决,3-已关闭)
handle_timedatetime-NULL-处理时间
close_timedatetime-NULL-关闭时间
satisfactiontinyint-NULL-满意度(1-5星)
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
update_timedatetime-NOT NULLCURRENT_TIMESTAMP更新时间
create_byvarchar64NULL-创建人
update_byvarchar64NULL-更新人
deletedtinyint-NOT NULL0删除标记
versionint-NOT NULL1版本号
remarkvarchar500NULL-备注

索引设计:

  • PRIMARY KEY (ticket_id)
  • UNIQUE KEY uk_ticket_no (ticket_no)
  • INDEX idx_customer_id (customer_id)
  • INDEX idx_order_id (order_id)
  • INDEX idx_ticket_status (ticket_status)
  • INDEX idx_assign_to (assign_to)
  • INDEX idx_create_time (create_time)

2.2.26 客服工单回复表(core_service_ticket_reply)

客服工单回复表。

字段名类型长度是否为空默认值说明
reply_idbigint-NOT NULL-主键ID
ticket_idbigint-NOT NULL-工单ID
reply_contenttext-NOT NULL-回复内容
reply_typetinyint-NOT NULL1回复类型(1-客户回复,2-客服回复)
reply_bybigint-NOT NULL-回复人ID
reply_by_namevarchar64NULL-回复人姓名
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间

索引设计:

  • PRIMARY KEY (reply_id)
  • INDEX idx_ticket_id (ticket_id)
  • INDEX idx_create_time (create_time)

2.3 其他辅助表

2.3.1 文件表(sys_file)

文件存储表。

字段名类型长度是否为空默认值说明
file_idbigint-NOT NULL-主键ID
file_namevarchar200NOT NULL-文件名
file_pathvarchar500NOT NULL-文件路径
file_urlvarchar500NULL-文件访问URL
file_typevarchar50NULL-文件类型
file_sizebigint-NULL-文件大小(字节)
business_typevarchar50NULL-业务类型
business_idbigint-NULL-业务ID
create_timedatetime-NOT NULLCURRENT_TIMESTAMP创建时间
create_byvarchar64NULL-创建人

索引设计:

  • PRIMARY KEY (file_id)
  • INDEX idx_business (business_type, business_id)
  • INDEX idx_create_time (create_time)

3. 数据库关系图

3.1 核心业务关系

客户(core_customer) 1---N 车辆(core_vehicle)
客户(core_customer) 1---N 订单(core_order)
车辆(core_vehicle) 1---N 订单(core_order)
服务(core_service) 1---N 订单(core_order)
渠道(core_channel) 1---N 订单(core_order)
代驾师傅(core_driver) 1---N 订单(core_order)
接待员(core_driver) 1---N 订单(core_order)
检测站(core_station) 1---N 订单(core_order)
订单(core_order) 1---N 订单材料(core_order_material)
订单(core_order) 1---N 订单进度(core_order_progress)
订单(core_order) 1---N 订单状态流转(core_order_status_log)
订单(core_order) 1---1 支付记录(core_payment)
订单(core_order) 1---N 退款记录(core_refund)
订单(core_order) 1---N 评价(core_evaluation)
订单(core_order) 1---N 回访(core_visit)
订单(core_order) 1---N 结算单订单关联(core_settlement_order)

3.2 系统管理关系

管理员(sys_admin) N---N 角色(sys_role) [通过 sys_admin_role]
角色(sys_role) N---N 菜单(sys_menu) [通过 sys_role_menu]
管理员(sys_admin) N---1 部门(sys_dept)
管理员(sys_admin) N---1 岗位(sys_post)

3.3 结算关系

结算规则(core_settlement_rule) 1---N 结算单(core_settlement)
结算单(core_settlement) N---N 订单(core_order) [通过 core_settlement_order]

4. 数据字典

4.1 订单状态枚举

值说明
0待支付
1已支付
2待分配
3办理中
4待确认
5已完成
6已取消
7已退款

4.2 支付状态枚举

值说明
0未支付
1支付中
2已支付
3支付失败
4已退款
5退款中
6退款成功
7退款失败

4.3 订单类型枚举

值说明
1代驾订单
2自驾订单

4.4 订单来源枚举

值说明
1客户直接下单
2渠道API下单
3管理员手动创建

4.5 师傅类型枚举

值说明
1代驾师傅
2接待员

4.6 评价类型枚举

值说明
1服务评价
2检测站评价
3代驾评价
4渠道评价

4.7 结算对象类型枚举

值说明
1渠道
2检测站
3代驾师傅

4.8 结算类型枚举

值说明
1按订单
2按比例
3按固定金额
4混合

4.9 结算周期枚举

值说明
1日结
2周结
3月结
4自定义

5. 索引优化建议

5.1 查询优化

  1. 订单查询优化:

    • 订单表按订单状态、创建时间、客户ID等字段建立组合索引
    • 订单号建立唯一索引,支持快速查询
  2. 客户查询优化:

    • 客户表按手机号建立唯一索引
    • 按状态、创建时间建立组合索引
  3. 师傅查询优化:

    • 师傅表按类型、状态、工作状态建立组合索引
    • 支持按服务区域快速筛选

5.2 性能优化

  1. 分表策略:

    • 订单表数据量大时,可按时间分表(按月或按年)
    • 日志表数据量大时,可按时间分表并定期归档
  2. 读写分离:

    • 主库负责写操作
    • 从库负责读操作,提升查询性能
  3. 缓存策略:

    • 字典数据缓存到Redis
    • 地区数据缓存到Redis
    • 服务分类数据缓存到Redis

6. 数据安全

6.1 敏感数据加密

  1. 密码加密:

    • 管理员密码、客户密码、师傅密码使用BCrypt加密存储
  2. 敏感信息加密:

    • 身份证号、手机号等敏感信息加密存储
    • API密钥加密存储

6.2 数据备份

  1. 备份策略:

    • 每日全量备份
    • 每小时增量备份
    • 备份文件保留30天
  2. 备份恢复:

    • 定期测试备份恢复流程
    • 确保备份文件完整性

7. 数据库维护

7.1 定期维护

  1. 索引维护:

    • 定期分析索引使用情况
    • 删除未使用的索引
    • 优化慢查询索引
  2. 数据清理:

    • 定期清理软删除数据
    • 归档历史数据
    • 清理过期日志

7.2 监控告警

  1. 性能监控:

    • 监控数据库连接数
    • 监控慢查询
    • 监控表空间使用率
  2. 异常告警:

    • 数据库连接异常告警
    • 慢查询告警
    • 磁盘空间不足告警

备注:以上数据库设计基于需求文档进行设计,后续可根据实际业务需求进行调整和优化。

最近更新:: 2026/1/23 12:15
Contributors: Duke
Prev
详细设计文档