CREATE TABLE IF NOT EXISTS `sys_ai_chat_session` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
  `chat_id` VARCHAR(64) NOT NULL COMMENT '会话ID',
  `title` VARCHAR(255) DEFAULT NULL COMMENT '会话标题',
  `prompt_template_id` BIGINT DEFAULT NULL COMMENT 'Prompt模板ID',
  `prompt_scene_code` VARCHAR(64) DEFAULT NULL COMMENT 'Prompt场景',
  `prompt_version` INT DEFAULT NULL COMMENT 'Prompt版本',
  `prompt_name` VARCHAR(255) DEFAULT NULL COMMENT 'Prompt名称',
  `message_count` INT NOT NULL DEFAULT 0 COMMENT '消息数',
  `last_prompt_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次输入tokens',
  `last_completion_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次输出tokens',
  `last_total_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '最近一次总tokens',
  `last_llm_call_count` INT NOT NULL DEFAULT 0 COMMENT '最近一次模型调用轮次',
  `last_token_updated_at` DATETIME DEFAULT NULL COMMENT '最近一次tokens更新时间',
  `sum_prompt_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计输入tokens',
  `sum_completion_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计输出tokens',
  `sum_total_tokens` BIGINT NOT NULL DEFAULT 0 COMMENT '累计总tokens',
  `ask_count` BIGINT NOT NULL DEFAULT 0 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`),
  UNIQUE KEY `uk_sys_ai_chat_session_chat_id` (`chat_id`),
  KEY `idx_sys_ai_chat_session_update_time` (`update_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天会话表';

CREATE TABLE IF NOT EXISTS `sys_ai_chat_message` (
  `id` BIGINT NOT NULL AUTO_INCREMENT COMMENT '主键',
  `chat_id` VARCHAR(64) NOT NULL COMMENT '会话ID',
  `seq_no` INT NOT NULL COMMENT '顺序号',
  `role` VARCHAR(32) NOT NULL COMMENT '角色:user/assistant',
  `content` LONGTEXT COMMENT '消息内容',
  `reasoning_content` LONGTEXT COMMENT 'AI深度思考内容',
  `create_time` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `idx_sys_ai_chat_message_chat_seq` (`chat_id`, `seq_no`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI聊天消息表';
