# 用户使用流程图 — DAN专注力测评
```mermaid
flowchart TD
%% ============ 颜色定义 ============
classDef actor fill:#e1f5fe,stroke:#0288d1,stroke-width:2px
classDef action fill:#fff3e0,stroke:#f57c00,stroke-width:1px
classDef system fill:#e8f5e9,stroke:#388e3c,stroke-width:1px
classDef decision fill:#fce4ec,stroke:#d32f2f,stroke-width:1px
classDef role fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px
subgraph 注册与准备
P1(("家长
开始")) --> P2[微信授权登录]
P2 --> P3[创建/加入家庭]
P3 --> P4[添加孩子为家庭成员]
end
subgraph 选购套餐与下单
P4 --> S1[浏览测评套餐/材料
POST /material/list]
S1 --> S2[选择成长规划师
浏览规划师列表]
S2 --> S3{是否首次测评?}
S3 -->|是| S4[填写孩子信息快照
身高/体重/学校等]
S3 -->|否| S5[选择已有孩子档案]
S4 --> S6[创建订单含预约信息
POST /order/create]
S5 --> S6
S6 --> S7[选择支付方式
POST /order/pay]
S7 --> S8[支付完成
订单状态: paid]
end
subgraph 预约与执行
S8 --> A1[系统创建预约记录
POST /appointment/create]
A1 --> A2[规划师确认预约
POST /appointment/confirm]
A2 --> A3[家长与孩子赴约
线下/线上测评]
A3 --> A4[规划师完成测评执行
POST /appointment/complete]
end
subgraph 结果录入与上传
A4 --> R1{报告来源?}
R1 -->|系统执行端录入| R2[规划师录入测评结果
POST /result/record]
R1 -->|PDF报告上传| R3[上传DAN PDF报告
POST /dan-assessment/report/parse-preview]
R3 --> R4[AI解析PDF
Phase 1 /parse-preview]
R4 --> R5[家长预览解析结果
编辑/确认]
R5 --> R6[确认入库
Phase 2 /confirm]
R6 --> R7[独立化流程:
/api/dan-report/confirm]
R7 --> R8[完成分析
/complete-analysis]
R2 --> R9[测评结果写入
DanAssessmentResult]
R8 --> R9
end
subgraph 测评报告与AI解读
R9 --> V1[家长查看测评报告]
V1 --> V2{是否需要
AI解读?}
V2 -->|是| V3[AI聊天解读
POST /api/ai/chat/send
传入 reportId]
V3 --> V4[AI分析各维度得分
注意力/记忆力/逻辑等]
V4 --> V5[AI生成个性化建议
训练方案/改善计划]
V5 --> V6[家长查看AI解读结果]
V2 -->|否| M1
end
subgraph 专业身份介入
V6 --> M1{是否需要
深度服务?}
M1 -->|全方位跟进| M2[管家介入]
M1 -->|成长规划| M3[规划师深度介入]
M1 -->|自行训练| M4[查看成长档案]
M2 --> M2a[申请管家服务]
M2a --> M2b[管家审核建档]
M2b --> M2c[管家协调规划师+营养师]
M2c --> M2d[定期跟踪测评进展]
M2d --> M4
M3 --> M3a[规划师分析测评报告]
M3a --> M3b[规划师制定成长任务]
M3b --> M3c[孩子执行任务
含小游戏训练]
M3c --> M3d[规划师审核任务]
M3d --> M3e[调整下一阶段方案]
M3e --> M4
end
subgraph 成长档案追踪
M4 --> T1[测评结果进入成长档案
GrowthRecordController]
T1 --> T2[系统生成五维能量变化]
T2 --> T3[家长查看成长趋势]
T3 --> T4{是否需要
下一轮测评?}
T4 -->|是| S1
T4 -->|否| T5[结束]
end
%% ============ 角色标注 ============
RP1(("👤 家长")):::actor
RC(("👶 孩子")):::actor
RT(("📋 成长规划师")):::role
RA(("🤖 AI教练")):::role
RB(("🏠 管家")):::role
P4 -.- RC
S2 -.- RT
A2 -.- RT
A4 -.- RT
V3 -.- RA
M2 -.- RB
M3 -.- RT
```
## 角色说明
| 角色 | 系统映射 | 职责 |
|:----|:---------|:-----|
| **家长** | `role=parent` | 发起测评、选购套餐、下单支付、查看报告、选择服务 |
| **孩子** | `role=child` | 接受测评、执行训练任务 |
| **成长规划师** | `role=teacher` | 确认预约、执行测评、录入结果、制定改善任务、审核跟踪 |
| **AI教练** | `AIChatController` + Dify + DAN知识库 | 自动解析PDF报告、解读维度得分、生成建议与训练方案 |
| **管家** | `ButlerService` / `butler` role | 全程服务协调,对接规划师/营养师等资源 |
| **管理员** | `role=admin` | 测评材料管理、套餐配置、审核管理(后台) |
---
## 文件保存位置
- **身体健康检测流程图**: `docs/flows/health-detection-flow.md`
- **DAN测评流程图**: `docs/flows/dan-assessment-flow.md`
> 使用支持 Mermaid 的 Markdown 渲染器(如 GitHub、VS Code 插件)查看流程图。两张图分别覆盖了完整的用户旅程和所有角色交互节点。