-- 智能客服插件安装脚本
-- 1. 智能客服插件使用系统配置表存储配置信息，无需创建独立数据表
-- 2. 会话和消息数据存储在独立数据表中

-- 创建智能客服会话表
CREATE TABLE IF NOT EXISTS `lucky_aikefu_conversation` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `site_id` int(11) NOT NULL COMMENT '站点ID',
  `user_id` varchar(50) NOT NULL COMMENT '用户ID',
  `conversation_id` varchar(100) NOT NULL COMMENT 'Dify会话ID',
  `name` varchar(255) NOT NULL COMMENT '会话名称',
  `status` tinyint(1) NOT NULL DEFAULT 1 COMMENT '状态：1活跃，0结束',
  `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`),
  KEY `site_id` (`site_id`),
  KEY `user_id` (`user_id`),
  KEY `conversation_id` (`conversation_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4_unicode_ci COMMENT='智能客服会话表';

-- 创建智能客服消息表
CREATE TABLE IF NOT EXISTS `lucky_aikefu_message` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `site_id` int(11) NOT NULL COMMENT '站点ID',
  `user_id` varchar(50) NOT NULL COMMENT '用户ID',
  `conversation_id` varchar(100) NOT NULL COMMENT '会话ID',
  `message_id` varchar(100) NOT NULL COMMENT '消息ID',
  `role` varchar(20) NOT NULL COMMENT '角色：user用户，assistant助手',
  `content` text NOT NULL COMMENT '消息内容',
  `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`),
  KEY `site_id` (`site_id`),
  KEY `user_id` (`user_id`),
  KEY `conversation_id` (`conversation_id`),
  KEY `message_id` (`message_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4_unicode_ci COMMENT='智能客服消息表';

-- 修改表字符集，utf8mb4_unicode_ci， 兼容emoji表情

ALTER TABLE lucky_aikefu_message MODIFY content TEXT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE lucky_aikefu_conversation CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE lucky_aikefu_message CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;