-- ============================================================ -- 第九联盟AI坐席辅助系统 - 数据库初始化脚本 -- MySQL 5.7适配版 -- ============================================================ SET NAMES utf8mb4; SET CHARACTER SET utf8mb4; -- 创建数据库 CREATE DATABASE IF NOT EXISTS `ai_assistant` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; USE `ai_assistant`; -- ============================================================ -- 企微会话存档消息表 (archive_messages) -- ============================================================ CREATE TABLE IF NOT EXISTS `archive_messages` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `msgid` VARCHAR(255) NOT NULL COMMENT '企微消息唯一ID', `seq` BIGINT(20) NOT NULL COMMENT '存档序列号,用于增量拉取', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `action` VARCHAR(32) DEFAULT 'send' COMMENT 'send/recall/agree/disagree', `from_user` VARCHAR(128) NOT NULL COMMENT '发送者userid', `from_role` VARCHAR(32) NOT NULL COMMENT '发送者角色: INTERNAL-企业内部成员 EXTERNAL-外部联系人 SYSTEM-系统', `to_user` VARCHAR(128) COMMENT '接收者userid(单聊)', `tolist` TEXT COMMENT '接收者列表(群聊),JSON数组字符串', `roomid` VARCHAR(255) COMMENT '群聊ID(群聊时有值)', `msgtype` VARCHAR(64) NOT NULL COMMENT 'text/image/voice/video/file/link/location/weapp/chatrecord/voip', `msgtime` BIGINT(20) NOT NULL COMMENT '消息发送时间,UTC毫秒时间戳', `content` LONGTEXT COMMENT '文本消息内容(长文本使用LONGTEXT)', `media_data` TEXT COMMENT '媒体消息元数据(sdkfileid/文件大小/时长等),JSON字符串', `session_id` VARCHAR(128) COMMENT '关联的会话ID(业务生成)', `decrypt_status` TINYINT DEFAULT 1 COMMENT '解密状态: 1成功 2失败', `decrypt_error` VARCHAR(512) COMMENT '解密失败原因', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_msgid_corp` (`msgid`, `corp_id`) COMMENT '消息ID+企业ID唯一', INDEX `idx_seq` (`seq`) COMMENT '序列号索引,用于增量拉取', INDEX `idx_session_id` (`session_id`) COMMENT '会话ID索引', INDEX `idx_from_user_msgtime` (`from_user`, `msgtime`) COMMENT '发送者+时间索引', INDEX `idx_to_user_msgtime` (`to_user`, `msgtime`) COMMENT '接收者+时间索引', INDEX `idx_roomid_msgtime` (`roomid`, `msgtime`) COMMENT '群聊ID+时间索引', INDEX `idx_msgtime` (`msgtime`) COMMENT '消息时间索引', INDEX `idx_corp_msgtype` (`corp_id`, `msgtype`, `msgtime`) COMMENT '企业+消息类型+时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='企微会话存档消息表'; -- ============================================================ -- 腾讯云 COS 配置表 (cos_config) -- ============================================================ CREATE TABLE IF NOT EXISTS `cos_config` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `secret_id` VARCHAR(255) NOT NULL COMMENT '腾讯云 SecretId', `secret_key` VARCHAR(255) NOT NULL COMMENT '腾讯云 SecretKey', `bucket` VARCHAR(255) NOT NULL COMMENT '存储桶名称', `region` VARCHAR(64) NOT NULL COMMENT '地域,如 ap-shanghai', `path_prefix` VARCHAR(255) DEFAULT 'archive/media/' COMMENT 'COS 路径前缀', `domain` VARCHAR(255) DEFAULT NULL COMMENT '自定义访问域名(可选)', `enabled` TINYINT(1) DEFAULT 0 COMMENT '是否启用:0-停用 1-启用', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', INDEX `idx_enabled` (`enabled`) COMMENT '启用状态索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='腾讯云 COS 配置表'; -- ============================================================ -- 会话存档媒体文件 COS 映射表 (archive_media_files) -- ============================================================ CREATE TABLE IF NOT EXISTS `archive_media_files` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `msg_id` VARCHAR(255) NOT NULL COMMENT '企微消息 msgid', `archive_message_id` BIGINT(20) NOT NULL COMMENT 'archive_messages.id', `sdkfileid` VARCHAR(512) DEFAULT NULL COMMENT '企微媒体文件 sdkfileid', `cos_url` VARCHAR(1024) NOT NULL COMMENT 'COS 文件访问 URL', `file_size` BIGINT(20) DEFAULT 0 COMMENT '文件大小(字节)', `file_type` VARCHAR(32) DEFAULT NULL COMMENT '文件类型:image/voice/video/file', `status` TINYINT(1) DEFAULT 1 COMMENT '状态:1-有效 0-无效', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_archive_msg_id` (`archive_message_id`) COMMENT '消息ID唯一', UNIQUE KEY `uk_msg_id` (`msg_id`) COMMENT '企微消息ID唯一', INDEX `idx_status` (`status`) COMMENT '状态索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会话存档媒体文件 COS 映射表'; -- ============================================================ -- 会话表 (conversations) -- ============================================================ CREATE TABLE IF NOT EXISTS `conversations` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `session_id` VARCHAR(128) NOT NULL COMMENT '会话唯一ID(业务生成)', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `customer_id` VARCHAR(128) NOT NULL COMMENT '学员(外部联系人)userid', `customer_name` VARCHAR(64) COMMENT '学员昵称', `staff_id` VARCHAR(128) NOT NULL COMMENT '坐席(企业成员)userid', `staff_name` VARCHAR(64) COMMENT '坐席姓名', `room_id` VARCHAR(128) COMMENT '群聊ID(群聊时有值)', `status` VARCHAR(32) DEFAULT 'ACTIVE' COMMENT '会话状态: ACTIVE-活跃 IDLE-空闲 CLOSED-关闭 ARCHIVED-归档', `current_stage` VARCHAR(32) DEFAULT '开场白' COMMENT '当前对话阶段', `stage_confidence` DECIMAL(4,3) DEFAULT 0.000 COMMENT '阶段判断置信度', `round_count` INT(11) DEFAULT 0 COMMENT '对话轮次', `intent_count` INT(11) DEFAULT 0 COMMENT '意图识别次数', `last_msg_id` VARCHAR(255) COMMENT '最后一条消息ID', `last_msg_time` TIMESTAMP NULL COMMENT '最后消息时间', `last_msg_content` VARCHAR(512) COMMENT '最后消息内容摘要', `start_time` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '会话开始时间', `end_time` TIMESTAMP NULL COMMENT '会话结束时间', `idle_duration` INT(11) DEFAULT 0 COMMENT '空闲时长(分钟)', `context_summary` TEXT COMMENT '对话摘要(LLM生成)', `key_events` TEXT COMMENT '关键事件列表,JSON字符串', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_session_id` (`session_id`) COMMENT '会话ID唯一', INDEX `idx_corp_staff` (`corp_id`, `staff_id`, `status`) COMMENT '企业+坐席+状态', INDEX `idx_corp_customer` (`corp_id`, `customer_id`, `status`) COMMENT '企业+学员+状态', INDEX `idx_status_time` (`status`, `last_msg_time`) COMMENT '状态+时间', INDEX `idx_created_at` (`created_at`) COMMENT '创建时间索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='会话表'; -- ============================================================ -- 对话轮次表 (conversation_turns) -- ============================================================ CREATE TABLE IF NOT EXISTS `conversation_turns` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `turn_id` VARCHAR(128) NOT NULL COMMENT '轮次ID', `session_id` VARCHAR(128) NOT NULL COMMENT '会话ID', `turn_number` INT(11) NOT NULL COMMENT '轮次序号', `student_msg_id` VARCHAR(255) COMMENT '学员消息ID', `student_content` TEXT COMMENT '学员消息内容', `seat_msg_id` VARCHAR(255) COMMENT '坐席回复消息ID', `seat_content` TEXT COMMENT '坐席回复内容', `turn_type` VARCHAR(32) DEFAULT 'QUERY' COMMENT '轮次类型: OPEN-开场 QUERY-咨询 OBJECTION-异议 INTEREST-意向 SILENCE-沉默 FOLLOWUP-跟进 CLOSE-收尾', `primary_intent` VARCHAR(32) COMMENT '主意图编码', `intent_confidence` DECIMAL(4,3) COMMENT '意图置信度', `student_emotion` VARCHAR(32) DEFAULT 'NEUTRAL' COMMENT '学员情绪: POSITIVE-积极 NEUTRAL-中性 NEGATIVE-消极 ANXIOUS-焦虑 EXCITED-兴奋', `key_topics` TEXT COMMENT '涉及主题列表,JSON字符串', `slot_changes` TEXT COMMENT '槽位变化,JSON字符串', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', UNIQUE KEY `uk_turn_id` (`turn_id`) COMMENT '轮次ID唯一', INDEX `idx_session_turn` (`session_id`, `turn_number`) COMMENT '会话+轮次号', INDEX `idx_session_time` (`session_id`, `created_at`) COMMENT '会话+时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='对话轮次表'; -- ============================================================ -- 意图分类表 (intent_categories) -- ============================================================ CREATE TABLE IF NOT EXISTS `intent_categories` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `code` VARCHAR(32) NOT NULL COMMENT '意图编码,如INT-COURSE-01', `name` VARCHAR(64) NOT NULL COMMENT '意图名称', `domain` VARCHAR(32) NOT NULL COMMENT '所属领域', `description` VARCHAR(256) COMMENT '意图说明', `priority` VARCHAR(8) DEFAULT 'P2' COMMENT '优先级: P1-高 P2-中 P3-低', `trigger_keywords` TEXT COMMENT '触发关键词列表,JSON数组字符串', `sample_expressions` TEXT COMMENT '典型表达示例,JSON数组字符串', `status` TINYINT DEFAULT 1 COMMENT '状态: 1启用 0停用', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_code` (`code`) COMMENT '意图编码唯一', INDEX `idx_domain_priority` (`domain`, `priority`) COMMENT '领域+优先级' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='意图分类表'; -- ============================================================ -- 意图识别记录表 (intent_recognitions) -- ============================================================ CREATE TABLE IF NOT EXISTS `intent_recognitions` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `session_id` VARCHAR(128) NOT NULL COMMENT '会话ID', `turn_id` VARCHAR(128) COMMENT '轮次ID', `msg_id` VARCHAR(255) NOT NULL COMMENT '消息ID', `customer_id` VARCHAR(128) NOT NULL COMMENT '学员ID', `staff_id` VARCHAR(128) NOT NULL COMMENT '坐席ID', `message_content` TEXT COMMENT '消息内容摘要', `primary_intent_code` VARCHAR(32) NOT NULL COMMENT '主意图编码', `primary_intent_confidence` DECIMAL(4,3) COMMENT '主意图置信度', `secondary_intents` TEXT COMMENT '辅意图列表,JSON字符串', `sentiment` VARCHAR(32) DEFAULT 'NEUTRAL' COMMENT '情感: POSITIVE-积极 NEUTRAL-中性 NEGATIVE-消极', `sentiment_confidence` DECIMAL(4,3) COMMENT '情感置信度', `recognition_method` VARCHAR(32) DEFAULT 'HYBRID' COMMENT '识别方法: RULE-规则 LLM-大模型 HYBRID-混合', `llm_model` VARCHAR(64) COMMENT '使用的LLM模型', `prompt_tokens` INT(11) COMMENT 'Prompt Token数', `completion_tokens` INT(11) COMMENT 'Completion Token数', `elapsed_ms` INT(11) COMMENT '识别耗时(毫秒)', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', INDEX `idx_session_msg` (`session_id`, `msg_id`) COMMENT '会话+消息', INDEX `idx_customer_time` (`customer_id`, `created_at`) COMMENT '学员+时间', INDEX `idx_intent_code` (`primary_intent_code`, `created_at`) COMMENT '意图编码+时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='意图识别记录表'; -- ============================================================ -- 学员画像表 (customer_profiles) -- ============================================================ CREATE TABLE IF NOT EXISTS `customer_profiles` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `customer_id` VARCHAR(128) NOT NULL COMMENT '学员userid', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `student_type` VARCHAR(32) COMMENT '学员类型: 在校大学生/转行人员/在职提升/高中毕业生/家长代询', `student_type_confidence` DECIMAL(4,3) COMMENT '学员类型置信度', `skill_level` VARCHAR(32) COMMENT '基础水平: 零基础/有美术基础/相关专业/有从业经验', `skill_level_confidence` DECIMAL(4,3) COMMENT '基础水平置信度', `intent_level` VARCHAR(16) DEFAULT '低' COMMENT '意向度等级: 高/中/低/无意向', `intent_score` DECIMAL(6,2) DEFAULT 0.00 COMMENT '意向度分数', `concern_focus` VARCHAR(32) COMMENT '关注重点: 价格敏感型/就业导向型/师资看重型/时间灵活型/品牌信任型', `concern_focus_confidence` DECIMAL(4,3) COMMENT '关注重点置信度', `decision_stage` VARCHAR(32) DEFAULT '信息了解' COMMENT '决策阶段: 信息了解/方案比较/购买决策/报名成交', `decision_stage_confidence` DECIMAL(4,3) COMMENT '决策阶段置信度', `interested_courses` TEXT COMMENT '意向课程列表,JSON字符串', `budget_hint` VARCHAR(64) COMMENT '预算暗示', `preferred_city` VARCHAR(32) COMMENT '意向城市', `age` INT(11) COMMENT '年龄', `education` VARCHAR(32) COMMENT '学历', `current_occupation` VARCHAR(64) COMMENT '当前职业', `slot_data` TEXT COMMENT '完整槽位数据,JSON字符串', `conversation_count` INT(11) DEFAULT 0 COMMENT '对话次数', `last_conversation_time` TIMESTAMP NULL COMMENT '上次对话时间', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_customer_corp` (`customer_id`, `corp_id`) COMMENT '学员+企业唯一', INDEX `idx_intent_score` (`intent_score`) COMMENT '意向度分数索引', INDEX `idx_decision_stage` (`decision_stage`) COMMENT '决策阶段索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='学员画像表'; -- ============================================================ -- 话术库表 (utterances) -- ============================================================ CREATE TABLE IF NOT EXISTS `utterances` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `utterance_id` VARCHAR(64) NOT NULL COMMENT '话术唯一ID(业务编码)', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `title` VARCHAR(128) NOT NULL COMMENT '话术标题', `content` TEXT NOT NULL COMMENT '话术内容(富文本)', `content_text` TEXT COMMENT '纯文本内容(用于全文检索)', `version` INT(11) DEFAULT 1 COMMENT '版本号', `status` VARCHAR(32) DEFAULT 'DRAFT' COMMENT '状态: DRAFT-草稿 ACTIVE-启用 INACTIVE-停用 DEPRECATED-废弃', `priority` INT(11) DEFAULT 5 COMMENT '优先级(1-10,越小越优先)', `stage_tags` TEXT COMMENT '适用阶段标签,JSON数组字符串', `intent_tags` TEXT COMMENT '匹配意图标签,JSON数组字符串', `profile_tags` TEXT COMMENT '适用画像标签,JSON数组字符串', `course_type_tags` TEXT COMMENT '适用课程标签,JSON数组字符串', `emotion_tags` TEXT COMMENT '情感标签,JSON数组字符串', `topic_tags` TEXT COMMENT '主题标签,JSON数组字符串', `used_count` INT(11) DEFAULT 0 COMMENT '使用次数', `selected_count` INT(11) DEFAULT 0 COMMENT '选中次数', `positive_feedback` INT(11) DEFAULT 0 COMMENT '正面反馈数', `negative_feedback` INT(11) DEFAULT 0 COMMENT '负面反馈数', `conversion_count` INT(11) DEFAULT 0 COMMENT '转化次数', `success_rate` DECIMAL(5,4) DEFAULT 0.0000 COMMENT '成功率(0-1)', `avg_response_time_ms` INT(11) COMMENT '平均响应时间(毫秒)', `has_vector` TINYINT DEFAULT 0 COMMENT '是否已生成向量: 0否 1是', `vector_updated_at` TIMESTAMP NULL COMMENT '向量更新时间', `trigger_keywords` TEXT COMMENT '触发关键词,JSON字符串', `variables` TEXT COMMENT '变量定义,JSON字符串', `created_by` VARCHAR(64) COMMENT '创建人', `reviewed_by` VARCHAR(64) COMMENT '审核人', `source` VARCHAR(32) DEFAULT 'MANUAL' COMMENT '来源: MANUAL-人工录入 IMPORTED-导入 LLM_GENERATED-AI生成', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_utterance_id` (`utterance_id`) COMMENT '话术ID唯一', INDEX `idx_corp_status` (`corp_id`, `status`) COMMENT '企业+状态', INDEX `idx_success_rate` (`success_rate`) COMMENT '成功率索引', INDEX `idx_used_count` (`used_count`) COMMENT '使用次数索引', FULLTEXT KEY `ft_content` (`content_text`) COMMENT '全文检索索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='话术库表'; -- ============================================================ -- 话术分类表 (utterance_categories) -- ============================================================ CREATE TABLE IF NOT EXISTS `utterance_categories` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `code` VARCHAR(32) NOT NULL COMMENT '分类编码', `name` VARCHAR(64) NOT NULL COMMENT '分类名称', `parent_code` VARCHAR(32) DEFAULT 'ROOT' COMMENT '父级编码', `sort_order` INT(11) DEFAULT 0 COMMENT '排序号', `color` VARCHAR(16) DEFAULT '#1890ff' COMMENT '显示颜色', `description` VARCHAR(256) COMMENT '分类说明', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', UNIQUE KEY `uk_code` (`code`) COMMENT '分类编码唯一' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='话术分类表'; -- ============================================================ -- 话术效果表 (utterance_performance) -- ============================================================ CREATE TABLE IF NOT EXISTS `utterance_performance` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `utterance_id` VARCHAR(64) NOT NULL COMMENT '话术ID', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `hour_window` VARCHAR(13) NOT NULL COMMENT '时间窗口,格式: 2025-01-15-14', `show_count` INT(11) DEFAULT 0 COMMENT '展示次数', `click_count` INT(11) DEFAULT 0 COMMENT '点击次数', `send_count` INT(11) DEFAULT 0 COMMENT '发送次数', `positive_count` INT(11) DEFAULT 0 COMMENT '正面反馈数', `negative_count` INT(11) DEFAULT 0 COMMENT '负面反馈数', `ignore_count` INT(11) DEFAULT 0 COMMENT '忽略次数', `conversion_count` INT(11) DEFAULT 0 COMMENT '转化次数', `ctr` DECIMAL(5,4) COMMENT '点击率', `conversion_rate` DECIMAL(5,4) COMMENT '转化率', `score` DECIMAL(6,4) COMMENT '综合评分(EWA算法)', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', UNIQUE KEY `uk_utterance_hour` (`utterance_id`, `hour_window`) COMMENT '话术+时间窗口唯一', INDEX `idx_corp_hour` (`corp_id`, `hour_window`) COMMENT '企业+时间窗口' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='话术效果表'; -- ============================================================ -- 推荐记录表 (recommendations) -- ============================================================ CREATE TABLE IF NOT EXISTS `recommendations` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `recommendation_id` VARCHAR(128) NOT NULL COMMENT '推荐记录ID', `session_id` VARCHAR(128) NOT NULL COMMENT '会话ID', `turn_id` VARCHAR(128) COMMENT '轮次ID', `customer_id` VARCHAR(128) NOT NULL COMMENT '学员ID', `staff_id` VARCHAR(128) NOT NULL COMMENT '坐席ID', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `primary_intent` VARCHAR(32) COMMENT '主意图编码', `secondary_intents` TEXT COMMENT '辅意图列表,JSON字符串', `student_type` VARCHAR(32) COMMENT '学员类型', `current_stage` VARCHAR(32) COMMENT '当前阶段', `student_message` VARCHAR(512) COMMENT '学员消息', `recommended_count` INT(11) DEFAULT 0 COMMENT '推荐条数', `recall_sources` TEXT COMMENT '召回来源统计,JSON字符串', `generation_mode` VARCHAR(32) DEFAULT 'KB_ONLY' COMMENT '生成模式: KB_ONLY-话术库 KB_LLM_MIX-混合 LLM_ONLY-纯AI', `elapsed_ms` INT(11) COMMENT '推荐耗时(毫秒)', `staff_action` VARCHAR(32) DEFAULT 'NOT_SEEN' COMMENT '坐席操作: SENT-发送 EDITED-编辑后发送 IGNORED-忽略 NOT_SEEN-未查看', `feedback` VARCHAR(32) DEFAULT 'NONE' COMMENT '反馈: POSITIVE-正面 NEGATIVE-负面 NONE-无', `feedback_reason` VARCHAR(128) COMMENT '反馈原因', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `action_time` TIMESTAMP NULL COMMENT '操作时间', UNIQUE KEY `uk_rec_id` (`recommendation_id`) COMMENT '推荐ID唯一', INDEX `idx_session` (`session_id`, `created_at`) COMMENT '会话+时间', INDEX `idx_staff` (`staff_id`, `created_at`) COMMENT '坐席+时间', INDEX `idx_intent` (`primary_intent`, `created_at`) COMMENT '意图+时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='推荐记录表'; -- ============================================================ -- 知识库文档表 (knowledge_documents) -- ============================================================ CREATE TABLE IF NOT EXISTS `knowledge_documents` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `doc_id` VARCHAR(64) NOT NULL COMMENT '文档唯一ID', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `title` VARCHAR(256) NOT NULL COMMENT '文档标题', `content` LONGTEXT COMMENT '文档内容', `content_text` LONGTEXT COMMENT '纯文本内容(用于全文检索)', `doc_type` VARCHAR(32) DEFAULT 'KNOWLEDGE' COMMENT '文档类型: KNOWLEDGE-知识 UTTERANCE-话术 FAQ-常见问题', `category` VARCHAR(64) COMMENT '分类', `tags` TEXT COMMENT '标签,JSON数组字符串', `status` VARCHAR(32) DEFAULT 'ACTIVE' COMMENT '状态: ACTIVE-启用 INACTIVE-停用', `has_vector` TINYINT DEFAULT 0 COMMENT '是否已生成向量', `vector_updated_at` TIMESTAMP NULL COMMENT '向量更新时间', `created_by` VARCHAR(64) COMMENT '创建人', `updated_by` VARCHAR(64) COMMENT '更新人', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_doc_id` (`doc_id`) COMMENT '文档ID唯一', INDEX `idx_corp_type` (`corp_id`, `doc_type`, `status`) COMMENT '企业+类型+状态', FULLTEXT KEY `ft_content` (`content_text`) COMMENT '全文检索' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='知识库文档表'; -- ============================================================ -- 员工表 (staffs) -- ============================================================ CREATE TABLE IF NOT EXISTS `staffs` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `staff_id` VARCHAR(128) NOT NULL COMMENT '企微用户ID', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `name` VARCHAR(64) COMMENT '姓名', `avatar` VARCHAR(512) COMMENT '头像URL', `department` VARCHAR(128) COMMENT '部门', `role` VARCHAR(32) DEFAULT 'ADVISOR' COMMENT '角色: ADMIN-管理员 SUPERVISOR-主管 ADVISOR-顾问', `status` VARCHAR(32) DEFAULT 'ACTIVE' COMMENT '状态: ACTIVE-在职 INACTIVE-离职', `push_settings` TEXT COMMENT '推送设置,JSON字符串', `last_login_time` TIMESTAMP NULL COMMENT '最后登录时间', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_staff_corp` (`staff_id`, `corp_id`) COMMENT '员工+企业唯一', INDEX `idx_corp_role` (`corp_id`, `role`) COMMENT '企业+角色' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工表'; -- ============================================================ -- 客户表 (customers) -- ============================================================ CREATE TABLE IF NOT EXISTS `customers` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `customer_id` VARCHAR(128) NOT NULL COMMENT '外部联系人userid', `corp_id` VARCHAR(64) NOT NULL COMMENT '企业ID', `name` VARCHAR(64) COMMENT '姓名/昵称', `avatar` VARCHAR(512) COMMENT '头像URL', `type` VARCHAR(32) DEFAULT 'UNKNOWN' COMMENT '客户类型: UNKNOWN-未知 INDIVIDUAL-个人 PARENT-家长 ENTERPRISE-企业', `gender` VARCHAR(8) COMMENT '性别: MALE-男 FEMALE-女', `phone` VARCHAR(32) COMMENT '手机号', `wechat_id` VARCHAR(64) COMMENT '微信号', `unionid` VARCHAR(128) COMMENT '微信unionid', `add_time` TIMESTAMP NULL COMMENT '添加时间', `status` VARCHAR(32) DEFAULT 'ACTIVE' COMMENT '状态: ACTIVE-正常 BLOCKED-拉黑 DELETED-删除', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_customer_corp` (`customer_id`, `corp_id`) COMMENT '客户+企业唯一', INDEX `idx_corp_status` (`corp_id`, `status`) COMMENT '企业+状态' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='客户表'; -- ============================================================ -- 管理员表 (admins) -- ============================================================ CREATE TABLE IF NOT EXISTS `admins` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `username` VARCHAR(64) NOT NULL COMMENT '用户名', `password` VARCHAR(256) NOT NULL COMMENT '密码(BCrypt加密)', `name` VARCHAR(64) COMMENT '姓名', `email` VARCHAR(128) COMMENT '邮箱', `phone` VARCHAR(32) COMMENT '手机号', `role` VARCHAR(32) DEFAULT 'ADMIN' COMMENT '角色: SUPER_ADMIN-超级管理员 ADMIN-管理员 OPERATOR-运营', `status` VARCHAR(32) DEFAULT 'ACTIVE' COMMENT '状态: ACTIVE-启用 DISABLED-停用', `last_login_time` TIMESTAMP NULL COMMENT '最后登录时间', `last_login_ip` VARCHAR(64) COMMENT '最后登录IP', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `updated_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间', UNIQUE KEY `uk_username` (`username`) COMMENT '用户名唯一' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='管理员表'; -- ============================================================ -- 操作日志表 (operation_logs) -- ============================================================ CREATE TABLE IF NOT EXISTS `operation_logs` ( `id` BIGINT(20) PRIMARY KEY AUTO_INCREMENT COMMENT '自增主键', `operator_id` VARCHAR(64) NOT NULL COMMENT '操作人ID', `operator_name` VARCHAR(64) COMMENT '操作人姓名', `operator_type` VARCHAR(32) DEFAULT 'STAFF' COMMENT '操作人类型: STAFF-员工 ADMIN-管理员', `module` VARCHAR(64) COMMENT '操作模块', `action` VARCHAR(64) COMMENT '操作动作', `description` TEXT COMMENT '操作描述', `request_params` TEXT COMMENT '请求参数', `response_result` TEXT COMMENT '响应结果', `ip` VARCHAR(64) COMMENT '操作IP', `user_agent` VARCHAR(512) COMMENT 'User-Agent', `status` TINYINT DEFAULT 1 COMMENT '状态: 1成功 0失败', `elapsed_ms` INT(11) COMMENT '耗时(毫秒)', `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', INDEX `idx_operator` (`operator_id`, `created_at`) COMMENT '操作人+时间', INDEX `idx_module` (`module`, `action`, `created_at`) COMMENT '模块+动作+时间', INDEX `idx_created_at` (`created_at`) COMMENT '创建时间索引' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='操作日志表'; -- ============================================================ -- 初始化数据 -- ============================================================ -- 40个意图分类 INSERT INTO `intent_categories` (`code`, `name`, `domain`, `description`, `priority`, `trigger_keywords`, `sample_expressions`, `status`) VALUES ('INT-COURSE-01', '课程内容咨询', '课程相关', '询问具体学什么内容', 'P1', '["学什么","课程","内容","教什么","学什么软件"]', '["你们的课程具体学什么内容?","课程都教哪些软件?","能说一下课程体系吗?"]', 1), ('INT-COURSE-02', '课程选择建议', '课程相关', '不知道该选哪个方向', 'P1', '["选哪个","推荐","适合我","怎么选","方向"]', '["我应该学3D建模还是原画?","哪个方向好就业?","您能帮我推荐一下吗?"]', 1), ('INT-COURSE-03', '课程大纲索要', '课程相关', '想看详细课程安排', 'P1', '["大纲","课程表","安排","详细","阶段"]', '["能发一下课程大纲吗?","具体是怎么安排的?","每个阶段学什么?"]', 1), ('INT-COURSE-04', '试听预约咨询', '课程相关', '想试听或体验课程', 'P1', '["试听","体验","免费","公开课","试学"]', '["有免费试听吗?","怎么预约试听课?","可以体验一下吗?"]', 1), ('INT-COURSE-05', '课程更新迭代', '课程相关', '担心课程内容过时', 'P2', '["更新","过时","新版","跟上","行业"]', '["课程内容会更新吗?","跟得上行业吗?","用的是最新技术吗?"]', 1), ('INT-COURSE-06', '线上vs线下选择', '课程相关', '不知道选哪种学习方式', 'P1', '["线上","线下","面授","直播","网课","区别"]', '["线上和线下有什么区别?","线上课程效果好吗?","可以线上学习吗?"]', 1), ('INT-COURSE-07', '课程难度询问', '课程相关', '担心零基础能否学会', 'P1', '["零基础","能学会吗","难吗","没有基础","小白","能不能学会"]', '["零基础能学会吗?","我没有美术基础可以学吗?","课程难度大不大?"]', 1), ('INT-COURSE-08', '学习周期询问', '课程相关', '想知道学多久', 'P2', '["多久","多长时间","几个月","学多久","周期"]', '["课程要学多久?","多长时间能学会?","几个月可以学完?"]', 1), ('INT-PRICE-01', '学费价格询问', '价格相关', '直接问学费多少', 'P1', '["多少钱","学费","价格","费用","收费","怎么收费"]', '["学费多少钱?","课程怎么收费?","一共多少钱?"]', 1), ('INT-PRICE-02', '优惠活动询问', '价格相关', '想知道有没有优惠', 'P1', '["优惠","活动","打折","减免","便宜","特价"]', '["现在有优惠活动吗?","能便宜点吗?","有没有折扣?"]', 1), ('INT-PRICE-03', '分期付款咨询', '价格相关', '关心付款方式', 'P2', '["分期","贷款","月付","首付","月供","花呗"]', '["可以分期付款吗?","有贷款方案吗?","月供多少?"]', 1), ('INT-PRICE-04', '退费政策询问', '价格相关', '关心退费保障', 'P2', '["退费","退款","退钱","学不好退","保障"]', '["学不好可以退费吗?","退费流程是怎样的?","有保障吗?"]', 1), ('INT-PRICE-05', '性价比比较', '价格相关', '和别家比较', 'P2', '["对比","比较","别家","其他机构","性价比","划算"]', '["你们的课程和XX比怎么样?","为什么价格比别人高?","性价比高吗?"]', 1), ('INT-JOB-01', '就业方向咨询', '就业相关', '学完能做什么', 'P1', '["就业","工作","岗位","方向","做什么"]', '["学完能去哪些公司工作?","就业方向有哪些?","能做什么岗位?"]', 1), ('INT-JOB-02', '薪资水平询问', '就业相关', '关心工资待遇', 'P1', '["工资","薪资","月薪","收入","待遇","多少钱一个月"]', '["毕业后工资能拿多少?","行业薪资水平怎么样?","能挣多少?"]', 1), ('INT-JOB-03', '就业率询问', '就业相关', '关心能否找到工作', 'P1', '["就业率","找到工作","保证","推荐","找工作"]', '["就业率高吗?","能保证就业吗?","好找工作吗?"]', 1), ('INT-JOB-04', '就业服务了解', '就业相关', '了解就业推荐服务', 'P2', '["就业服务","推荐","怎么找工作","帮找工作"]', '["你们怎么帮学员找工作?","有就业推荐吗?","就业服务包含什么?"]', 1), ('INT-JOB-05', '合作企业询问', '就业相关', '想知道合作企业', 'P2', '["合作企业","大厂","腾讯","米哈游","网易","公司"]', '["合作企业有哪些?","有米哈游/腾讯这样的公司吗?","就业单位有哪些?"]', 1), ('INT-JOB-06', '作品集指导', '就业相关', '关心作品质量', 'P2', '["作品集","作品","项目","Demo","案例"]', '["学完能做出作品集吗?","作品质量怎么样?","能参与项目吗?"]', 1), ('INT-JOB-07', '实习机会咨询', '就业相关', '想参与真实项目', 'P3', '["实习","真实项目","实训","参与项目","实战"]', '["有实习机会吗?","可以参与真实项目吗?","有企业实训吗?"]', 1), ('INT-TEACH-01', '师资背景询问', '师资相关', '想知道老师是谁', 'P2', '["老师","师资","讲师","谁教的","教学经验"]', '["老师是什么背景?","老师有项目经验吗?","谁来讲课?"]', 1), ('INT-TEACH-02', '教学模式了解', '师资相关', '想知道怎么上课', 'P2', '["怎么上课","教学方式","班型","一对一","多少人"]', '["是怎么上课的?","一个班多少人?","教学模式是怎样的?"]', 1), ('INT-TEACH-03', '课后答疑服务', '师资相关', '关心课后辅导', 'P2', '["答疑","辅导","课后","问问题","指导"]', '["课后有问题可以问老师吗?","答疑及时吗?","有课后辅导吗?"]', 1), ('INT-TEACH-04', '师生比例询问', '师资相关', '关心教学质量', 'P3', '["一个老师","带多少学生","比例","师生"]', '["一个老师带多少学生?","能照顾到每个人吗?","班级多大?"]', 1), ('INT-TEACH-05', '学习效果保障', '师资相关', '担心学不会怎么办', 'P2', '["学不会","怎么办","重修","保障","跟不上"]', '["学不会怎么办?","怎么保证学习效果?","跟不上怎么办?"]', 1), ('INT-BASIC-01', '学历要求咨询', '基础条件', '学历是否够', 'P2', '["学历","要求","高中","大专","本科"]', '["需要什么学历?","高中生可以学吗?","学历要求高吗?"]', 1), ('INT-BASIC-02', '年龄限制询问', '基础条件', '年龄是否合适', 'P2', '["年龄","多大","几岁","限制","30岁"]', '["有没有年龄限制?","30岁了还能学吗?","年龄大能学会吗?"]', 1), ('INT-BASIC-03', '零基础入学', '基础条件', '零基础可行性', 'P1', '["零基础","没有基础","小白","完全不会","从来没"]', '["我没有美术基础可以学吗?","零基础能学会吗?","完全没接触过可以学吗?"]', 1), ('INT-BASIC-04', '证书颁发询问', '基础条件', '学完发什么证书', 'P3', '["证书","毕业证","结业证","证明","认证"]', '["学完发证书吗?","证书有用吗?","有毕业证吗?"]', 1), ('INT-LOC-01', '校区地址询问', '校区相关', '想知道校区在哪', 'P2', '["校区","地址","在哪","位置","交通"]', '["校区在哪里?","附近有地铁吗?","具体地址是什么?"]', 1), ('INT-LOC-02', '校区参观预约', '校区相关', '想去参观', 'P2', '["参观","看看","实地考察","走访","预约"]', '["可以参观校区吗?","怎么预约参观?","能去看看吗?"]', 1), ('INT-LOC-03', '教学设备了解', '校区相关', '关心硬件条件', 'P3', '["设备","电脑","配置","硬件","机房"]', '["需要自备电脑吗?","校区提供设备吗?","电脑配置怎么样?"]', 1), ('INT-LOC-04', '住宿安排咨询', '校区相关', '外地学员住宿', 'P3', '["住宿","宿舍","外地","住哪","租房"]', '["外地学员有住宿吗?","住宿怎么安排?","有宿舍吗?"]', 1), ('INT-QUAL-01', '机构正规性', '机构资质', '是否正规机构', 'P2', '["正规","资质","办学","合法","备案"]', '["你们是正规机构吗?","有办学资质吗?","是国家认可的吗?"]', 1), ('INT-QUAL-02', '口碑评价询问', '机构资质', '想看学员评价', 'P3', '["评价","口碑","反馈","怎么样","好吗"]', '["学员评价怎么样?","有老学员反馈吗?","口碑如何?"]', 1), ('INT-QUAL-03', '媒体报道了解', '机构资质', '想看权威背书', 'P3', '["报道","媒体","电视","新闻","央视"]', '["有上过电视报道吗?","媒体报道过吗?","央视那个是真的吗?"]', 1), ('INT-OTHER-01', '大师课咨询', '其他', '进阶课程', 'P3', '["大师课","研修班","进阶","艺术家","高级"]', '["大师课和普通课什么区别?","研修班怎么报名?","大师课学费多少?"]', 1), ('INT-OTHER-02', '企业培训定制', '其他', 'B端需求', 'P3', '["企业培训","定制","公司","团队","B端"]', '["有企业定制培训吗?","公司团队能报名吗?","企业内训怎么合作?"]', 1), ('INT-OTHER-03', '比赛活动咨询', '其他', 'GGAC等赛事', 'P3', '["比赛","GGAC","大赛","活动","赛事"]', '["GGAC比赛怎么参加?","有比赛推荐吗?","学员能参加大赛吗?"]', 1), ('INT-OTHER-04', '转班转学咨询', '其他', '变更需求', 'P3', '["转班","换方向","转学","调整","换校区"]', '["可以换课程方向吗?","可以换校区吗?","转班怎么办理?"]', 1); -- 8个话术分类(销售阶段) INSERT INTO `utterance_categories` (`code`, `name`, `parent_code`, `sort_order`, `color`, `description`) VALUES ('STAGE-01', '开场白', 'ROOT', 1, '#52c41a', '首次接待学员/家长,建立信任,收集基础信息'), ('STAGE-02', '需求探询', 'ROOT', 2, '#1890ff', '了解学员背景和目标,精准画像,挖掘需求'), ('STAGE-03', '课程推荐', 'ROOT', 3, '#fa8c16', '匹配适合的课程方向,精准推荐1-2个方向'), ('STAGE-04', '价值塑造', 'ROOT', 4, '#722ed1', '强调优势和差异化,建立价值认同'), ('STAGE-05', '报价沟通', 'ROOT', 5, '#eb2f96', '价格说明和方案,化解价格顾虑'), ('STAGE-06', '异议处理', 'ROOT', 6, '#f5222d', '应对各类顾虑,消除障碍,建立信心'), ('STAGE-07', '促成报名', 'ROOT', 7, '#faad14', '推动转化成交,促成立即行动'), ('STAGE-08', '跟进维护', 'ROOT', 8, '#13c2c2', '未成交学员跟进,保持联系,等待时机'); -- 系统管理员(密码: admin123) INSERT INTO `admins` (`username`, `password`, `name`, `email`, `role`, `status`, `created_at`) VALUES ('admin', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iOE1Qh6G', '系统管理员', 'admin@9artedu.com', 'SUPER_ADMIN', 'ACTIVE', NOW()); -- 九艺AI坐席辅助系统 - 核心话术库初始化 -- 覆盖8个阶段、40个意图分类 INSERT INTO utterances ( utterance_id, corp_id, title, content, content_text, status, priority, stage_tags, intent_tags, profile_tags, course_type_tags, emotion_tags, topic_tags, used_count, selected_count, success_rate, source, created_by ) VALUES -- ========== 开场白 (STAGE-01) ========== ('UTT-001-001', 'corp001', '标准开场白-首次咨询', '您好!欢迎咨询第九联盟艺术教育,我是您的专属课程顾问{{顾问姓名}}。请问怎么称呼您呢?是想了解咱们哪方面的课程呀?', '您好!欢迎咨询第九联盟艺术教育,我是您的专属课程顾问。请问怎么称呼您呢?是想了解咱们哪方面的课程呀?', 'APPROVED', 9, '["STAGE-01"]', '["INT-COURSE-01","INT-COURSE-02"]', '["新客户","未分类"]', '["通用"]', '["中性"]', '["开场","问候","信息收集"]', 128, 96, 0.7500, 'MANUAL', 'admin'), ('UTT-001-002', 'corp001', '开场白-转介绍学员', '您好!听说您是{{推荐人}}介绍来的,真是太好了!咱们第九联盟在{{课程方向}}方向口碑一直很好,我先给您简单介绍一下?', '您好!听说您是朋友介绍来的,真是太好了!咱们第九联盟在课程方向口碑一直很好,我先给您简单介绍一下?', 'APPROVED', 8, '["STAGE-01"]', '["INT-COURSE-01","INT-QUAL-02"]', '["转介绍","高信任度"]', '["通用"]', '["积极"]', '["开场","信任建立","转介绍"]', 86, 72, 0.8372, 'MANUAL', 'admin'), ('UTT-001-003', 'corp001', '开场白-二次到访', '{{学员姓名}}您好!上次咱们聊到{{上次话题}},这次过来是想进一步了解哪方面呢?', '您好!上次咱们聊到课程话题,这次过来是想进一步了解哪方面呢?', 'APPROVED', 8, '["STAGE-01"]', '["INT-COURSE-01","INT-COURSE-04"]', '["回访客户","有初步意向"]', '["通用"]', '["积极"]', '["开场","跟进","二次到访"]', 64, 55, 0.8594, 'MANUAL', 'admin'), -- ========== 需求探询 (STAGE-02) ========== ('UTT-002-001', 'corp001', '需求探询-零基础背景', '完全没问题的!咱们{{课程名称}}就是专门为零基础学员设计的。先跟您确认几个信息:您现在是学生还是在职?每天能抽出多少时间学习?', '完全没问题的!咱们课程就是专门为零基础学员设计的。先跟您确认几个信息:您现在是学生还是在职?每天能抽出多少时间学习?', 'APPROVED', 9, '["STAGE-02"]', '["INT-BASIC-03","INT-COURSE-07","INT-COURSE-08"]', '["零基础","时间有限","转行意向"]', '["通用"]', '["中性","略有顾虑"]', '["需求探询","背景了解","时间确认"]', 215, 168, 0.7814, 'MANUAL', 'admin'), ('UTT-002-002', 'corp001', '需求探询-职业提升', '明白了,您是想通过系统学习来提升职业技能。方便问一下您目前从事什么行业吗?以及您希望学完后达到什么水平?这样我可以给您更精准的建议。', '明白了,您是想通过系统学习来提升职业技能。方便问一下您目前从事什么行业吗?以及您希望学完后达到什么水平?这样我可以给您更精准的建议。', 'APPROVED', 8, '["STAGE-02"]', '["INT-JOB-01","INT-COURSE-02","INT-JOB-06"]', '["在职提升","有明确目标","中级基础"]', '["通用"]', '["积极"]', '["需求探询","职业规划","目标确认"]', 156, 124, 0.7949, 'MANUAL', 'admin'), ('UTT-002-003', 'corp001', '需求探询-学生党', '了解!作为学生您的时间相对灵活,这是个很大的优势。您现在大几?是本专业相关还是想跨专业学习?毕业后的打算是什么?', '了解!作为学生您的时间相对灵活,这是个很大的优势。您现在大几?是本专业相关还是想跨专业学习?毕业后的打算是什么?', 'APPROVED', 8, '["STAGE-02"]', '["INT-BASIC-01","INT-JOB-01","INT-COURSE-02"]', '["在校学生","时间充裕","职业规划期"]', '["通用"]', '["积极"]', '["需求探询","学业背景","职业规划"]', 178, 142, 0.7978, 'MANUAL', 'admin'), -- ========== 课程推荐 (STAGE-03) ========== ('UTT-003-001', 'corp001', '课程推荐-原画方向', '根据您的情况,我强烈推荐咱们的**原画概念设计班**。这个课程从素描基础到角色设计、场景设计全覆盖,6个月就能达到入行水平。咱们往期学员平均就业率是92%,起薪在8-12K。', '根据您的情况,我强烈推荐咱们的原画概念设计班。这个课程从素描基础到角色设计、场景设计全覆盖,6个月就能达到入行水平。咱们往期学员平均就业率是92%,起薪在8-12K。', 'APPROVED', 10, '["STAGE-03"]', '["INT-COURSE-01","INT-COURSE-02","INT-JOB-01","INT-JOB-02"]', '["零基础","转行意向","美术爱好者"]', '["原画","概念设计"]', '["积极","感兴趣"]', '["课程推荐","就业数据","学习周期"]', 342, 268, 0.7836, 'MANUAL', 'admin'), ('UTT-003-002', 'corp001', '课程推荐-3D建模方向', '基于您的背景,**3D游戏建模班**非常适合您!课程涵盖ZBrush雕刻、Maya建模、次世代流程,4个月系统学习。咱们和腾讯、网易、米哈游都有合作关系,优秀学员可以直接内推。', '基于您的背景,3D游戏建模班非常适合您!课程涵盖ZBrush雕刻、Maya建模、次世代流程,4个月系统学习。咱们和腾讯、网易、米哈游都有合作关系,优秀学员可以直接内推。', 'APPROVED', 10, '["STAGE-03"]', '["INT-COURSE-01","INT-COURSE-02","INT-JOB-05","INT-JOB-04"]', '["有基础","技术导向","就业优先"]', '["3D建模","游戏设计"]', '["积极","感兴趣"]', '["课程推荐","企业合作","内推机会"]', 286, 224, 0.7832, 'MANUAL', 'admin'), ('UTT-003-003', 'corp001', '课程推荐-影视后期方向', '如果您对影视感兴趣,**影视后期特效班**是咱们王牌课程之一。学完后可以从事电影特效、广告包装、短视频制作等方向,就业面非常广。现在报名还能享受早鸟优惠!', '如果您对影视感兴趣,影视后期特效班是咱们王牌课程之一。学完后可以从事电影特效、广告包装、短视频制作等方向,就业面非常广。现在报名还能享受早鸟优惠!', 'APPROVED', 9, '["STAGE-03"]', '["INT-COURSE-01","INT-COURSE-02","INT-JOB-01"]', '["兴趣驱动","创意型","影视爱好者"]', '["影视后期","特效"]', '["积极","感兴趣"]', '["课程推荐","就业方向","优惠活动"]', 198, 156, 0.7879, 'MANUAL', 'admin'), ('UTT-003-004', 'corp001', '课程推荐-试听邀请', '光听我介绍可能不够直观,建议您先来听一节**免费试听课**。我可以帮您预约明天下午3点的原画体验课,您看时间方便吗?', '光听我介绍可能不够直观,建议您先来听一节免费试听课。我可以帮您预约明天下午3点的原画体验课,您看时间方便吗?', 'APPROVED', 9, '["STAGE-03"]', '["INT-COURSE-04","INT-COURSE-01"]', '["犹豫中","需要体验","决策期"]', '["通用"]', '["中性","犹豫"]', '["课程推荐","试听邀约","降低门槛"]', 412, 338, 0.8204, 'MANUAL', 'admin'), -- ========== 价值塑造 (STAGE-04) ========== ('UTT-004-001', 'corp001', '价值塑造-师资力量', '咱们的讲师团队非常强大,主讲老师都是来自一线大厂的高级美术总监,比如原画班的李老师之前在网易任职8年,参与过《阴阳师》《第五人格》的角色设计。您学的不是理论,是实打实的行业经验!', '咱们的讲师团队非常强大,主讲老师都是来自一线大厂的高级美术总监,比如原画班的李老师之前在网易任职8年,参与过知名游戏的角色设计。您学的不是理论,是实打实的行业经验!', 'APPROVED', 9, '["STAGE-04"]', '["INT-TEACH-01","INT-QUAL-01","INT-TEACH-05"]', '["注重师资","品质导向"]', '["通用"]', '["积极","信任"]', '["价值塑造","师资介绍","行业背景"]', 268, 212, 0.7910, 'MANUAL', 'admin'), ('UTT-004-002', 'corp001', '价值塑造-教学模式', '咱们采用**小班制+项目实战**的教学模式,每个班不超过20人,保证老师能照顾到每位学员。而且课程中会有4-5个真实商业项目贯穿,毕业时您已经有能直接放进作品集的项目经验了。', '咱们采用小班制+项目实战的教学模式,每个班不超过20人,保证老师能照顾到每位学员。而且课程中会有4-5个真实商业项目贯穿,毕业时您已经有能直接放进作品集的项目经验了。', 'APPROVED', 9, '["STAGE-04"]', '["INT-TEACH-02","INT-TEACH-04","INT-JOB-06"]', '["注重效果","实践导向"]', '["通用"]', '["积极","信任"]', '["价值塑造","教学模式","项目实战"]', 224, 186, 0.8304, 'MANUAL', 'admin'), ('UTT-004-003', 'corp001', '价值塑造-学习保障', '咱们有完善的**学习效果保障体系**:第一,每个阶段都有考核,没通过可以免费重修;第二,毕业后6个月内未就业,全额退费;第三,提供终身免费复训。您完全不用担心学不会或者学完后找不到工作。', '咱们有完善的学习效果保障体系:第一,每个阶段都有考核,没通过可以免费重修;第二,毕业后6个月内未就业,全额退费;第三,提供终身免费复训。您完全不用担心学不会或者学完后找不到工作。', 'APPROVED', 10, '["STAGE-04"]', '["INT-TEACH-05","INT-PRICE-04","INT-QUAL-01"]', '["风险厌恶","谨慎型","需要保障"]', '["通用"]', '["积极","信任","安心"]', '["价值塑造","保障体系","退费政策"]', 312, 256, 0.8205, 'MANUAL', 'admin'), -- ========== 报价沟通 (STAGE-05) ========== ('UTT-005-001', 'corp001', '报价沟通-透明报价', '咱们的收费标准非常透明,{{课程名称}}全程6个月,总费用是{{价格}}元。这个费用包含了全部课程、教材、软件授权、项目指导,没有任何隐形收费。您可以和其他机构对比一下,咱们的性价比是非常高的。', '咱们的收费标准非常透明,课程全程6个月,总费用是市场价。这个费用包含了全部课程、教材、软件授权、项目指导,没有任何隐形收费。您可以和其他机构对比一下,咱们的性价比是非常高的。', 'APPROVED', 8, '["STAGE-05"]', '["INT-PRICE-01","INT-PRICE-05"]', '["价格敏感","理性对比"]', '["通用"]', '["中性","关注价格"]', '["报价沟通","透明定价","性价比"]', 386, 298, 0.7720, 'MANUAL', 'admin'), ('UTT-005-002', 'corp001', '报价沟通-分期方案', '如果一次性付款有压力,咱们支持**12期免息分期**,每个月只要还几百块,对您的生活完全没有影响。而且分期和全款享受的优惠是一样的。我可以帮您算一下具体的月供?', '如果一次性付款有压力,咱们支持12期免息分期,每个月只要还几百块,对您的生活完全没有影响。而且分期和全款享受的优惠是一样的。我可以帮您算一下具体的月供?', 'APPROVED', 9, '["STAGE-05"]', '["INT-PRICE-03","INT-PRICE-01"]', '["预算有限","学生党","在职转行"]', '["通用"]', '["中性","顾虑价格"]', '["报价沟通","分期付款","降低门槛"]', 268, 224, 0.8358, 'MANUAL', 'admin'), ('UTT-005-003', 'corp001', '报价沟通-优惠活动', '您来得正好!这个月是咱们**周年庆活动**,报名可以享受三重优惠:第一,学费直减2000元;第二,赠送价值1500元的数位板;第三,赠送3节大师公开课。这个优惠到月底就结束了,建议您尽快决定!', '您来得正好!这个月是咱们周年庆活动,报名可以享受三重优惠:第一,学费直减2000元;第二,赠送价值1500元的数位板;第三,赠送3节大师公开课。这个优惠到月底就结束了,建议您尽快决定!', 'APPROVED', 9, '["STAGE-05"]', '["INT-PRICE-02","INT-PRICE-01"]', '["价格敏感","犹豫中","等待优惠"]', '["通用"]', '["积极","紧迫感"]', '["报价沟通","优惠活动","限时促销"]', 324, 276, 0.8519, 'MANUAL', 'admin'), -- ========== 异议处理 (STAGE-06) ========== ('UTT-006-001', 'corp001', '异议处理-担心学不会', '我完全理解您的担心!其实咱们80%的学员都是零基础开始的。关键是咱们有**一对一学习跟进**,每节课后助教都会检查您的作业,有问题随时答疑。而且如果阶段考核没通过,可以免费重修,直到学会为止。', '我完全理解您的担心!其实咱们80%的学员都是零基础开始的。关键是咱们有一对一学习跟进,每节课后助教都会检查您的作业,有问题随时答疑。而且如果阶段考核没通过,可以免费重修,直到学会为止。', 'APPROVED', 10, '["STAGE-06"]', '["INT-BASIC-03","INT-TEACH-05","INT-TEACH-03"]', '["零基础","自信心不足","风险厌恶"]', '["通用"]', '["顾虑","不安"]', '["异议处理","零基础保障","学习跟进"]', 456, 368, 0.8070, 'MANUAL', 'admin'), ('UTT-006-002', 'corp001', '异议处理-担心找不到工作', '这个您放心!咱们有专门的**就业服务团队**,从简历优化、作品集整理到模拟面试、企业内推,全程陪伴。而且咱们和200多家游戏、影视公司有人才合作,往期学员就业率是92%,平均薪资8-12K。', '这个您放心!咱们有专门的就业服务团队,从简历优化、作品集整理到模拟面试、企业内推,全程陪伴。而且咱们和200多家游戏、影视公司有人才合作,往期学员就业率是92%,平均薪资8-12K。', 'APPROVED', 10, '["STAGE-06"]', '["INT-JOB-03","INT-JOB-04","INT-JOB-05"]', '["就业导向","谨慎型","需要数据支撑"]', '["通用"]', '["顾虑","不安"]', '["异议处理","就业保障","数据说服"]', 398, 328, 0.8241, 'MANUAL', 'admin'), ('UTT-006-003', 'corp001', '异议处理-要和家人商量', '当然应该和家人商量!这是大事嘛。我帮您准备一份**详细的课程资料包**,包括课程大纲、师资介绍、就业案例、学费明细,您拿回去给家人看。如果需要,我也可以和您家人直接沟通,解答他们的疑问。', '当然应该和家人商量!这是大事嘛。我帮您准备一份详细的课程资料包,包括课程大纲、师资介绍、就业案例、学费明细,您拿回去给家人看。如果需要,我也可以和您家人直接沟通,解答他们的疑问。', 'APPROVED', 9, '["STAGE-06"]', '["INT-OTHER-04","INT-QUAL-02"]', '["决策依赖","家庭决策","犹豫中"]', '["通用"]', '["中性","犹豫"]', '["异议处理","家庭沟通","资料支持"]', 286, 242, 0.8462, 'MANUAL', 'admin'), ('UTT-006-004', 'corp001', '异议处理-想再比较比较', '完全理解,货比三家是应该的!我建议您从这几个维度去对比:**师资背景**(是否一线大厂出身)、**项目实战**(是否有真实商业项目)、**就业数据**(是否有真实就业案例)、**后续服务**(是否有就业保障)。这几点恰恰是咱们最强的优势。', '完全理解,货比三家是应该的!我建议您从这几个维度去对比:师资背景(是否一线大厂出身)、项目实战(是否有真实商业项目)、就业数据(是否有真实就业案例)、后续服务(是否有就业保障)。这几点恰恰是咱们最强的优势。', 'APPROVED', 8, '["STAGE-06"]', '["INT-QUAL-02","INT-PRICE-05","INT-QUAL-01"]', '["理性对比","谨慎型","多家咨询"]', '["通用"]', '["中性","犹豫"]', '["异议处理","对比引导","优势强化"]', 198, 162, 0.8182, 'MANUAL', 'admin'), -- ========== 促成报名 (STAGE-07) ========== ('UTT-007-001', 'corp001', '促成报名-限时优惠', '{{学员姓名}},我理解您还需要考虑,但这个**周年庆优惠今天就是最后一天**了。现在报名立减2000,还送数位板。错过这个活动,同样的课程要多花3500块。我先帮您预留一个名额,您今天内确认就行,好吗?', '我理解您还需要考虑,但这个周年庆优惠今天就是最后一天了。现在报名立减2000,还送数位板。错过这个活动,同样的课程要多花3500块。我先帮您预留一个名额,您今天内确认就行,好吗?', 'APPROVED', 9, '["STAGE-07"]', '["INT-PRICE-02","INT-COURSE-04"]', '["犹豫中","价格敏感","决策期"]', '["通用"]', '["紧迫感","积极"]', '["促成报名","限时优惠","名额预留"]', 356, 298, 0.8371, 'MANUAL', 'admin'), ('UTT-007-002', 'corp001', '促成报名-从众心理', '这个月已经有12个学员报名了原画班,其中3个是和您情况很像的零基础转行者。他们上周已经开始上课了,反馈都特别好。您要是这周报名,还能赶上同一期,大家起点一样,学习氛围会更好。', '这个月已经有12个学员报名了原画班,其中3个是和您情况很像的零基础转行者。他们上周已经开始上课了,反馈都特别好。您要是这周报名,还能赶上同一期,大家起点一样,学习氛围会更好。', 'APPROVED', 8, '["STAGE-07"]', '["INT-COURSE-04","INT-QUAL-02"]', '["社交型","从众心理","决策期"]', '["通用"]', '["积极","信任"]', '["促成报名","从众效应","同期开班"]', 224, 186, 0.8304, 'MANUAL', 'admin'), ('UTT-007-003', 'corp001', '促成报名-降低门槛', '这样吧,您先交**500元定金**锁定今天的优惠和名额,这500元抵1000元学费。给您3天时间考虑,如果最终决定不报名,定金全额退还。这样您既没有损失,又能保留优惠,您看行吗?', '这样吧,您先交500元定金锁定今天的优惠和名额,这500元抵1000元学费。给您3天时间考虑,如果最终决定不报名,定金全额退还。这样您既没有损失,又能保留优惠,您看行吗?', 'APPROVED', 9, '["STAGE-07"]', '["INT-PRICE-03","INT-PRICE-04"]', '["谨慎型","风险厌恶","犹豫中"]', '["通用"]', '["积极","安心"]', '["促成报名","定金策略","零风险"]', 312, 268, 0.8590, 'MANUAL', 'admin'), -- ========== 跟进维护 (STAGE-08) ========== ('UTT-008-001', 'corp001', '跟进维护-未成交回访', '{{学员姓名}}您好!上次咱们聊完后,您考虑得怎么样了?我这边又整理了几个和您背景相似的学员案例,以及最新的就业数据,发您微信了,您有空看看。有任何问题随时找我!', '您好!上次咱们聊完后,您考虑得怎么样了?我这边又整理了几个和您背景相似的学员案例,以及最新的就业数据,发您微信了,您有空看看。有任何问题随时找我!', 'APPROVED', 7, '["STAGE-08"]', '["INT-QUAL-02","INT-JOB-03"]', '["未成交","犹豫中","需要推动"]', '["通用"]', '["中性","友好"]', '["跟进维护","案例分享","保持联系"]', 186, 142, 0.7634, 'MANUAL', 'admin'), ('UTT-008-002', 'corp001', '跟进维护-已报名关怀', '{{学员姓名}},上课一周了,感觉怎么样?有没有哪里跟不上的?咱们助教老师每周都会做学习反馈,如果您有任何问题,不管是学习上的还是生活里的,都可以随时找我。希望您在咱们这儿学习愉快!', '上课一周了,感觉怎么样?有没有哪里跟不上的?咱们助教老师每周都会做学习反馈,如果您有任何问题,不管是学习上的还是生活里的,都可以随时找我。希望您在咱们这儿学习愉快!', 'APPROVED', 7, '["STAGE-08"]', '["INT-TEACH-03","INT-TEACH-05"]', '["已报名","学习期","需要关怀"]', '["通用"]', '["积极","温暖"]', '["跟进维护","学员关怀","学习反馈"]', 124, 98, 0.7903, 'MANUAL', 'admin'), ('UTT-008-003', 'corp001', '跟进维护-新活动通知', '{{学员姓名}},告诉您个好消息!咱们下周六有个**行业大咖分享会**,邀请到了网易美术总监来讲《游戏原画的职业发展路径》。您要是有兴趣,我可以给您预留个名额,免费的!', '告诉您个好消息!咱们下周六有个行业大咖分享会,邀请到了网易美术总监来讲游戏原画的职业发展路径。您要是有兴趣,我可以给您预留个名额,免费的!', 'APPROVED', 7, '["STAGE-08"]', '["INT-OTHER-01","INT-JOB-01","INT-TEACH-01"]', '["潜在学员","兴趣驱动","活动爱好者"]', '["通用"]', '["积极","感兴趣"]', '["跟进维护","活动邀约","价值输出"]', 98, 76, 0.7755, 'MANUAL', 'admin');