Files
urbanLifeline/urbanLifelineServ/.bin/database/postgres/sql/createTableWorkcase.sql
2025-12-19 11:11:51 +08:00

112 lines
6.3 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

CREATE SCHEMA IF NOT EXISTS workcase;
-- 系统外部人员(来客)管理 用于给系统外人员创建id
DROP TABLE IF EXISTS sys.tb_guest CASCADE;
CREATE TABLE sys.tb_guest(
optsn VARCHAR(50) NOT NULL, -- 流水号
user_id VARCHAR(50) NOT NULL, -- 来客ID
name VARCHAR(50) NOT NULL, -- 姓名
phone VARCHAR(50) DEFAULT NULL, -- 电话
email VARCHAR(50) DEFAULT NULL, -- 邮箱
wechat_id VARCHAR(50) DEFAULT NULL, -- 微信号
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 (user_id),
UNIQUE (wechat_id),
UNIQUE (phone),
UNIQUE (email)
);
-- 客服对话记录客服对话消息包含ai、员工回答和来客提问从ai.tb_chat同步ai对话时的数据
-- 先是ai对话后转人工
-- 工单表
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
chat_id VARCHAR(50) NOT NULL, -- 对话ID
user_id VARCHAR(50) NOT NULL, -- 来客ID
username VARCHAR(200) NOT NULL, -- 来客姓名
phone VARCHAR(20) NOT NULL, -- 来客电话
type VARCHAR(50) NOT NULL, -- 故障类型
device VARCHAR(50) NOT NULL, -- 设备名称
device_code VARCHAR(50) NOT NULL, -- 设备代码
imgs VARCHAR(50)[] DEFAULT '[]', -- 工单图片id
emergency VARCHAR(50) NOT NULL DEFAULT 'normal', -- 紧急程度 normal-普通 emergency-紧急
status VARCHAR(50) NOT NULL DEFAULT 'pending', -- 状态 pending-待处理 processing-处理中 done-已完成
processor VARCHAR(50) DEFAULT NULL, -- 处理人
creator VARCHAR(50) NOT NULL, -- 创建人
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),
UNIQUE (chat_id),
UNIQUE (optsn)
);
-- 工单处理过程表(包含工单流转)
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, -- 消息
files VARCHAR(50)[] DEFAULT '[]', -- 携带文件
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, -- 来源IDchat_id/workcase_idNULL表示全局统计
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) -- 同一天同一分类的词唯一
);