diff --git a/src/main/resources/db/init.sql b/src/main/resources/db/init.sql index 8ce7c8e..d4183f2 100644 --- a/src/main/resources/db/init.sql +++ b/src/main/resources/db/init.sql @@ -8,6 +8,7 @@ CREATE TABLE IF NOT EXISTS `session` ( `session_id` VARCHAR(128) NOT NULL COMMENT '会话ID', `customer_id` VARCHAR(64) NOT NULL COMMENT '客户ID (external_userid)', `kf_id` VARCHAR(64) NOT NULL COMMENT '客服账号ID (open_kfid)', + `channel_type` VARCHAR(20) NOT NULL DEFAULT 'wechat' COMMENT '渠道类型: wechat/douyin/jd', `status` VARCHAR(20) NOT NULL DEFAULT 'AI' COMMENT '状态: AI/PENDING/MANUAL/CLOSED', `wx_service_state` INT DEFAULT 0 COMMENT '微信会话状态: 0-未处理/1-智能助手/2-待接入池/3-人工接待/4-已结束', `created_at` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', @@ -18,6 +19,7 @@ CREATE TABLE IF NOT EXISTS `session` ( INDEX `idx_customer_id` (`customer_id`), INDEX `idx_kf_id` (`kf_id`), INDEX `idx_status` (`status`), + INDEX `idx_channel_type` (`channel_type`), INDEX `idx_updated_at` (`updated_at`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='会话表'; @@ -75,3 +77,4 @@ CREATE TABLE IF NOT EXISTS `quick_reply` ( -- 如果表已存在,添加新字段 ALTER TABLE `session` ADD COLUMN IF NOT EXISTS `wx_service_state` INT DEFAULT 0 COMMENT '微信会话状态'; +ALTER TABLE `session` ADD COLUMN IF NOT EXISTS `channel_type` VARCHAR(20) DEFAULT 'wechat' COMMENT '渠道类型: wechat/douyin/jd'; diff --git a/src/main/resources/db/migration/V1__add_channel_type.sql b/src/main/resources/db/migration/V1__add_channel_type.sql new file mode 100644 index 0000000..c6373e2 --- /dev/null +++ b/src/main/resources/db/migration/V1__add_channel_type.sql @@ -0,0 +1,10 @@ +-- TASK-003: 数据库 Schema 变更 [AC-MCA-11] +-- Session 表新增 channel_type 字段 + +ALTER TABLE `session` +ADD COLUMN IF NOT EXISTS `channel_type` VARCHAR(20) DEFAULT 'wechat' +COMMENT '渠道类型: wechat/douyin/jd' +AFTER `kf_id`; + +-- 添加索引 +CREATE INDEX IF NOT EXISTS `idx_channel_type` ON `session` (`channel_type`);