Files
urbanLifeline/urbanLifelineServ/.bin/database/postgres/sql/createTableWorkcase.sql

112 lines
6.3 KiB
MySQL
Raw Normal View History

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, -- 设备代码
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, -- 消息
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) -- 同一天同一分类的词唯一
2025-12-16 13:31:21 +08:00
);