现场问题结构化上报系统 - 让初级工程师2分钟内完成问题提交,让高级工程师不依赖电话追问即可远程定位
本系统旨在建立统一的售后服务管理平台,实现客户问题的快速反馈、追踪、解决,降低客服重复工作,提高服务效率,积累技术知识,形成知识资产。
- 现场端:让初级工程师/助理/客服在现场用手机 2分钟内 完成问题提交(结构化事实 + 证据 + 版本信息)
- 公司端:让高级工程师 不依赖电话追问 即可远程定位,并下发版本化解决方案
- 全链路可追溯:问题包 → 判断卡 → 解决方案 → 版本下发 → 现场验证 → 客户沟通记录
| 模块 | 状态 | 说明 |
|---|---|---|
| 后端 API | ✅ 构建成功 | Infrastructure 项目 0 错误 |
| Web 管理端 | ✅ 构建成功 | 前端编译通过 |
| 移动端 | 🔄 开发中 | Flutter App |
| 数据库 | ✅ 运行中 | PostgreSQL 16 |
| 缓存 | ✅ 运行中 | Redis 7 |
| 对象存储 | ✅ 运行中 | MinIO |
最后更新: 2025-12-25
成功修复后端 85 个编译错误,项目现可正常构建:
- ✅ 类型转换问题修复(15+ 处)
- ✅ 实体属性访问修正(20+ 处)
- ✅ DTO 属性扩展
- ✅ MinIO SDK 升级(4.0.0 → 6.0.3)
- ✅ 前端图标兼容性修复
详情查看 CHANGELOG.md
| 层级 | 技术选型 | 说明 |
|---|---|---|
| 移动端 | Flutter 3.x | 一套代码双端,支持离线 |
| Web管理端 | React 18 + Ant Design 5 | 或 Vue3 + Element Plus |
| 后端API | .NET 8 + ASP.NET Core Minimal API | RESTful |
| ORM | EF Core 8 | Code First |
| 数据库 | PostgreSQL 16 | JSON 字段支持 |
| 缓存 | Redis 7 | 幂等性、Session |
| 对象存储 | MinIO | 附件存储 |
| 容器化 | Docker Compose | 一键部署 |
┌─────────────────────────────────────────────────────────────┐
│ 客服系统前端界面 │
│ (Flutter App / React Web) │
└──────────────────┬──────────────────────────────────────────┘
│
┌──────────────────┴──────────────────────────────────────────┐
│ 核心业务模块层 │
├──────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ ┌──────────┐│
│ │客户信息模块 │ │问题管理模块 │ │判断卡模块 │ │解决方案 ││
│ │ │ │ │ │ │ │ ││
│ │ - 客户档案 │ │ - 工单创建 │ │ - 判断卡库 │ │ - SOL ││
│ │ - 设备清单 │ │ - 分诊追踪 │ │ - 推荐算法 │ │ - 验证 ││
│ │ - 版本管理 │ │ - 追问机制 │ │ - 版本管理 │ │ - 发布 ││
│ └─────────────┘ └─────────────┘ └──────────────┘ └──────────┘│
└──────────────────────────────────────────────────────────────┘
│
┌──────────────────┴──────────────────────────────────────────┐
│ 数据与分析层 │
├──────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌──────────────┐ ┌──────────────────┐ │
│ │数据存储 │ │数据分析 │ │报表展示 │ │
│ │(PostgreSQL)│ │(指标计算) │ │(仪表板) │ │
│ └─────────────┘ └──────────────┘ └──────────────────┘ │
└──────────────────────────────────────────────────────────────┘
field-ticket-system/
├── docker-compose.yml # Docker Compose 配置
├── .env.example # 环境变量模板
├── README.md # 项目说明
│
├── backend/ # .NET 8 API
│ ├── src/
│ │ ├── FieldTicket.Api/ # API层
│ │ ├── FieldTicket.Core/ # 领域模型
│ │ ├── FieldTicket.Infrastructure/ # 数据访问、外部服务
│ │ └── FieldTicket.Shared/ # 共享模型
│ ├── tests/
│ └── Dockerfile
│
├── web-admin/ # React管理端
│ ├── src/
│ │ ├── pages/
│ │ ├── components/
│ │ ├── services/
│ │ └── stores/
│ └── Dockerfile
│
├── mobile-app/ # Flutter App
│ ├── lib/
│ │ ├── pages/
│ │ ├── widgets/
│ │ ├── services/
│ │ ├── models/
│ │ └── providers/
│ └── pubspec.yaml
│
└── docs/ # 文档
├── api-spec.yaml # OpenAPI规范
├── database-erd.png # ER图
└── test-cases.md # 测试用例
- Docker & Docker Compose
- .NET 8 SDK (本地开发)
- Node.js 18+ (本地开发)
- Flutter 3.x (移动端开发)
# 1. 复制环境变量文件
cp env.example .env
# 2. 配置环境变量(企业微信、数据库等)
# 必须配置:POSTGRES_PASSWORD, JWT_SECRET, WECOM_CORP_ID, WECOM_AGENT_ID, WECOM_SECRET
vim .env
# 3. 验证配置(可选)
./scripts/verify-docker-compose.sh
# 4. 启动所有服务
docker-compose up -d
# 5. 查看服务状态
docker-compose ps
# 6. 查看日志
docker-compose logs -f
# 7. 访问服务
# - Web管理端: http://localhost:3000
# - API文档: http://localhost:5000/swagger
# - API健康检查: http://localhost:5000/health
# - MinIO控制台: http://localhost:9001 (默认用户名/密码: minioadmin/minioadmin)# 使用开发环境配置(支持热重载)
docker-compose -f docker-compose.yml -f docker-compose.dev.yml up -d# 使用生产环境配置
docker-compose -f docker-compose.yml -f docker-compose.prod.yml up -d📖 详细的部署文档请参考 DOCKER_DEPLOYMENT.md
- 状态流转:Draft → Submitted → Triage → SolutionIssued → Verifying → Closed
- 结构化上报:问题域(A-E) + 步骤 + 版本 + YES/NO事实表(5维度) + 证据附件
- 离线支持:草稿本地存储 + 弱网补传队列
- 规则引擎:按问题域+步骤+关键词+事实特征匹配
- 智能推荐:返回Top 5候选判断卡,显示匹配得分和原因
- 结构化修改内容:类型+位置+修改前+修改后+原因
- 验证清单:类型(action/test/data_collection)+ 验收标准
- 回滚策略:版本号管理
- 预置模板:问题已确认、方案已发布、验证通过
- 变量替换:自动填充客户名称、设备SN、方案编号等
- 断点续传:支持大文件分片上传,网络中断后自动续传
- 进度显示:实时上传进度反馈
| 角色 | 主要职责 |
|---|---|
| FieldEngineer | 现场工程师,创建工单、上传证据、执行验证 |
| CS | 客服,跟进工单状态、催办、客户沟通 |
| SeniorEngineer | 高级工程师,分诊、诊断、发布解决方案 |
| Admin | 管理员,系统配置、用户管理、数据管理 |
- 企业微信 OAuth2:内部应用授权登录
- JWT Token:API认证,有效期7天,支持刷新
| 指标 | 目标值 | 测量方式 |
|---|---|---|
| 工单提交完整率 | ≥ 95% | 提交成功数 / 创建草稿数 |
| 一次定位成功率 | ≥ 60% | 无追问直接出SOL / 总工单数 |
| 平均闭环时间 | 下降 ≥ 30% | (提交→关闭) 对比上线前 |
| 高级工程师现场介入 | 下降 ≥ 40% | 季度口径对比 |
- 认证:企业微信登录 + JWT
- 工单:Draft/Submit + facts_json
- 附件:上传(不做断点,先做重试)
- 分诊:绑定JC、创建SOL
- 通知:提交/SOL发布通知
- 验证:提交验证结果
- 问诊式补全:缺失信息分析
- 部署:Docker Compose一键启动
- 离线:草稿本地存储 + 补传队列
- 附件:分片断点续传
- 推荐:判断卡推荐规则引擎
- 统计:基础看板(闭环时长、Top问题域)
- 通知:追问/验证通知
- 扫码:设备二维码生成 + 扫码预填
- 话术:客户沟通模板
- 搜索:工单全文搜索
- 导出:工单/统计Excel导出
[待定]
[待补充]
项目状态:🚧 开发中
最后更新:2025-12-22