2025-12-02 13:21:18 +08:00
|
|
|
|
-- =============================
|
|
|
|
|
|
-- 智能客服系统业务模块
|
|
|
|
|
|
-- 支持:微信小程序客户咨询、智能问答、工单管理、CRM集成
|
|
|
|
|
|
-- =============================
|
|
|
|
|
|
CREATE SCHEMA IF NOT EXISTS customer_service;
|
|
|
|
|
|
|
|
|
|
|
|
-- 客户信息表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_customer CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_customer (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
customer_id VARCHAR(50) NOT NULL, -- 客户ID
|
|
|
|
|
|
customer_no VARCHAR(100), -- 客户编号
|
|
|
|
|
|
customer_name VARCHAR(255), -- 客户姓名
|
|
|
|
|
|
customer_type VARCHAR(30) DEFAULT 'individual', -- 客户类型:individual-个人/enterprise-企业
|
|
|
|
|
|
company_name VARCHAR(255), -- 公司名称
|
|
|
|
|
|
phone VARCHAR(20), -- 电话
|
|
|
|
|
|
email VARCHAR(100), -- 邮箱
|
|
|
|
|
|
wechat_openid VARCHAR(100), -- 微信OpenID
|
|
|
|
|
|
wechat_unionid VARCHAR(100), -- 微信UnionID
|
|
|
|
|
|
avatar VARCHAR(500), -- 头像URL
|
|
|
|
|
|
gender INTEGER DEFAULT 0, -- 性别:0-未知/1-男/2-女
|
|
|
|
|
|
address VARCHAR(500), -- 地址
|
|
|
|
|
|
customer_level VARCHAR(20) DEFAULT 'normal', -- 客户等级:vip/important/normal/potential
|
|
|
|
|
|
customer_source VARCHAR(50), -- 客户来源:wechat-微信/web-网站/phone-电话/referral-推荐
|
|
|
|
|
|
tags TEXT[], -- 客户标签数组
|
|
|
|
|
|
notes TEXT, -- 备注
|
|
|
|
|
|
crm_customer_id VARCHAR(50), -- CRM系统客户ID(外部系统)
|
2025-12-02 13:36:09 +08:00
|
|
|
|
last_contact_time TIMESTAMPTZ, -- 最后联系时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
total_consultations INTEGER DEFAULT 0, -- 咨询总次数
|
|
|
|
|
|
total_orders INTEGER DEFAULT 0, -- 订单总数
|
|
|
|
|
|
total_amount DECIMAL(18,2) DEFAULT 0, -- 总消费金额
|
|
|
|
|
|
satisfaction_score DECIMAL(3,2), -- 满意度评分(1-5)
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
|
|
|
|
|
status VARCHAR(20) DEFAULT 'active', -- 状态:active-活跃/inactive-非活跃/blacklist-黑名单
|
|
|
|
|
|
creator VARCHAR(50) DEFAULT NULL, -- 创建者
|
|
|
|
|
|
updater VARCHAR(50) DEFAULT NULL, -- 更新者
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (customer_id),
|
|
|
|
|
|
UNIQUE (optsn),
|
|
|
|
|
|
UNIQUE (wechat_openid),
|
|
|
|
|
|
UNIQUE (phone),
|
|
|
|
|
|
UNIQUE (email)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_customer_type ON customer_service.tb_customer(customer_type) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_customer_level ON customer_service.tb_customer(customer_level) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_customer_wechat ON customer_service.tb_customer(wechat_openid) WHERE deleted = false;
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_customer IS '客户信息表';
|
|
|
|
|
|
COMMENT ON COLUMN customer_service.tb_customer.customer_level IS '客户等级:vip/important/normal/potential';
|
|
|
|
|
|
|
|
|
|
|
|
-- 会话表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_conversation CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_conversation (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
conversation_id VARCHAR(50) NOT NULL, -- 会话ID
|
|
|
|
|
|
customer_id VARCHAR(50) NOT NULL, -- 客户ID
|
|
|
|
|
|
conversation_type VARCHAR(30) DEFAULT 'ai', -- 会话类型:ai-AI客服/human-人工客服/transfer-转接
|
|
|
|
|
|
channel VARCHAR(20) DEFAULT 'wechat', -- 渠道:wechat-微信/web-网页/app-应用/phone-电话
|
|
|
|
|
|
agent_id VARCHAR(50), -- 智能体ID或客服人员ID
|
|
|
|
|
|
agent_type VARCHAR(20) DEFAULT 'ai', -- 座席类型:ai-AI/human-人工
|
2025-12-02 13:36:09 +08:00
|
|
|
|
session_start_time TIMESTAMPTZ DEFAULT now(), -- 会话开始时间
|
|
|
|
|
|
session_end_time TIMESTAMPTZ, -- 会话结束时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
duration_seconds INTEGER, -- 会话时长(秒)
|
|
|
|
|
|
message_count INTEGER DEFAULT 0, -- 消息数量
|
|
|
|
|
|
conversation_status VARCHAR(20) DEFAULT 'active', -- 会话状态:active-进行中/closed-已结束/transferred-已转接/timeout-超时
|
|
|
|
|
|
satisfaction_rating INTEGER, -- 满意度评分(1-5星)
|
|
|
|
|
|
satisfaction_feedback TEXT, -- 满意度反馈
|
|
|
|
|
|
summary TEXT, -- 会话摘要(AI生成)
|
|
|
|
|
|
tags TEXT[], -- 会话标签
|
|
|
|
|
|
metadata JSONB, -- 会话元数据
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
|
|
|
|
|
creator VARCHAR(50) DEFAULT NULL, -- 创建者
|
|
|
|
|
|
updater VARCHAR(50) DEFAULT NULL, -- 更新者
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (conversation_id),
|
|
|
|
|
|
UNIQUE (optsn),
|
|
|
|
|
|
FOREIGN KEY (customer_id) REFERENCES customer_service.tb_customer(customer_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_conv_customer ON customer_service.tb_conversation(customer_id, session_start_time DESC) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_conv_status ON customer_service.tb_conversation(conversation_status) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_conv_agent ON customer_service.tb_conversation(agent_id) WHERE deleted = false;
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_conversation IS '会话表';
|
|
|
|
|
|
COMMENT ON COLUMN customer_service.tb_conversation.conversation_type IS '会话类型:ai/human/transfer';
|
|
|
|
|
|
|
|
|
|
|
|
-- 会话消息表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_conversation_message CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_conversation_message (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
message_id VARCHAR(50) NOT NULL, -- 消息ID
|
|
|
|
|
|
conversation_id VARCHAR(50) NOT NULL, -- 所属会话ID
|
|
|
|
|
|
sender_type VARCHAR(20) NOT NULL, -- 发送者类型:customer-客户/agent-座席/system-系统
|
|
|
|
|
|
sender_id VARCHAR(50), -- 发送者ID
|
|
|
|
|
|
message_type VARCHAR(30) NOT NULL DEFAULT 'text',-- 消息类型:text-文本/image-图片/voice-语音/video-视频/file-文件/card-卡片
|
|
|
|
|
|
content TEXT, -- 消息内容
|
|
|
|
|
|
content_url VARCHAR(500), -- 内容URL(图片、文件等)
|
|
|
|
|
|
is_ai_generated BOOLEAN DEFAULT false, -- 是否AI生成
|
|
|
|
|
|
ai_model VARCHAR(100), -- 使用的AI模型
|
|
|
|
|
|
kb_references VARCHAR(50)[], -- 引用的知识库文档ID数组
|
|
|
|
|
|
confidence_score DECIMAL(5,4), -- AI回答置信度
|
|
|
|
|
|
sentiment VARCHAR(20), -- 情感分析:positive-正面/neutral-中性/negative-负面
|
|
|
|
|
|
intent VARCHAR(100), -- 意图识别结果
|
|
|
|
|
|
is_sensitive BOOLEAN DEFAULT false, -- 是否敏感信息
|
|
|
|
|
|
read_status BOOLEAN DEFAULT false, -- 已读状态
|
2025-12-02 13:36:09 +08:00
|
|
|
|
read_time TIMESTAMPTZ, -- 阅读时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
metadata JSONB, -- 消息元数据
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间(发送时间)
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (message_id),
|
|
|
|
|
|
UNIQUE (optsn),
|
|
|
|
|
|
FOREIGN KEY (conversation_id) REFERENCES customer_service.tb_conversation(conversation_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_msg_conversation ON customer_service.tb_conversation_message(conversation_id, create_time) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_msg_sender ON customer_service.tb_conversation_message(sender_id) WHERE deleted = false;
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_conversation_message IS '会话消息表';
|
|
|
|
|
|
COMMENT ON COLUMN customer_service.tb_conversation_message.sentiment IS '情感分析:positive/neutral/negative';
|
|
|
|
|
|
|
|
|
|
|
|
-- 工单表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_ticket CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_ticket (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
ticket_id VARCHAR(50) NOT NULL, -- 工单ID
|
|
|
|
|
|
ticket_no VARCHAR(100) NOT NULL, -- 工单编号
|
|
|
|
|
|
customer_id VARCHAR(50) NOT NULL, -- 客户ID
|
|
|
|
|
|
conversation_id VARCHAR(50), -- 关联会话ID
|
|
|
|
|
|
ticket_type VARCHAR(50) NOT NULL, -- 工单类型:consultation-咨询/complaint-投诉/suggestion-建议/repair-维修/installation-安装/other-其他
|
|
|
|
|
|
ticket_category VARCHAR(100), -- 工单分类(具体业务分类)
|
|
|
|
|
|
priority VARCHAR(20) DEFAULT 'normal', -- 优先级:urgent-紧急/high-高/normal-普通/low-低
|
|
|
|
|
|
title VARCHAR(500) NOT NULL, -- 工单标题
|
|
|
|
|
|
description TEXT NOT NULL, -- 问题描述
|
|
|
|
|
|
attachments VARCHAR(50)[], -- 附件ID数组
|
|
|
|
|
|
ticket_source VARCHAR(30) DEFAULT 'ai', -- 工单来源:ai-AI生成/manual-人工创建/system-系统自动
|
|
|
|
|
|
assigned_to VARCHAR(50), -- 分配给(处理人)
|
|
|
|
|
|
assigned_dept VARCHAR(50), -- 分配部门
|
|
|
|
|
|
ticket_status VARCHAR(30) DEFAULT 'pending', -- 工单状态:pending-待处理/processing-处理中/resolved-已解决/closed-已关闭/cancelled-已取消
|
|
|
|
|
|
resolution TEXT, -- 解决方案
|
2025-12-02 13:36:09 +08:00
|
|
|
|
resolution_time TIMESTAMPTZ, -- 解决时间
|
|
|
|
|
|
close_time TIMESTAMPTZ, -- 关闭时间
|
|
|
|
|
|
response_time TIMESTAMPTZ, -- 首次响应时间
|
|
|
|
|
|
sla_deadline TIMESTAMPTZ, -- SLA截止时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
is_overdue BOOLEAN DEFAULT false, -- 是否逾期
|
|
|
|
|
|
customer_rating INTEGER, -- 客户评分(1-5星)
|
|
|
|
|
|
customer_feedback TEXT, -- 客户反馈
|
|
|
|
|
|
crm_ticket_id VARCHAR(50), -- CRM系统工单ID(外部系统)
|
|
|
|
|
|
sync_status VARCHAR(20) DEFAULT 'pending', -- 同步状态:pending-待同步/synced-已同步/failed-失败
|
|
|
|
|
|
tags TEXT[], -- 工单标签
|
|
|
|
|
|
metadata JSONB, -- 工单元数据
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
|
|
|
|
|
creator VARCHAR(50) DEFAULT NULL, -- 创建者
|
|
|
|
|
|
updater VARCHAR(50) DEFAULT NULL, -- 更新者
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (ticket_id),
|
|
|
|
|
|
UNIQUE (optsn),
|
|
|
|
|
|
UNIQUE (ticket_no),
|
|
|
|
|
|
FOREIGN KEY (customer_id) REFERENCES customer_service.tb_customer(customer_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_ticket_customer ON customer_service.tb_ticket(customer_id) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_ticket_status ON customer_service.tb_ticket(ticket_status) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_ticket_assigned ON customer_service.tb_ticket(assigned_to) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_ticket_priority ON customer_service.tb_ticket(priority) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_ticket_sla ON customer_service.tb_ticket(sla_deadline) WHERE deleted = false AND is_overdue = false;
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_ticket IS '工单表';
|
|
|
|
|
|
COMMENT ON COLUMN customer_service.tb_ticket.ticket_type IS '工单类型:consultation/complaint/suggestion/repair/installation/other';
|
|
|
|
|
|
|
|
|
|
|
|
-- 工单处理记录表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_ticket_log CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_ticket_log (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
log_id VARCHAR(50) NOT NULL, -- 日志ID
|
|
|
|
|
|
ticket_id VARCHAR(50) NOT NULL, -- 工单ID
|
|
|
|
|
|
action_type VARCHAR(50) NOT NULL, -- 操作类型:create-创建/assign-分配/update-更新/comment-评论/resolve-解决/close-关闭/reopen-重开
|
|
|
|
|
|
action_content TEXT, -- 操作内容
|
|
|
|
|
|
old_value TEXT, -- 旧值
|
|
|
|
|
|
new_value TEXT, -- 新值
|
|
|
|
|
|
operator_id VARCHAR(50), -- 操作人ID
|
|
|
|
|
|
operator_name VARCHAR(100), -- 操作人姓名
|
|
|
|
|
|
attachments VARCHAR(50)[], -- 附件ID数组
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
PRIMARY KEY (log_id),
|
|
|
|
|
|
UNIQUE (optsn),
|
|
|
|
|
|
FOREIGN KEY (ticket_id) REFERENCES customer_service.tb_ticket(ticket_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_ticket_log_ticket ON customer_service.tb_ticket_log(ticket_id, create_time DESC);
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_ticket_log IS '工单处理记录表';
|
|
|
|
|
|
|
|
|
|
|
|
-- FAQ表(常见问题)
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_faq CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_faq (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
faq_id VARCHAR(50) NOT NULL, -- FAQ ID
|
2025-12-02 14:59:34 +08:00
|
|
|
|
knowledge_id VARCHAR(50), -- 关联知识库ID
|
2025-12-02 13:21:18 +08:00
|
|
|
|
category VARCHAR(100) NOT NULL, -- 分类
|
|
|
|
|
|
question TEXT NOT NULL, -- 问题
|
|
|
|
|
|
answer TEXT NOT NULL, -- 答案
|
|
|
|
|
|
similar_questions TEXT[], -- 相似问题数组
|
|
|
|
|
|
keywords TEXT[], -- 关键词数组
|
|
|
|
|
|
hit_count INTEGER DEFAULT 0, -- 命中次数
|
|
|
|
|
|
helpful_count INTEGER DEFAULT 0, -- 有帮助次数
|
|
|
|
|
|
unhelpful_count INTEGER DEFAULT 0, -- 无帮助次数
|
|
|
|
|
|
is_published BOOLEAN DEFAULT false, -- 是否发布
|
|
|
|
|
|
priority INTEGER DEFAULT 0, -- 优先级
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
|
|
|
|
|
creator VARCHAR(50) DEFAULT NULL, -- 创建者
|
|
|
|
|
|
updater VARCHAR(50) DEFAULT NULL, -- 更新者
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (faq_id),
|
|
|
|
|
|
UNIQUE (optsn)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_faq_category ON customer_service.tb_faq(category) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_faq_published ON customer_service.tb_faq(is_published) WHERE deleted = false AND is_published = true;
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_faq IS 'FAQ常见问题表';
|
|
|
|
|
|
|
|
|
|
|
|
-- 客服评价表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_service_evaluation CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_service_evaluation (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
evaluation_id VARCHAR(50) NOT NULL, -- 评价ID
|
|
|
|
|
|
customer_id VARCHAR(50) NOT NULL, -- 客户ID
|
|
|
|
|
|
conversation_id VARCHAR(50), -- 会话ID
|
|
|
|
|
|
ticket_id VARCHAR(50), -- 工单ID
|
|
|
|
|
|
evaluation_type VARCHAR(30) NOT NULL, -- 评价类型:conversation-会话/ticket-工单/overall-整体服务
|
|
|
|
|
|
rating INTEGER NOT NULL, -- 评分(1-5星)
|
|
|
|
|
|
dimensions JSONB, -- 分维度评分(JSON格式:响应速度、专业性、态度等)
|
|
|
|
|
|
feedback TEXT, -- 评价反馈
|
|
|
|
|
|
tags TEXT[], -- 评价标签
|
|
|
|
|
|
is_anonymous BOOLEAN DEFAULT false, -- 是否匿名
|
|
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (evaluation_id),
|
|
|
|
|
|
UNIQUE (optsn),
|
|
|
|
|
|
FOREIGN KEY (customer_id) REFERENCES customer_service.tb_customer(customer_id)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
CREATE INDEX idx_eval_customer ON customer_service.tb_service_evaluation(customer_id) WHERE deleted = false;
|
|
|
|
|
|
CREATE INDEX idx_eval_rating ON customer_service.tb_service_evaluation(rating) WHERE deleted = false;
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_service_evaluation IS '客服评价表';
|
|
|
|
|
|
|
|
|
|
|
|
-- CRM集成配置表
|
|
|
|
|
|
DROP TABLE IF EXISTS customer_service.tb_crm_config CASCADE;
|
|
|
|
|
|
CREATE TABLE customer_service.tb_crm_config (
|
|
|
|
|
|
optsn VARCHAR(50) NOT NULL, -- 流水号
|
|
|
|
|
|
config_id VARCHAR(50) NOT NULL, -- 配置ID
|
|
|
|
|
|
crm_system VARCHAR(50) NOT NULL, -- CRM系统名称
|
|
|
|
|
|
api_endpoint VARCHAR(500) NOT NULL, -- API端点
|
|
|
|
|
|
api_key VARCHAR(500), -- API密钥(加密存储)
|
|
|
|
|
|
auth_type VARCHAR(30) DEFAULT 'api_key', -- 认证类型:api_key/oauth2/basic_auth
|
|
|
|
|
|
sync_interval INTEGER DEFAULT 3600, -- 同步间隔(秒)
|
|
|
|
|
|
sync_direction VARCHAR(30) DEFAULT 'bidirectional',-- 同步方向:to_crm-单向到CRM/from_crm-单向从CRM/bidirectional-双向
|
|
|
|
|
|
field_mapping JSONB, -- 字段映射配置
|
|
|
|
|
|
sync_enabled BOOLEAN DEFAULT false, -- 是否启用同步
|
2025-12-02 13:36:09 +08:00
|
|
|
|
last_sync_time TIMESTAMPTZ, -- 最后同步时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
dept_path VARCHAR(255) DEFAULT NULL, -- 部门全路径
|
|
|
|
|
|
creator VARCHAR(50) DEFAULT NULL, -- 创建者
|
|
|
|
|
|
updater VARCHAR(50) DEFAULT NULL, -- 更新者
|
2025-12-02 13:36:09 +08:00
|
|
|
|
create_time TIMESTAMPTZ NOT NULL DEFAULT now(), -- 创建时间
|
|
|
|
|
|
update_time TIMESTAMPTZ DEFAULT NULL, -- 更新时间
|
|
|
|
|
|
delete_time TIMESTAMPTZ DEFAULT NULL, -- 删除时间
|
2025-12-02 13:21:18 +08:00
|
|
|
|
deleted BOOLEAN NOT NULL DEFAULT false, -- 是否删除
|
|
|
|
|
|
PRIMARY KEY (config_id),
|
|
|
|
|
|
UNIQUE (optsn)
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
COMMENT ON TABLE customer_service.tb_crm_config IS 'CRM集成配置表';
|