| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| cli | ||
| common | ||
| config | ||
| modules | ||
| openapi | ||
| prisma | ||
| queues | ||
| redis | ||
| types | ||
| app.module.ts | ||
| health.controller.ts | ||
| instrument.ts | ||
| main.ts |
走查:分配完登录客服账号点「退回」,没有任何弹窗 —— 一点就退掉了。 查下来这条教条**此前是零实现**:枚举齐了(8 个 ReleaseReason + needNote)、 API 收得了、releaseReasons 分布报表也写了,但前端唯一的退回入口是 `plansApi.recycle(planId)` —— **一个参数都没传**。于是那张分布表永远拿到 null: 主管只知道"退了 12 条",不知道该改什么,而"派多了 / 时效太紧 / 压根不该派给他" 这三种的下一步动作完全不同(T7 说这张表是主管调整分配策略的输入)。 · 新增 ReleaseReasonDialog:8 个原因,每个**带一句 desc** ——「不是我的客户」和 「该由其他角色跟」光看标题分不出,分不出就会随手点第一个,**假数据比没数据更难发现**。 other 展开必填说明框,不填不给提交。 · 服务端:**分配来的单**(assignment_id 非空)强制要 releaseReason。⚠ ️ 只卡分配来的 —— 自助认领的单没有派单方,原因对谁都没用; **系统自动到期回收不走这条路**(scheduler 直接改库,记 assignment_expired),不会被卡死。⚠ ️ 必填必须服务端拦:只做前端的话,换个客户端(助手/脚本/企微)就绕过去了 (与 other 必填说明、execution 的 inaccurate 必填同一条纪律)。 本地实测(客服「位其蕾」12 条在手):点退回 → 弹窗 → 选「其他原因」出必填框且确认禁用 → 改选「时效太紧」→ 确认 → toast「已退回」、我的 12→10、 followup_plans.release_reason=deadline_too_tight、 plan_event_logs 落 release/deadline_too_tight 且带 held_seconds=2839。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| cli | Loading commit data... | |
| common | Loading commit data... | |
| config | Loading commit data... | |
| modules | Loading commit data... | |
| openapi | Loading commit data... | |
| prisma | Loading commit data... | |
| queues | Loading commit data... | |
| redis | Loading commit data... | |
| types | Loading commit data... | |
| app.module.ts | Loading commit data... | |
| health.controller.ts | Loading commit data... | |
| instrument.ts | Loading commit data... | |
| main.ts | Loading commit data... |