13 KiB
13 KiB
数据库结构文档 (MySQL 5.7/8.0 兼容)
- 字符集:
utf8mb4 - 排序规则:
utf8mb4_unicode_ci - 说明:本文件用于持续维护核心表结构与描述(每次变更请同步更新)。
1. 用户与角色
1.1 sys_user 用户表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| user_id | INT | PK, AUTO_INCREMENT | 用户ID |
| username | VARCHAR(50) | UNIQUE, NOT NULL | 登录名 |
| display_name | VARCHAR(50) | NOT NULL | 显示名 |
| VARCHAR(100) | UNIQUE | 邮箱 | |
| phone | VARCHAR(30) | UNIQUE | 手机 |
| password_hash | VARCHAR(255) | NOT NULL | 密码哈希 |
| avatar | VARCHAR(255) | 头像路径 | |
| status | TINYINT(1) | NOT NULL | 状态:1 启用 / 0 禁用 |
| is_deleted | TINYINT(1) | NOT NULL | 是否软删除 |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
1.2 sys_role 角色表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| role_id | INT | PK, AUTO_INCREMENT | 角色ID |
| role_code | VARCHAR(50) | UNIQUE, NOT NULL | 角色编码 |
| role_name | VARCHAR(50) | NOT NULL | 角色名称 |
| status | TINYINT(1) | NOT NULL | 状态:1 启用 / 0 禁用 |
| remark | TEXT | 备注 | |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
1.3 sys_user_role 用户-角色关联表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| id | INT | PK, AUTO_INCREMENT | 关联ID |
| user_id | INT | INDEX, NOT NULL | 用户ID |
| role_id | INT | INDEX, NOT NULL | 角色ID |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
| UNIQUE(user_id, role_id) | 唯一约束 |
2. 权限
2.1 sys_permission 权限表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| perm_id | INT | PK, AUTO_INCREMENT | 权限ID |
| parent_id | INT | INDEX | 父级权限ID |
| name | VARCHAR(100) | NOT NULL | 权限名称 |
| code | VARCHAR(100) | UNIQUE, NOT NULL | 权限编码 |
| perm_type | VARCHAR(20) | NOT NULL | menu/button |
| level | INT | NOT NULL | 1/2/3 级 |
| path | VARCHAR(255) | 前端路由 | |
| icon | VARCHAR(100) | 图标 | |
| sort_order | INT | NOT NULL | 排序 |
| is_visible | TINYINT(1) | NOT NULL | 是否展示 |
| status | TINYINT(1) | NOT NULL | 1/0 |
| description | TEXT | 描述 | |
| meta | JSON | 扩展属性 | |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
2.2 sys_role_permission 角色-权限关联表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| id | INT | PK, AUTO_INCREMENT | 关联ID |
| role_id | INT | INDEX, NOT NULL | 角色ID |
| perm_id | INT | INDEX, NOT NULL | 权限ID |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
| UNIQUE(role_id, perm_id) | 唯一约束 |
3. 码表
3.1 sys_dict_type 码表类型
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| dict_type_id | INT | PK, AUTO_INCREMENT | 类型ID |
| type_code | VARCHAR(50) | UNIQUE, NOT NULL | 类型编码 |
| type_name | VARCHAR(50) | NOT NULL | 类型名称 |
| status | TINYINT(1) | NOT NULL | 1/0 |
| remark | TEXT | 备注 | |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
3.2 sys_dict_item 码表项
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| dict_item_id | INT | PK, AUTO_INCREMENT | 明细ID |
| type_code | VARCHAR(50) | INDEX, NOT NULL | 类型编码 |
| item_label | VARCHAR(100) | NOT NULL | 展示值 |
| item_value | VARCHAR(100) | NOT NULL | 存储值 |
| sort_order | INT | NOT NULL | 排序 |
| status | TINYINT(1) | NOT NULL | 1/0 |
| remark | TEXT | 备注 | |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
| UNIQUE(type_code, item_value) | 唯一约束 |
4. 系统参数
4.1 sys_param 系统参数表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| param_id | INT | PK, AUTO_INCREMENT | 参数ID |
| param_key | VARCHAR(100) | UNIQUE, NOT NULL | 参数键 |
| param_value | TEXT | NOT NULL | 参数值 |
| param_type | VARCHAR(20) | NOT NULL | string/int/bool/json |
| status | TINYINT(1) | NOT NULL | 1/0 |
| is_system | TINYINT(1) | NOT NULL | 是否系统级 |
| description | TEXT | 描述 | |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
5. 日志
5.1 sys_log 操作日志表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| id | BIGINT | PK, AUTO_INCREMENT | 日志ID |
| user_id | INT | INDEX | 操作用户ID |
| username | VARCHAR(50) | 用户名 | |
| operation_type | VARCHAR(50) | NOT NULL | 操作类型 |
| resource_type | VARCHAR(50) | NOT NULL | 资源类型 |
| resource_id | BIGINT | INDEX | 资源ID |
| detail | TEXT | 操作详情(JSON) | |
| ip_address | VARCHAR(50) | IP地址 | |
| user_agent | VARCHAR(500) | 用户代理 | |
| status | TINYINT | DEFAULT 1 | 状态: 1成功/0失败 |
| error_message | TEXT | 错误信息 | |
| created_at | DATETIME | NOT NULL | 操作时间 |
6. 业务 - 提示词管理
6.1 biz_prompt_template 提示词模板表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| id | INT | PK, AUTO_INCREMENT | 模板ID |
| name | VARCHAR(100) | NOT NULL | 模板名称 |
| category | VARCHAR(50) | NOT NULL | 分类 |
| content | TEXT | NOT NULL | 提示词内容 |
| description | VARCHAR(255) | 描述 | |
| user_id | INT | INDEX | 创建者ID (系统级为NULL) |
| is_system | TINYINT(1) | NOT NULL | 是否系统内置 |
| status | TINYINT(1) | NOT NULL | 全局状态:1启用 / 0禁用 |
| sort_order | INT | NOT NULL | 默认排序 |
| created_at | DATETIME | NOT NULL | 创建时间 |
| updated_at | DATETIME | NOT NULL | 更新时间 |
6.2 biz_user_prompt_config 用户提示词配置表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| id | INT | PK, AUTO_INCREMENT | 配置ID |
| user_id | INT | INDEX, NOT NULL | 用户ID |
| template_id | INT | INDEX, NOT NULL | 模板ID |
| is_active | TINYINT(1) | NOT NULL | 用户是否启用 |
| user_sort_order | INT | NOT NULL | 用户自定义排序 |
| updated_at | DATETIME | NOT NULL | 修改时间 |
| UNIQUE(user_id, template_id) | 唯一约束 |
7. 业务 - 会议管理
7.1 biz_meeting 会议主表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| meeting_id | INT | PK, AUTO_INCREMENT | 会议ID |
| user_id | INT | 创建者ID | |
| title | VARCHAR(255) | NOT NULL | 会议标题 |
| tags | VARCHAR(255) | 标签(逗号分隔) | |
| meeting_time | TIMESTAMP | 会议时间 | |
| access_password | VARCHAR(10) | 访问密码 | |
| status | VARCHAR(20) | DEFAULT 'draft' | 状态: draft, transcribing, summarizing, completed |
| summary | TEXT | 最终总结内容 | |
| created_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 更新时间 |
7.2 biz_meeting_attendees 会议参会人表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| attendee_id | INT | PK, AUTO_INCREMENT | 参会ID |
| meeting_id | INT | INDEX | 会议ID |
| user_id | INT | 系统用户ID |
7.3 biz_meeting_audio 会议音频表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| audio_id | INT | PK, AUTO_INCREMENT | 音频ID |
| meeting_id | INT | 会议ID | |
| file_path | VARCHAR(512) | NOT NULL | 文件存储路径 |
| file_name | VARCHAR(200) | 原始文件名 | |
| file_size | DECIMAL(10,0) | 文件大小(字节) | |
| duration | INT | DEFAULT 0 | 音频时长(秒) |
| processing_status | VARCHAR(20) | DEFAULT 'uploaded' | 处理状态 |
| upload_time | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 上传时间 |
| error_message | TEXT | 错误信息 |
7.4 biz_transcript_task 转译任务表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| task_id | VARCHAR(255) | PK | 任务ID |
| meeting_id | INT | INDEX, NOT NULL | 会议ID |
| model_id | INT | 模型配置ID (关联 biz_ai_model) | |
| language | VARCHAR(10) | DEFAULT 'auto' | 识别语言 |
| status | ENUM | INDEX, DEFAULT 'pending' | pending/processing/completed/failed |
| progress | INT | DEFAULT 0 | 处理进度(0-100) |
| completed_at | TIMESTAMP | 完成时间 | |
| error_message | TEXT | 错误信息 | |
| created_at | TIMESTAMP | INDEX, DEFAULT CURRENT_TIMESTAMP | 创建时间 |
7.5 biz_transcript_segment 转译片段表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| segment_id | INT | PK, AUTO_INCREMENT | 片段ID |
| meeting_id | INT | 会议ID | |
| audio_id | INT | 音频ID | |
| speaker_id | INT | 发言人ID | |
| speaker_tag | VARCHAR(50) | 发言人标签(如: A, B) | |
| start_time_ms | INT | NOT NULL | 开始时间(毫秒) |
| end_time_ms | INT | NOT NULL | 结束时间(毫秒) |
| text_content | TEXT | NOT NULL | 文本内容 |
7.6 biz_summarize_task 总结任务表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| task_id | VARCHAR(100) | PK | 任务ID |
| meeting_id | INT | INDEX, NOT NULL | 会议ID |
| prompt_id | INT | 使用的提示词模板ID | |
| model_id | INT | 模型配置ID (关联 biz_ai_model) | |
| user_prompt | TEXT | 任务执行时的最终Prompt | |
| status | VARCHAR(50) | INDEX, DEFAULT 'pending' | 任务状态 |
| progress | INT | DEFAULT 0 | 进度 |
| result | TEXT | 总结结果 | |
| error_message | TEXT | 错误信息 | |
| created_at | TIMESTAMP | INDEX, DEFAULT CURRENT_TIMESTAMP | 创建时间 |
| completed_at | TIMESTAMP | 完成时间 |
7.7 biz_ai_model AI 模型配置表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| model_id | INT | PK, AUTO_INCREMENT | 模型配置ID |
| model_type | VARCHAR(20) | NOT NULL | asr/llm |
| provider | VARCHAR(50) | NOT NULL | 提供商 (Qwen, OpenAI等) |
| model_name | VARCHAR(100) | NOT NULL | 模型标识 |
| api_key | VARCHAR(255) | API密钥 | |
| base_url | VARCHAR(255) | 基础URL | |
| api_path | VARCHAR(100) | 接口路径 | |
| config | JSON | 差异化参数(temp, top_p等) | |
| is_default | TINYINT(1) | NOT NULL | 是否默认 |
| status | TINYINT(1) | NOT NULL | 启用状态 |
| created_at | TIMESTAMP | NOT NULL | 创建时间 |
| updated_at | TIMESTAMP | NOT NULL | 更新时间 |
7. 业务 - 会议管理
7.1 biz_meeting 会议主表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| meeting_id | INT | PK, AUTO_INCREMENT | 会议ID |
| user_id | INT | 创建者ID | |
| title | VARCHAR(255) | NOT NULL | 会议标题 |
| tags | VARCHAR(255) | 标签(逗号分隔) | |
| meeting_time | TIMESTAMP | 会议时间 | |
| access_password | VARCHAR(10) | 访问密码 | |
| summary | TEXT | 最终总结内容 | |
| created_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 创建时间 |
| updated_at | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 更新时间 |
7.2 biz_meeting_attendees 会议参会人表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| attendee_id | INT | PK, AUTO_INCREMENT | 参会ID |
| meeting_id | INT | INDEX | 会议ID |
| user_id | INT | 系统用户ID |
7.3 biz_meeting_audio 会议音频表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| audio_id | INT | PK, AUTO_INCREMENT | 音频ID |
| meeting_id | INT | 会议ID | |
| file_path | VARCHAR(512) | NOT NULL | 文件存储路径 |
| file_name | VARCHAR(200) | 原始文件名 | |
| file_size | DECIMAL(10,0) | 文件大小(字节) | |
| processing_status | VARCHAR(20) | DEFAULT 'uploaded' | 处理状态 |
| upload_time | TIMESTAMP | DEFAULT CURRENT_TIMESTAMP | 上传时间 |
| error_message | TEXT | 错误信息 |
7.4 biz_transcript_task 转译任务表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| task_id | VARCHAR(255) | PK | 任务ID |
| meeting_id | INT | INDEX, NOT NULL | 会议ID |
| status | ENUM | INDEX, DEFAULT 'pending' | pending/processing/completed/failed |
| progress | INT | DEFAULT 0 | 处理进度(0-100) |
| completed_at | TIMESTAMP | 完成时间 | |
| error_message | TEXT | 错误信息 | |
| created_at | TIMESTAMP | INDEX, DEFAULT CURRENT_TIMESTAMP | 创建时间 |
7.5 biz_transcript_segment 转译片段表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| segment_id | INT | PK, AUTO_INCREMENT | 片段ID |
| meeting_id | INT | 会议ID | |
| speaker_id | INT | 发言人ID | |
| speaker_tag | VARCHAR(50) | 发言人标签(如: A, B) | |
| start_time_ms | INT | NOT NULL | 开始时间(毫秒) |
| end_time_ms | INT | NOT NULL | 结束时间(毫秒) |
| text_content | TEXT | NOT NULL | 文本内容 |
7.6 biz_summarize_task 总结任务表
| 字段 | 类型 | 约束 | 说明 |
|---|---|---|---|
| task_id | VARCHAR(100) | PK | 任务ID |
| meeting_id | INT | INDEX, NOT NULL | 会议ID |
| prompt_id | INT | 使用的提示词模板ID | |
| user_prompt | TEXT | 任务执行时的最终Prompt | |
| status | VARCHAR(50) | INDEX, DEFAULT 'pending' | 任务状态 |
| progress | INT | DEFAULT 0 | 进度 |
| result | TEXT | 总结结果 | |
| error_message | TEXT | 错误信息 | |
| created_at | TIMESTAMP | INDEX, DEFAULT CURRENT_TIMESTAMP | 创建时间 |
| completed_at | TIMESTAMP | 完成时间 |