-- 创建陪练场景表
CREATE TABLE IF NOT EXISTS `practice_scenes` (
    `id` INT AUTO_INCREMENT PRIMARY KEY,
    `name` VARCHAR(200) NOT NULL COMMENT '场景名称',
    `description` TEXT COMMENT '场景描述',
    `type` VARCHAR(50) NOT NULL COMMENT '场景类型: phone/face/complaint/after-sales/product-intro',
    `difficulty` VARCHAR(50) NOT NULL COMMENT '难度等级: beginner/junior/intermediate/senior/expert',
    `status` VARCHAR(20) DEFAULT 'active' COMMENT '状态: active/inactive',
    `background` TEXT COMMENT '场景背景设定',
    `ai_role` TEXT COMMENT 'AI角色描述',
    `objectives` JSON COMMENT '练习目标数组',
    `keywords` JSON COMMENT '关键词数组',
    `duration` INT DEFAULT 10 COMMENT '预计时长（分钟）',
    `usage_count` INT DEFAULT 0 COMMENT '使用次数',
    `rating` DECIMAL(3,1) DEFAULT 0.0 COMMENT '评分',
    `created_by` INT COMMENT '创建人ID',
    `updated_by` INT COMMENT '更新人ID',
    `created_at` DATETIME DEFAULT CURRENT_TIMESTAMP,
    `updated_at` DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    `is_deleted` BOOLEAN DEFAULT FALSE,
    `deleted_at` DATETIME,
    INDEX idx_type (type),
    INDEX idx_difficulty (difficulty),
    INDEX idx_status (status),
    INDEX idx_is_deleted (is_deleted),
    FOREIGN KEY (created_by) REFERENCES users(id) ON DELETE SET NULL,
    FOREIGN KEY (updated_by) REFERENCES users(id) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='陪练场景表';

-- 插入初始场景数据（5个场景，涵盖不同类型和难度）
INSERT INTO `practice_scenes` (name, description, type, difficulty, status, background, ai_role, objectives, keywords, duration, created_by, updated_by) VALUES
(
    '初次电话拜访客户',
    '模拟首次通过电话联系潜在客户的场景，练习专业的电话销售技巧',
    'phone',
    'beginner',
    'active',
    '你是一名轻医美品牌的销售专员，需要通过电话联系一位从未接触过的潜在客户。客户是某美容院的老板，你需要在短时间内引起她的兴趣，介绍你们的产品和服务。',
    'AI扮演一位忙碌的美容院老板，对推销电话比较抵触，但如果销售人员能够快速切入她的需求点（如提升业绩、吸引客户、新项目），她会愿意继续交谈。她关注产品效果、价格和培训支持。',
    '["学会专业的电话开场白", "快速建立信任关系", "有效探询客户需求", "预约下次沟通时间"]',
    '["开场白", "需求挖掘", "时间管理", "预约技巧"]',
    10,
    1,
    1
),
(
    '处理价格异议',
    '练习如何应对客户对产品价格的质疑和异议，强调价值而非价格',
    'face',
    'intermediate',
    'active',
    '客户对你们的轻医美产品很感兴趣，已经了解了产品功能和效果，但认为价格太高，超出了她的预算。你需要通过价值塑造和对比分析来化解价格异议。',
    'AI扮演一位对价格非常敏感的美容院老板，她会不断提出价格异议，例如"太贵了"、"竞品便宜一半"、"能不能再便宜点"。但如果销售人员能够有效展示产品价值、投资回报率和长期收益，她会逐渐被说服。',
    '["掌握价值塑造技巧", "学会处理价格异议", "提升谈判能力", "展示投资回报率"]',
    '["异议处理", "价值塑造", "谈判技巧", "ROI分析"]',
    15,
    1,
    1
),
(
    '客户投诉处理',
    '模拟客户对产品或服务不满的投诉场景，练习专业的投诉处理技巧',
    'complaint',
    'intermediate',
    'active',
    '一位客户购买了你们的轻医美产品后，使用效果不理想，打电话来投诉。她情绪比较激动，认为产品宣传与实际不符，要求退款。你需要安抚客户情绪，了解问题根源，并提供合理的解决方案。',
    'AI扮演一位情绪激动的客户，她对产品效果不满意，觉得被欺骗了。她会表达强烈的不满和质疑，但如果客服人员能够真诚道歉、耐心倾听、专业分析问题原因并提供切实可行的解决方案，她的态度会逐渐缓和。',
    '["掌握情绪安抚技巧", "学会倾听和共情", "分析问题并提供解决方案", "挽回客户信任"]',
    '["投诉处理", "情绪管理", "问题分析", "客户挽回"]',
    12,
    1,
    1
),
(
    '产品功能介绍',
    '练习向客户详细介绍轻医美产品的功能特点和优势',
    'product-intro',
    'junior',
    'active',
    '客户对你们的轻医美产品有一定了解，现在希望你详细介绍产品的核心功能、技术原理、使用方法和效果保证。客户比较专业，会提出一些技术性问题。',
    'AI扮演一位专业的美容院经营者，她对轻医美产品有一定了解，会提出具体的技术问题和需求。例如询问产品成分、作用机理、适用人群、操作流程、注意事项等。她希望得到专业、详细、真实的回答。',
    '["清晰介绍产品功能和原理", "突出产品优势和差异化", "专业回答技术问题", "建立专业形象"]',
    '["产品介绍", "功能展示", "优势分析", "技术解答"]',
    12,
    1,
    1
),
(
    '售后服务咨询',
    '模拟客户咨询售后服务的场景，练习专业的售后服务沟通技巧',
    'after-sales',
    'beginner',
    'active',
    '客户已经购买了你们的轻医美产品，现在打电话咨询售后服务相关问题，包括产品使用方法、遇到的小问题、培训支持、配件购买等。你需要提供专业、耐心、周到的售后服务。',
    'AI扮演一位已购买产品的美容院老板，她在使用产品过程中遇到一些问题或疑问，希望得到专业的指导和帮助。她的态度比较友好，但希望得到快速、有效的解决方案。她会根据服务质量评价品牌。',
    '["掌握产品使用指导技巧", "快速解决客户问题", "提供专业培训支持", "增强客户满意度和忠诚度"]',
    '["售后服务", "使用指导", "问题解决", "客户维护"]',
    10,
    1,
    1
);

-- 查询验证
SELECT id, name, type, difficulty, status FROM practice_scenes WHERE is_deleted = FALSE;



