- 从服务器拉取完整代码 - 按框架规范整理项目结构 - 配置 Drone CI 测试环境部署 - 包含后端(FastAPI)、前端(Vue3)、管理端 技术栈: Vue3 + TypeScript + FastAPI + MySQL
80 lines
3.2 KiB
SQL
80 lines
3.2 KiB
SQL
-- 陪练分析报告功能数据库表
|
||
-- 创建时间:2025-10-13
|
||
|
||
-- 1. 陪练会话表
|
||
CREATE TABLE IF NOT EXISTS `practice_sessions` (
|
||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||
`session_id` VARCHAR(50) NOT NULL UNIQUE COMMENT '会话ID(如PS006)',
|
||
`user_id` INT NOT NULL COMMENT '学员ID',
|
||
`scene_id` INT COMMENT '场景ID',
|
||
`scene_name` VARCHAR(200) COMMENT '场景名称',
|
||
`scene_type` VARCHAR(50) COMMENT '场景类型:phone/face/complaint等',
|
||
`conversation_id` VARCHAR(100) COMMENT 'Coze对话ID',
|
||
|
||
-- 会话时间信息
|
||
`start_time` DATETIME NOT NULL COMMENT '开始时间',
|
||
`end_time` DATETIME COMMENT '结束时间',
|
||
`duration_seconds` INT DEFAULT 0 COMMENT '时长(秒)',
|
||
`turns` INT DEFAULT 0 COMMENT '对话轮次',
|
||
`status` VARCHAR(20) DEFAULT 'in_progress' COMMENT '状态:in_progress/completed/canceled',
|
||
|
||
-- 审计字段
|
||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
`is_deleted` BOOLEAN DEFAULT FALSE,
|
||
|
||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
|
||
FOREIGN KEY (scene_id) REFERENCES practice_scenes(id) ON DELETE SET NULL,
|
||
INDEX idx_user_id (user_id),
|
||
INDEX idx_session_id (session_id),
|
||
INDEX idx_start_time (start_time),
|
||
INDEX idx_status (status)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='陪练会话表';
|
||
|
||
-- 2. 对话记录表
|
||
CREATE TABLE IF NOT EXISTS `practice_dialogues` (
|
||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||
`session_id` VARCHAR(50) NOT NULL COMMENT '会话ID',
|
||
`speaker` VARCHAR(20) NOT NULL COMMENT '说话人:user/ai',
|
||
`content` TEXT NOT NULL COMMENT '对话内容',
|
||
`timestamp` DATETIME NOT NULL COMMENT '时间戳',
|
||
`sequence` INT NOT NULL COMMENT '顺序号(从1开始)',
|
||
|
||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
|
||
INDEX idx_session_id (session_id),
|
||
INDEX idx_sequence (session_id, sequence)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='陪练对话记录表';
|
||
|
||
-- 3. 分析报告表
|
||
CREATE TABLE IF NOT EXISTS `practice_reports` (
|
||
`id` INT AUTO_INCREMENT PRIMARY KEY,
|
||
`session_id` VARCHAR(50) NOT NULL UNIQUE COMMENT '会话ID',
|
||
|
||
-- AI分析结果(JSON存储)
|
||
`total_score` INT COMMENT '综合得分(0-100)',
|
||
`score_breakdown` JSON COMMENT '分数细分:开场技巧、需求挖掘等',
|
||
`ability_dimensions` JSON COMMENT '能力维度:沟通表达、倾听理解等',
|
||
`dialogue_review` JSON COMMENT '对话复盘(标注亮点话术/金牌话术)',
|
||
`suggestions` JSON COMMENT '改进建议',
|
||
|
||
-- Dify工作流信息
|
||
`workflow_run_id` VARCHAR(100) COMMENT 'Dify工作流运行ID',
|
||
`task_id` VARCHAR(100) COMMENT 'Dify任务ID',
|
||
|
||
`created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||
`updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||
|
||
INDEX idx_session_id (session_id)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='陪练分析报告表';
|
||
|
||
-- 验证表创建
|
||
SELECT
|
||
TABLE_NAME,
|
||
TABLE_ROWS,
|
||
TABLE_COMMENT
|
||
FROM information_schema.TABLES
|
||
WHERE TABLE_SCHEMA = 'kaopeilian'
|
||
AND TABLE_NAME IN ('practice_sessions', 'practice_dialogues', 'practice_reports');
|
||
|