324 lines
13 KiB
Markdown
324 lines
13 KiB
Markdown
# 数据库结构文档 (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 | 显示名 |
|
||
| email | 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 | | 完成时间 | |