投诉处理系统设计任务
任务目标是设计一个用于管理交易失败的投诉处理系统。核心功能包括:
用户功能
客户可以针对失败或挂起的交易提交投诉,提供以下信息:
- 交易 ID(transactionId)
- 问题类型(issueType)
- 标题(subject)
- 描述(description)
- 邮箱(email)
客服功能
客服人员(Customer Service Agents):
- 每次只能处理一个问题。
- 可通过问题 ID 或客户邮箱搜索问题。
- 可以解决问题并接收新问题。
管理员功能
管理员(Admins):
- 可以根据特定擅长的问题类型添加客服人员。
- 可以查看客服人员的历史工作记录。
系统需求
- 根据分配策略,将问题分配给空闲客服。
- 支持问题的跟踪与筛选。
- 保留问题的处理记录。
实现要求(API 接口)
createIssue(transactionId, issueType, subject, description, email)
// 创建新的投诉问题
addAgent(agentEmail, agentName, List<issueType>)
// 添加客服人员及其擅长的问题类型
assignIssue(issueId)
// 分配问题给空闲客服。当前策略是随机选择任意一位空闲客服。
getIssues(filter)
// 根据筛选条件获取问题列表,例如:getIssue({"email": "testUser2@test.com"});
updateIssue(issueId, status, resolution)
// 更新问题状态和解决方案
resolveIssue(issueId, resolution)
// 直接解决问题并记录解决方案
viewAgentsWorkHistory()
// 查看客服人员处理过的问题历史记录