2025-12-05 11:05:27 +08:00
|
|
|
|
CREATE SCHEMA IF NOT EXISTS workcase;
|
2025-12-02 13:21:18 +08:00
|
|
|
|
|
2025-12-16 13:31:21 +08:00
|
|
|
|
-- 系统外部人员(来客)管理 用于给系统外人员创建id
|
2025-12-18 16:48:45 +08:00
|
|
|
|
DROP TABLE IF EXISTS sys.tb_guest CASCADE;
|
|
|
|
|
|
CREATE TABLE sys.tb_guest(
|
2025-12-16 13:31:21 +08:00
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
user_id VARCHAR(50) NOT NULL, -- 来客ID
|
|
|
|
|
|
name VARCHAR(50) NOT NULL, -- 姓名
|
2025-12-18 16:48:45 +08:00
|
|
|
|
phone VARCHAR(50) DEFAULT NULL, -- 电话
|
|
|
|
|
|
email VARCHAR(50) DEFAULT NULL, -- 邮箱
|
|
|
|
|
|
wechat_id VARCHAR(50) DEFAULT NULL, -- 微信号
|
2025-12-16 13:31:21 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
2025-12-18 16:48:45 +08:00
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 创建时间
|
2025-12-16 13:31:21 +08:00
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
|
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (user_id),
|
|
|
|
|
|
UNIQUE (wechat_id),
|
|
|
|
|
|
UNIQUE (phone),
|
|
|
|
|
|
UNIQUE (email)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-12-19 11:11:51 +08:00
|
|
|
|
-- 客服对话记录,客服对话消息,包含ai、员工回答和来客提问,从ai.tb_chat同步ai对话时的数据
|
|
|
|
|
|
-- 先是ai对话,后转人工
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-12-02 13:21:18 +08:00
|
|
|
|
|
|
|
|
|
|
-- 工单表
|
2025-12-16 13:31:21 +08:00
|
|
|
|
DROP TABLE IF EXISTS workcase.tb_workcase CASCADE;
|
|
|
|
|
|
CREATE TABLE workcase.tb_workcase(
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
workcase_id VARCHAR(50) NOT NULL, -- 工单ID
|
2025-12-19 11:11:51 +08:00
|
|
|
|
chat_id VARCHAR(50) NOT NULL, -- 对话ID
|
2025-12-16 13:31:21 +08:00
|
|
|
|
user_id VARCHAR(50) NOT NULL, -- 来客ID
|
|
|
|
|
|
username VARCHAR(200) NOT NULL, -- 来客姓名
|
|
|
|
|
|
phone VARCHAR(20) NOT NULL, -- 来客电话
|
|
|
|
|
|
type VARCHAR(50) NOT NULL, -- 故障类型
|
2025-12-19 11:11:51 +08:00
|
|
|
|
device VARCHAR(50) NOT NULL, -- 设备名称
|
|
|
|
|
|
device_code VARCHAR(50) NOT NULL, -- 设备代码
|
2025-12-19 17:17:27 +08:00
|
|
|
|
imgs VARCHAR(50)[] DEFAULT '{}', -- 工单图片id
|
2025-12-16 13:31:21 +08:00
|
|
|
|
emergency VARCHAR(50) NOT NULL DEFAULT 'normal', -- 紧急程度 normal-普通 emergency-紧急
|
|
|
|
|
|
status VARCHAR(50) NOT NULL DEFAULT 'pending', -- 状态 pending-待处理 processing-处理中 done-已完成
|
|
|
|
|
|
processor VARCHAR(50) DEFAULT NULL, -- 处理人
|
2025-12-19 11:11:51 +08:00
|
|
|
|
creator VARCHAR(50) NOT NULL, -- 创建人
|
2025-12-16 13:31:21 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
|
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (workcase_id),
|
2025-12-19 11:11:51 +08:00
|
|
|
|
UNIQUE (chat_id),
|
2025-12-16 13:31:21 +08:00
|
|
|
|
UNIQUE (optsn)
|
2025-12-19 11:11:51 +08:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
-- 工单处理过程表(包含工单流转)
|
|
|
|
|
|
DROP TABLE IF EXISTS workcase.tb_workcase_process CASCADE;
|
|
|
|
|
|
CREATE TABLE workcase.tb_workcase_process(
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
workcase_id VARCHAR(50) NOT NULL, -- 工单ID
|
|
|
|
|
|
process_id VARCHAR(50) NOT NULL, -- 过程id
|
|
|
|
|
|
action VARCHAR(50) NOT NULL, -- 动作 info:记录,assign:指派,redeploy:转派,repeal:撤销,finish:完成
|
|
|
|
|
|
message VARCHAR(200) DEFAULT NULL, -- 消息
|
2025-12-19 17:17:27 +08:00
|
|
|
|
files VARCHAR(50)[] DEFAULT '{}', -- 携带文件
|
2025-12-19 11:11:51 +08:00
|
|
|
|
processor VARCHAR(50) DEFAULT NULL, -- 处理人(指派、转派专属)
|
|
|
|
|
|
remark VARCHAR(500) DEFAULT NULL, -- 备注
|
|
|
|
|
|
creator VARCHAR(50) NOT NULL, -- 过程发起人
|
|
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
PRIMARY KEY (process_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
-- 工单设备涉及的文件表
|
|
|
|
|
|
DROP TABLE IF EXISTS workcase.tb_workcase_device CASCADE;
|
|
|
|
|
|
CREATE TABLE workcase.tb_workcase_device(
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
workcase_id VARCHAR(50) NOT NULL, -- 工单ID
|
|
|
|
|
|
device VARCHAR(50) NOT NULL, -- 设备名称
|
|
|
|
|
|
device_code VARCHAR(50) DEFAULT NULL, -- 设备代码
|
|
|
|
|
|
file_id VARCHAR(50) NOT NULL, -- 文件id
|
|
|
|
|
|
file_name VARCHAR(50) NOT NULL, -- 文件名
|
|
|
|
|
|
file_root_id VARCHAR(50) DEFAULT NULL, -- 文件根id
|
|
|
|
|
|
PRIMARY KEY(workcase_id, file_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
-- 来客对话、工单过程中生成的词云表
|
|
|
|
|
|
DROP TABLE IF EXISTS workcase.tb_word_cloud CASCADE;
|
|
|
|
|
|
CREATE TABLE workcase.tb_word_cloud(
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
word_id VARCHAR(50) NOT NULL, -- 词条ID
|
|
|
|
|
|
word VARCHAR(100) NOT NULL, -- 词语
|
|
|
|
|
|
frequency INTEGER NOT NULL DEFAULT 1, -- 词频
|
|
|
|
|
|
source_type VARCHAR(20) NOT NULL, -- 来源类型 chat-聊天 workcase-工单
|
|
|
|
|
|
source_id VARCHAR(50) DEFAULT NULL, -- 来源ID(chat_id/workcase_id,NULL表示全局统计)
|
|
|
|
|
|
category VARCHAR(50) DEFAULT NULL, -- 分类(如:故障类型、设备名称、情绪词等)
|
|
|
|
|
|
stat_date DATE NOT NULL, -- 统计日期(按天聚合)
|
|
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
PRIMARY KEY (word_id),
|
|
|
|
|
|
UNIQUE (word, source_type, source_id, stat_date) -- 同一天同一来源的词唯一
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
DROP TABLE IF EXISTS workcase.tb_word_cloud CASCADE;
|
|
|
|
|
|
CREATE TABLE workcase.tb_word_cloud(
|
|
|
|
|
|
word_id VARCHAR(50) NOT NULL, -- 词条ID
|
|
|
|
|
|
word VARCHAR(100) NOT NULL, -- 词语
|
|
|
|
|
|
frequency INTEGER NOT NULL DEFAULT 1, -- 词频
|
|
|
|
|
|
category VARCHAR(50) DEFAULT NULL, -- 分类:fault-故障类型 device-设备 emotion-情绪词
|
|
|
|
|
|
stat_date DATE NOT NULL, -- 统计日期(按天聚合)
|
|
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
PRIMARY KEY (word_id),
|
|
|
|
|
|
UNIQUE (word, category, stat_date) -- 同一天同一分类的词唯一
|
2025-12-16 13:31:21 +08:00
|
|
|
|
);
|