-- ============================================================================
-- 专家系统 v2 · 云端 MySQL 新增表 DDL
-- 对应本地 SQLite 的 ai_avatar_templates / ai_avatar_version_history 表
-- 以及新增的评价同步需求
-- ============================================================================

-- 1. ai_expert_review · 专家评价表（15个字段 + 5个索引）
CREATE TABLE IF NOT EXISTS ai_expert_review (
  id            BIGINT       NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  expert_code   VARCHAR(128) NOT NULL                COMMENT '专家编码（关联 ai_expert_definition.expert_code）',
  user_id       VARCHAR(64)  NOT NULL DEFAULT ''      COMMENT '评价用户ID',
  user_name     VARCHAR(128) NOT NULL DEFAULT ''      COMMENT '评价用户名',
  rating        TINYINT      NOT NULL DEFAULT 0       COMMENT '综合评分 1-5',
  comment       TEXT                                  COMMENT '评价文本',
  accuracy      TINYINT      NOT NULL DEFAULT 0       COMMENT '准确性评分 1-5',
  usability     TINYINT      NOT NULL DEFAULT 0       COMMENT '易用性评分 1-5',
  completeness  TINYINT      NOT NULL DEFAULT 0       COMMENT '完整性评分 1-5',
  professionalism TINYINT    NOT NULL DEFAULT 0       COMMENT '专业度评分 1-5',
  version       VARCHAR(32)  NOT NULL DEFAULT ''      COMMENT '被评价的专家版本',
  is_anonymous  TINYINT(1)   NOT NULL DEFAULT 0       COMMENT '是否匿名 0-否 1-是',
  source        VARCHAR(32)  NOT NULL DEFAULT 'LOCAL' COMMENT '评价来源 LOCAL/MARKET/SYSTEM',
  create_time   DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_time   DATETIME     NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (id),
  INDEX idx_expert_code (expert_code),
  INDEX idx_user_id (user_id),
  INDEX idx_rating (rating),
  INDEX idx_create_time (create_time),
  INDEX idx_version (version)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='专家评价表';


-- 2. ai_expert_template · 专家模板库表（24个字段 + 5个索引）
CREATE TABLE IF NOT EXISTS ai_expert_template (
  id              VARCHAR(64)   NOT NULL              COMMENT '模板ID（UUID）',
  name            VARCHAR(256)  NOT NULL              COMMENT '模板名称',
  description     TEXT                                COMMENT '模板描述',
  icon            VARCHAR(64)   DEFAULT ''             COMMENT '模板图标（emoji）',
  category        VARCHAR(64)   NOT NULL DEFAULT ''   COMMENT '一级分类（finance/legal/product/...）',
  sub_category    VARCHAR(128)  DEFAULT ''             COMMENT '二级分类',
  tags            VARCHAR(512)  DEFAULT ''             COMMENT '标签（逗号分隔）',
  version         VARCHAR(32)   DEFAULT '1.0.0'       COMMENT '模板版本',
  author          VARCHAR(128)  DEFAULT ''             COMMENT '作者',
  source          VARCHAR(32)   NOT NULL DEFAULT 'qoder_official' COMMENT '来源（qoder_official/community/custom/imported）',
  quality_score   INT           DEFAULT 0              COMMENT '质量评分 0-100',
  install_count   INT           DEFAULT 0              COMMENT '安装次数',
  rating          DECIMAL(3,2)  DEFAULT 0.00           COMMENT '平均评分 0-5',
  avatar_blueprint   JSON                             COMMENT '专家蓝图（DigitalAvatar 模板）',
  sub_skills_blueprint JSON                           COMMENT '子技能蓝图数组',
  trigger_words   JSON                                COMMENT '推荐触发词数组',
  connectors      JSON                                COMMENT '推荐数据源数组',
  position_scope  JSON                                COMMENT '岗位范围数组',
  disclaimer      TEXT                                COMMENT '免责声明',
  how_it_works    TEXT                                COMMENT '工作模式说明',
  is_active       TINYINT(1)    DEFAULT 1              COMMENT '是否启用 0-否 1-是',
  publisher       VARCHAR(128)  DEFAULT ''             COMMENT '发布者',
  create_time     DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_time     DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (id),
  INDEX idx_category (category),
  INDEX idx_source (source),
  INDEX idx_quality_score (quality_score DESC),
  INDEX idx_install_count (install_count DESC),
  INDEX idx_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='专家模板库表';


-- 3. ai_expert_version_history · 专家版本历史表（9个字段 + 3个索引）
CREATE TABLE IF NOT EXISTS ai_expert_version_history (
  id            VARCHAR(64)   NOT NULL              COMMENT '版本记录ID（UUID）',
  expert_code   VARCHAR(128)  NOT NULL              COMMENT '专家编码',
  version       VARCHAR(32)   NOT NULL              COMMENT '版本号',
  changelog     TEXT                                COMMENT '变更说明',
  snapshot      JSON                                COMMENT '完整配置快照',
  created_by    VARCHAR(128)  DEFAULT ''             COMMENT '创建者',
  source        VARCHAR(32)   DEFAULT 'LOCAL'        COMMENT '来源 LOCAL/CLOUD',
  create_time   DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  update_time   DATETIME      NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  PRIMARY KEY (id),
  INDEX idx_expert_code (expert_code),
  INDEX idx_version (expert_code, version),
  INDEX idx_create_time (create_time DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='专家版本历史表';
