55 lines
3.2 KiB
Markdown
55 lines
3.2 KiB
Markdown
# Phase 1 FollowUpTask 与真实再次预约交付证据
|
||
|
||
> 日期:2026-08-02
|
||
> 范围:Backend + Admin + Docs/Ontology
|
||
> 状态:Code Complete / Local Gates Passed / Production Not Migrated
|
||
|
||
## 1. 交付结果
|
||
|
||
- `ReportLead` 收口为宠主同意与来源事实;新增 `FollowUpTask` 作为门店可执行回访对象。
|
||
- 状态机支持领取、未接通/稍后联系改期、无意向/无效联系方式关闭,以及退订取消。
|
||
- Admin `/leads` 已切换为任务池;同店员工可实际联系、读取真实号源并代客创建预约。
|
||
- `rebooked` 只由真实 Appointment 保存成功触发;容量、客户归属或状态校验失败时不闭环。
|
||
- 工作台到期回访改读 FollowUpTask;报告漏斗的回访后预约改读 `rebook_created`。
|
||
- 客户事实时间线新增回访创建/领取/改期/完成/取消/再次预约的低敏投影。
|
||
|
||
## 2. 自动化证据
|
||
|
||
| Gate | 结果 |
|
||
|------|------|
|
||
| Backend full test | PASS:217 tests,0 failures,0 errors,0 skipped |
|
||
| Admin production build | PASS:Vue type-check + Vite,1671 modules transformed |
|
||
| Ontology validation | PASS:290 entries,引用完整 |
|
||
| Endpoint drift | PASS:70/70 HTTP,code-only=0,ontology-only=0 |
|
||
| Entity drift | PASS:16/16 JPA,missing=0,extra=0 |
|
||
| Diff whitespace | PASS:backend/admin/docs `git diff --check` |
|
||
|
||
关键新增覆盖:`FollowUpTaskMigrationTest`、`FollowUpTaskServiceTest`、`AdminFollowUpTaskControllerTest`,以及 Appointment/BusinessEvent/Workbench/Timeline 的回归用例。反例包含跨店 404、他人领取冲突、未领取关闭拒绝、退订不虚增联系次数、跨店预约拒绝、容量不足不触碰任务。
|
||
|
||
## 3. Data Model Review
|
||
|
||
结论:PASS(代码与迁移层面)。
|
||
|
||
- `t_follow_up_task` 使用随机 `task_id` 对外、自增 ID 内部关联、`@Version` 与悲观锁处理竞争。
|
||
- 生产迁移只回填可靠的历史 `pending` 留资;不猜测其他历史结果。
|
||
- 31 项生产只读预检中新增五项,覆盖客户 canonical 范围、状态/领取/回执、开放唯一性、真实 Appointment 与 BusinessEvent 引用。
|
||
- 迁移为向前兼容新增表;常规应用回滚不得删除表或覆盖已产生任务/事件。
|
||
|
||
## 4. Privacy Review
|
||
|
||
结论:PASS(静态契约与自动化层面)。
|
||
|
||
- 完整手机号仅在本店已认证 boss/staff 的开放回访任务中返回,目的限定为实际联系;终态任务只返回脱敏手机号。
|
||
- Workbench、CustomerTimeline、BusinessEvent、AuditLog 不保存或返回完整手机号。
|
||
- 事件 metadata 白名单不含手机号、token、openid/unionid、IP、备注、媒体 URL 或原始请求。
|
||
- 跨店任务使用 404,降低可枚举性;customer 无任务接口权限。
|
||
|
||
## 5. 尚未完成的外部证据
|
||
|
||
- 未在生产或真实试点库执行第八个迁移 `20260802_create_follow_up_task.sql`。
|
||
- 未以最终 production 环境运行 schema validate + 31 项只读预检。
|
||
- 未完成 boss/staff/customer 三角色真实环境 smoke,尤其是双员工抢领、退订与无号源再次预约。
|
||
- 未在 3~5 家试点门店验证任务领取习惯、接通率、再次预约率和约 200 单完整服务样本。
|
||
|
||
上述项目进入试点 RC 门禁,不因本地自动化通过而标记为上线完成。
|