81 lines
2.9 KiB
SQL
81 lines
2.9 KiB
SQL
-- =====================================================================================
|
||
-- Schema: 客服模块核心表
|
||
-- 位置:docs/sql/10_schema/kefu/ml_kefu_tables_v1.sql
|
||
-- 对象类型:Schema (DDL)
|
||
-- 版本:v1
|
||
-- 说明:包含客服账号、话术、留言及自动回复逻辑
|
||
-- =====================================================================================
|
||
|
||
-- 1. 客服人员表
|
||
CREATE TABLE IF NOT EXISTS public.ml_kefu_accounts (
|
||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
user_id UUID NOT NULL REFERENCES public.ak_users(id), -- 关联主用户表
|
||
|
||
nickname TEXT NOT NULL, -- 客服昵称
|
||
avatar TEXT NULL, -- 客服头像
|
||
|
||
status SMALLINT NOT NULL DEFAULT 1, -- 1:启用, 0:禁用
|
||
is_online BOOLEAN NOT NULL DEFAULT FALSE,
|
||
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||
);
|
||
|
||
-- 2. 话术分类表
|
||
CREATE TABLE IF NOT EXISTS public.ml_kefu_word_categories (
|
||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
name TEXT NOT NULL,
|
||
sort INT NOT NULL DEFAULT 0,
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||
);
|
||
|
||
-- 3. 客服快捷话术表
|
||
CREATE TABLE IF NOT EXISTS public.ml_kefu_words (
|
||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
category_id UUID NOT NULL REFERENCES public.ml_kefu_word_categories(id) ON DELETE CASCADE,
|
||
|
||
title TEXT NOT NULL,
|
||
content TEXT NOT NULL,
|
||
sort INT NOT NULL DEFAULT 0,
|
||
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||
);
|
||
|
||
-- 4. 用户留言反馈表
|
||
CREATE TABLE IF NOT EXISTS public.ml_kefu_feedbacks (
|
||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
user_id UUID NULL REFERENCES public.ak_users(id), -- 允许匿名留言
|
||
|
||
nickname TEXT NULL,
|
||
phone TEXT NULL,
|
||
content TEXT NOT NULL,
|
||
|
||
status SMALLINT NOT NULL DEFAULT 0, -- 0:未处理, 1:已处理
|
||
reply_content TEXT NULL, -- 管理员回复内容
|
||
processed_at TIMESTAMPTZ NULL, -- 处理时间
|
||
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||
);
|
||
|
||
-- 5. 关键词自动回复表
|
||
CREATE TABLE IF NOT EXISTS public.ml_kefu_auto_replies (
|
||
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
||
keyword TEXT NOT NULL,
|
||
content TEXT NOT NULL,
|
||
reply_type TEXT NOT NULL DEFAULT 'text', -- text, image
|
||
|
||
status SMALLINT NOT NULL DEFAULT 1, -- 1:开启, 0:关闭
|
||
|
||
created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
|
||
updated_at TIMESTAMPTZ NOT NULL DEFAULT now()
|
||
);
|
||
|
||
-- 索引
|
||
CREATE INDEX IF NOT EXISTS ml_kefu_accounts_user_id_idx ON public.ml_kefu_accounts (user_id);
|
||
CREATE INDEX IF NOT EXISTS ml_kefu_words_category_id_idx ON public.ml_kefu_words (category_id);
|
||
CREATE INDEX IF NOT EXISTS ml_kefu_feedbacks_status_idx ON public.ml_kefu_feedbacks (status);
|
||
CREATE INDEX IF NOT EXISTS ml_kefu_auto_replies_keyword_idx ON public.ml_kefu_auto_replies (keyword);
|