参考 u-desk 项目结构,按编号分类: - 01-设计文档/ (功能设计 + 数据库设计) - 05-代码审查/ (代码审查报告) - 07-项目管理/ (工作报告) - INDEX.md 索引入口
278 lines
9.5 KiB
Markdown
278 lines
9.5 KiB
Markdown
# AI 工单处理工作台 - 功能设计文档
|
||
|
||
> 版本: v1.0 | 日期: 2026-05-13
|
||
|
||
---
|
||
|
||
## 1. 系统概述
|
||
|
||
AI 工单处理工作台帮助客服团队高效处理用户工单。核心流程:**创建工单 → AI 辅助分析 → 人工审核确认 → 状态流转 → 闭环**。
|
||
|
||
**技术栈**:
|
||
- 后端:Go 1.22 + Gin + GORM + MySQL
|
||
- 前端:Vue 3 + Arco Design + Vite + TypeScript + Pinia
|
||
- AI:智谱 GLM-4-Flash
|
||
- 部署:abc.1216.top (Nginx HTTPS 反代)
|
||
|
||
---
|
||
|
||
## 2. 用户角色
|
||
|
||
| 角色 | Code | 职责 |
|
||
|------|------|------|
|
||
| 管理员 | 10 | 全部权限,用户管理,系统配置 |
|
||
| 客服 | 20 | 创建工单,查看工单,触发AI分析,审核确认 |
|
||
| 处理人员 | 30 | 查看分配工单,处理工单,添加备注 |
|
||
|
||
**所属团队**:
|
||
|
||
| 团队 | Code | 处理工单类型 |
|
||
|------|------|-------------|
|
||
| 退款组 | refund | 退款申请 |
|
||
| 技术支持 | tech | 登录异常、账户问题 |
|
||
| 财务组 | finance | 发票问题 |
|
||
| 物流组 | logistics | 物流投诉 |
|
||
| 客服组 | service | 产品咨询、其他 |
|
||
|
||
---
|
||
|
||
## 3. 工单分类
|
||
|
||
| 分类 | Code | 典型场景 |
|
||
|------|------|---------|
|
||
| 退款申请 | refund | 用户要求退款、退货退款、部分退款 |
|
||
| 登录异常 | login | 无法登录、验证码收不到、账号被锁 |
|
||
| 发票问题 | invoice | 发票未开具、发票信息错误、补开发票 |
|
||
| 物流投诉 | logistics | 快递丢失、配送延迟、商品损坏 |
|
||
| 账户问题 | account | 账户被盗、信息修改、注销账户 |
|
||
| 产品咨询 | inquiry | 功能使用、价格咨询、合作洽谈 |
|
||
| 其他 | other | 不属于以上分类的工单 |
|
||
|
||
---
|
||
|
||
## 4. 优先级体系
|
||
|
||
| 优先级 | Code | 含义 | 颜色 | 响应要求 |
|
||
|--------|------|------|------|---------|
|
||
| P0 紧急 | 0 | 系统故障、资金安全、批量投诉 | 🔴 红色 | 15分钟内响应 |
|
||
| P1 高 | 1 | 单个大额退款、VIP客户投诉 | 🟠 橙色 | 1小时内响应 |
|
||
| P2 中 | 2 | 常规退款、发票问题、物流异常 | 🔵 蓝色 | 4小时内响应 |
|
||
| P3 低 | 3 | 产品咨询、建议反馈 | ⚪ 灰色 | 24小时内响应 |
|
||
|
||
---
|
||
|
||
## 5. 工单状态流转
|
||
|
||
```
|
||
┌──────────┐ 触发AI分析 ┌──────────┐ 人工确认 ┌──────────┐ 开始处理 ┌──────────┐ 处理完成 ┌──────────┐
|
||
│ 待处理 │───────────→│ 分析中 │─────────→│ 已确认 │─────────→│ 处理中 │─────────→│ 已关闭 │
|
||
│ (status=0)│ │ (status=1)│ │ (status=2)│ │ (status=3)│ │ (status=4)│
|
||
└──────────┘ └──────────┘ └──────────┘ └──────────┘ └──────────┘
|
||
│ ↑
|
||
└───────────────────── 跳过分析,直接确认 ────────────────────────────┘
|
||
```
|
||
|
||
**状态说明**:
|
||
|
||
| 状态 | Code | 含义 | 可执行操作 |
|
||
|------|------|------|-----------|
|
||
| 待处理 | 0 | 新创建工单,等待分析 | 触发AI分析、直接确认、关闭 |
|
||
| 分析中 | 1 | AI正在分析 | 等待分析完成 |
|
||
| 已确认 | 2 | AI分析结果已确认/人工修改 | 分配处理人、开始处理、添加备注 |
|
||
| 处理中 | 3 | 处理人正在处理 | 添加备注、关闭 |
|
||
| 已关闭 | 4 | 工单处理完成 | 查看详情、重新打开 |
|
||
|
||
---
|
||
|
||
## 6. AI 分析功能
|
||
|
||
### 6.1 分析触发
|
||
- 工单创建后,客服点击「AI 分析」按钮触发
|
||
- 后端调用 GLM-4-Flash API 进行分析
|
||
- 分析期间工单状态变为「分析中」
|
||
|
||
### 6.2 分析结果
|
||
|
||
| 字段 | 说明 | 示例 |
|
||
|------|------|------|
|
||
| category | AI建议分类 | refund |
|
||
| priority | AI建议优先级 | 1 (P1高) |
|
||
| summary | 一句话摘要 | "用户申请订单TK-20260501-003的全额退款" |
|
||
| suggest_role | 建议处理团队 | refund_team |
|
||
|
||
### 6.3 人工审核
|
||
- 客服可查看 AI 分析结果
|
||
- 可修改任意字段(分类、优先级、建议处理角色)
|
||
- 确认后结果写入工单,状态流转为「已确认」
|
||
|
||
### 6.4 GLM Prompt 设计
|
||
|
||
```
|
||
系统提示词:
|
||
你是一个专业的客服工单分析助手。请根据工单内容,返回以下分析结果:
|
||
1. category: 工单分类
|
||
2. priority: 优先级(0=P0紧急, 1=P1高, 2=P2中, 3=P3低)
|
||
3. summary: 一句话摘要,客观描述工单核心诉求
|
||
4. suggest_role: 建议处理团队
|
||
|
||
分类选项:refund(退款申请)、login(登录异常)、invoice(发票问题)、logistics(物流投诉)、account(账户问题)、inquiry(产品咨询)、other(其他)
|
||
处理团队:refund_team(退款组)、tech_support(技术支持)、finance_team(财务组)、logistics_team(物流组)、customer_service(客服组)
|
||
|
||
仅返回JSON,格式:
|
||
{"category":"...","priority":0,"summary":"...","suggest_role":"..."}
|
||
|
||
用户消息:
|
||
工单标题: {title}
|
||
工单内容: {content}
|
||
联系人: {contactname}
|
||
联系电话: {contactphone}
|
||
```
|
||
|
||
---
|
||
|
||
## 7. 功能模块
|
||
|
||
### 7.1 用户管理(简化版)
|
||
|
||
| 功能 | 说明 |
|
||
|------|------|
|
||
| 登录 | 账号 + 密码,返回 session token |
|
||
| 登出 | 清除 token |
|
||
| 获取用户信息 | 根据token获取当前用户 |
|
||
|
||
**初始账号**:admin / admin123 (管理员)
|
||
|
||
### 7.2 工单管理
|
||
|
||
| 功能 | API | 说明 |
|
||
|------|-----|------|
|
||
| 创建工单 | POST /api/tickets | 填写标题、内容、联系人、来源 |
|
||
| 工单列表 | GET /api/tickets | 分页 + 筛选(状态/分类/优先级/关键词) |
|
||
| 工单详情 | GET /api/tickets/:id | 完整信息 + AI分析 + 操作日志 + 备注 |
|
||
| 更新工单 | PUT /api/tickets/:id | 修改基本信息 |
|
||
| 更新状态 | PUT /api/tickets/:id/status | 状态流转 |
|
||
| 触发AI分析 | POST /api/tickets/:id/analyze | 调用GLM返回分析结果 |
|
||
| 获取分析结果 | GET /api/tickets/:id/analysis | 获取AI分析详情 |
|
||
| 确认分析 | PUT /api/tickets/:id/analysis | 修改/确认分析结果 |
|
||
|
||
### 7.3 备注系统
|
||
|
||
| 功能 | API | 说明 |
|
||
|------|-----|------|
|
||
| 获取备注列表 | GET /api/tickets/:id/notes | 工单所有备注 |
|
||
| 添加备注 | POST /api/tickets/:id/notes | 处理人/客服添加备注 |
|
||
|
||
### 7.4 操作日志
|
||
|
||
所有关键操作自动记录,不可修改:
|
||
- 创建工单
|
||
- 触发AI分析
|
||
- 确认分析结果
|
||
- 修改分析结果
|
||
- 状态变更
|
||
- 添加备注
|
||
- 分配处理人
|
||
|
||
---
|
||
|
||
## 8. 页面设计
|
||
|
||
### 8.1 登录页 (`/login`)
|
||
- 居中卡片布局
|
||
- 标题:AI 工单处理工作台
|
||
- 字段:账号、密码
|
||
- 默认填充 admin / admin123
|
||
|
||
### 8.2 主布局
|
||
- 左侧:导航菜单(工单列表、创建工单)
|
||
- 顶部:系统标题 + 用户名 + 登出按钮
|
||
|
||
### 8.3 工单列表 (`/tickets`)
|
||
- 筛选栏:状态/分类/优先级下拉 + 搜索框
|
||
- 数据表格:编号、标题、分类、优先级Tag、状态Tag、联系人、创建时间、操作
|
||
- 分页组件
|
||
|
||
### 8.4 创建工单 (`/tickets/create`)
|
||
- 表单卡片:标题*、内容*、联系人、联系电话、来源
|
||
- 提交后跳转详情页
|
||
|
||
### 8.5 工单详情 (`/tickets/:id`)
|
||
- **基本信息卡片**:标题、内容、联系人、电话、来源、状态
|
||
- **AI 分析卡片**:
|
||
- 未分析:大按钮「触发 AI 分析」
|
||
- 已分析:分类/优先级/摘要/建议角色(可编辑)
|
||
- 确认/修改按钮
|
||
- **操作区**:状态流转按钮、处理人分配
|
||
- **操作日志**:时间线展示
|
||
- **备注区**:备注列表 + 添加备注输入框
|
||
|
||
---
|
||
|
||
## 9. 数据模型
|
||
|
||
### 9.1 ER 关系
|
||
|
||
```
|
||
ticket_user ──1:N──→ ticket_info (submitterid)
|
||
ticket_user ──1:N──→ ticket_info (handlerid)
|
||
ticket_info ──1:N──→ ticket_ai_analysis (ticketid)
|
||
ticket_info ──1:N──→ ticket_operation_log (ticketid)
|
||
ticket_info ──1:N──→ ticket_note (ticketid)
|
||
```
|
||
|
||
### 9.2 表结构
|
||
详见 `DATA-MODEL.md`
|
||
|
||
---
|
||
|
||
## 10. 部署架构
|
||
|
||
```
|
||
用户浏览器
|
||
│
|
||
↓ HTTPS
|
||
abc.1216.top (39.99.243.191)
|
||
│
|
||
├── Nginx :443
|
||
│ ├── / → /opt/ticket-workbench/frontend (Vue SPA)
|
||
│ └── /api/ → localhost:8090 (Go Gin)
|
||
│
|
||
├── Go Gin :8091 (后端服务)
|
||
│
|
||
└── MySQL :3306 / ticket_dev (数据库)
|
||
```
|
||
|
||
**域名**: tk.1216.top → A 记录 → 39.99.243.191
|
||
**SSL**: *.1216.top 通配符证书 (Let's Encrypt)
|
||
|
||
---
|
||
|
||
## 11. 工单来源与发起方
|
||
|
||
### 工单是谁发起的?
|
||
- **当前实现**: 客服人员代为录入。客户通过电话/邮件/网页反馈问题后,客服在工作台创建工单。
|
||
- **工单来源标记**: web(网页)、phone(电话)、email(邮件)
|
||
|
||
### 完整生命周期
|
||
```
|
||
客户反馈(外部) → 客服录入 → AI辅助分析 → 人工审核确认 → 分配处理人 → 处理中 → 关闭
|
||
```
|
||
|
||
### 客户自助提交(计划中)
|
||
> 后续补充:添加无需登录的客户工单提交页面,客户可自助填写工单信息。
|
||
|
||
---
|
||
|
||
## 12. 测试计划
|
||
|
||
| 测试项 | 类型 | 说明 |
|
||
|--------|------|------|
|
||
| 用户登录 | 功能 | 正确/错误密码 |
|
||
| 创建工单 | 功能 | 必填校验、编号生成 |
|
||
| 工单列表 | 功能 | 分页、筛选 |
|
||
| AI 分析 | 功能 | GLM 调用、结果解析 |
|
||
| 人工确认 | 功能 | 修改字段、确认流转 |
|
||
| 状态流转 | 功能 | 顺向流转、越权校验 |
|
||
| 操作日志 | 功能 | 操作记录完整性 |
|
||
| 备注 | 功能 | 添加、展示 |
|