# 用户使用流程图 — 成长规划师体系 > **端口说明**: 📱 小程序 | 🖥 管理后台 | 📋 规划师端 | ⚙️ 系统自动 > > **分层说明**: 🏠 页面 → 🔗 API → ⚙️ Service → 📦 数据实体 ```mermaid flowchart TD %% ============ 颜色定义 ============ classDef page fill:#e3f2fd,stroke:#1565c0,stroke-width:2px classDef api fill:#fff3e0,stroke:#f57c00,stroke-width:1px classDef service fill:#e8f5e9,stroke:#388e3c,stroke-width:1px classDef data fill:#f3e5f5,stroke:#7b1fa2,stroke-width:1px classDef actor fill:#e1f5fe,stroke:#0288d1,stroke-width:2px,stroke-dasharray:5 3 %% ============ 角色 ============ RP(("📋 成长规划师")):::actor RP2(("👤 家长")):::actor RADM(("🔧 管理员")):::actor %% ================================================================ %% 阶段一:入驻与认证 %% ================================================================ subgraph 阶段一[阶段一:入驻与认证] direction TB P1["📋 规划师端:登录页"]:::page P1 -->|"新入驻"| P1a["📋 提交入驻申请"]:::page P1a -->|"目标等级, 套餐ID, 付款凭证"| A1["🔗 POST /api/guide/apply/new"]:::api A1 -->|"userId, targetLevel, packageId"| S1["⚙️ GuideApplicationService.applyNew()"]:::service S1 -->|"写入入驻申请"| D_APP["📦 guide_applications 表"]:::data P1a -->|"升级申请"| A2["🔗 POST /api/guide/apply/upgrade"]:::api A2 -->|"userId, fromLevel, toLevel, paymentProof"| S2["⚙️ GuideApplicationService.applyUpgrade()"]:::service S2 -->|"写入升级申请"| D_APP P1 -->|"已有账号登录"| A3["🔗 POST /api/guide/applications"]:::api A3 -->|"userId"| S3["⚙️ 查询申请状态"]:::service S3 -->|"申请列表"| D_APP D_APP -->|"待审批申请"| A4["🖥 管理员审批申请"]:::api A4 -->|"adminId, 通过/驳回"| S4["⚙️ GuideApplicationService.approve/reject()"]:::service S4 -->|"更新申请状态 + 用户角色"| D_USER["📦 users 表(角色更新)"]:::data S4 -->|"审批记录"| D_REC["📦 guide_application_records 表"]:::data D_USER -->|"已激活规划师"| P1b["📋 规划师端:主页"]:::page P1b -->|"查看我的信息"| A5["🔗 POST /api/guide/my"]:::api A5 -->|"userId"| S5["⚙️ GuideService.getByUserId()"]:::service S5 -->|"规划师信息"| D_GUIDE["📦 guides 表"]:::data P1b -->|"我的申请记录"| A6["🔗 POST /api/guide/applications/my"]:::api A6 -->|"userId"| S6["⚙️ 查询本人申请列表"]:::service end %% ================================================================ %% 阶段二:团队与邀请 %% ================================================================ subgraph 阶段二[阶段二:团队与邀请管理] P1b -->|"团队管理"| P2["📋 规划师端:团队页"]:::page P2 -->|"我的团队"| A7["🔗 POST /api/guide/team/my-team"]:::api A7 -->|"guideId"| S7["⚙️ 查询邀请码+团队成员"]:::service S7 -->|"邀请码信息 + 成员列表"| D_TEAM["📦 guide_invite_codes + users 表"]:::data P2 -->|"获取邀请码"| A8["🔗 POST /api/guide/team/invite-code"]:::api P2 -->|"生成新码"| A9["🔗 POST /api/guide/team/invite-code/generate"]:::api A9 -->|"guideId"| S9["⚙️ GuideInviteCodeService.createInviteCode()"]:::service S9 -->|"新邀请码"| D_INV["📦 guide_invite_codes 表"]:::data P2 -->|"成员列表"| A10["🔗 POST /api/guide/team/members"]:::api P2 -->|"加入团队"| A11["🔗 POST /api/guide/team/join-by-invite"]:::api A11 -->|"userId, inviteCode"| S11["⚙️ 校验+建立团队关系"]:::service S11 -->|"新建guide_hierarchy记录"| D_HIER["📦 guide_hierarchy 表"]:::data P2 -->|"离开团队"| A12["🔗 POST /api/guide/team/leave"]:::api P2 -->|"检查邀请状态"| A13["🔗 POST /api/guide/team/check-status"]:::api P2 -->|"团队统计"| A14["🔗 POST /api/guide/team/stats"]:::api P1b -->|"上级/下级"| P2a["📋 规划师端:关系页"]:::page P2a -->|"上级规划师"| A15["🔗 POST /api/guide/parent-guide"]:::api P2a -->|"下级列表"| A16["🔗 POST /api/guide/child-guides"]:::api P2a -->|"全部下级"| A17["🔗 POST /api/guide/all-child-guides"]:::api P1b -->|"邀请家长"| P2b["📋 规划师端:邀请家长页"]:::page P2b -->|"生成家长邀请"| A18["🔗 POST /api/guide/parent-invite/generate"]:::api A18 -->|"familyId, userId"| S18["⚙️ InviteCardService.generate()"]:::service S18 -->|"邀请卡片(含邀请码)"| D_CARD["📦 invite_cards 表"]:::data P2b -->|"📱 家长接受邀请"| A19["📱 小程序:接受邀请"]:::page A19 -->|"邀请码"| A19a["🔗 POST /api/guide/parent-invite/accept"]:::api A19a -->|"code, userId"| S19["⚙️ InviteCardService.acceptParentInvite()"]:::service S19 -->|"建立规划师-家庭绑定"| D_BIND["📦 users.teacher_family_ids 更新"]:::data end %% ================================================================ %% 阶段三:家庭管理与任务审核 %% ================================================================ subgraph 阶段三[阶段三:家庭管理与任务审核] P1b -->|"家庭列表"| P3["📋 规划师端:家庭列表页"]:::page P3 -->|"已绑定家庭"| A20["🔗 POST /api/guide/families/bound-families"]:::api A20 -->|"guideId"| S20["⚙️ 解析teacherFamilyIds+统计"]:::service S20 -->|"家庭列表(含待审核数)"| D_FAM["📦 families + family_members 表"]:::data P3 -->|"生成绑定邀请"| A21["🔗 POST /api/guide/bind/invite"]:::api P3 -->|"校验邀请"| A22["🔗 POST /api/guide/bind/validate"]:::api P3 -->|"家庭列表(精简)"| A23["🔗 POST /api/guide/family/list"]:::api A23 -->|"guideId"| S23["⚙️ 查询关联家庭信息"]:::service P3 -->|"家庭概览"| P3a["📋 规划师端:家庭详情页"]:::page P3a -->|"任务概览"| A24["🔗 POST /api/guide/families/{familyId}/overview"]:::api A24 -->|"familyId"| S24["⚙️ 各孩子今日/待审核任务统计"]:::service S24 -->|"孩子任务统计"| D_TASK["📦 tasks 表"]:::data P3a -->|"仪表盘统计"| A25["🔗 POST /api/guide/families/dashboard-stats"]:::api A25 -->|"guideId"| S25["⚙️ 家庭数/今日完成/待审核统计"]:::service P3a -->|"孩子任务列表"| A26["🔗 POST /api/guide/families/{familyId}/children/{childId}/tasks"]:::api A26 -->|"familyId, childId, page"| S26["⚙️ TaskService.getTaskHistoryByFamilyMember()"]:::service P3a -->|"待审核任务"| A27["🔗 POST /api/guide/families/{familyId}/children/{childId}/pending-review"]:::api A27 -->|"familyId, childId"| S27["⚙️ TaskService.getPendingReviewTasks()"]:::service P3a -->|"审核任务"| A28["🔗 POST /api/guide/families/{familyId}/tasks/{taskId}/review"]:::api A28 -->|"taskId, approved, comment"| S28["⚙️ TaskService.reviewTask()"]:::service S28 -->|"更新任务状态"| D_TASK P3a -->|"批量审核"| A29["🔗 POST /api/guide/families/{familyId}/tasks/batch-review"]:::api A29 -->|"taskIds, approved"| S29["⚙️ 批量审核处理"]:::service P3a -->|"修改任务"| A30["🔗 POST /api/guide/families/{familyId}/tasks/{taskId}"]:::api P3a -->|"删除任务"| A31["🔗 POST /api/guide/families/{familyId}/tasks/{taskId}/delete"]:::api end %% ================================================================ %% 阶段四:任务模板与套餐 %% ================================================================ subgraph 阶段四[阶段四:任务模板与套餐管理] P1b -->|"我的模板"| P4["📋 规划师端:任务模板页"]:::page P4 -->|"我的模板列表"| A32["🔗 POST /api/guide/packages/my"]:::api A32 -->|"guideId"| S32["⚙️ 查询该规划师模板"]:::service S32 -->|"模板列表"| D_PKG["📦 guide_packages 表"]:::data P4 -->|"模板列表"| A33["🔗 POST /api/guide/packages/list"]:::api P4 -->|"模板详情"| A34["🔗 POST /api/guide/packages/detail"]:::api P4 -->|"定价详情"| A35["🔗 POST /api/guide/packages/template-detail"]:::api P4 -->|"创建模板"| A36["🔗 POST /api/guide/packages/create"]:::api A36 -->|"guideId, name, price, description, validityDays"| S36["⚙️ GuidePackageService.save()"]:::service S36 -->|"新模板记录"| D_PKG P4 -->|"更新模板"| A37["🔗 POST /api/guide/packages/update"]:::api P4 -->|"更新状态"| A38["🔗 POST /api/guide/packages/update-status"]:::api A38 -->|"id, status"| S38["⚙️ 状态校验+更新"]:::service P4 -->|"删除模板"| A39["🔗 POST /api/guide/packages/delete"]:::api P4 -->|"模板库"| A40["🔗 POST /api/guide/packages/templates"]:::api P4 -->|"增加销量"| A41["🔗 POST /api/guide/packages/increment-sales"]:::api P4 -->|"按等级筛选"| A42["🔗 POST /api/guide/packages/level/{level}"]:::api A42 -->|"level"| S42["⚙️ GuidePackageService.getPackagesByLevel()"]:::service P4 -->|"套餐包列表"| A43["🔗 POST /api/guide/guide-packages"]:::api A43 -->|""| S43["⚙️ GuidePackageService.getActivePackages()"]:::service P4 -->|"添加套餐包"| A44["🔗 POST /api/guide/package/add"]:::api P4 -->|"查看套餐包"| A45["🔗 POST /api/guide/package/{packageId}"]:::api P4 -->|"更新套餐包"| A46["🔗 POST /api/guide/package/{packageId}/update"]:::api P4 -->|"删除套餐包"| A47["🔗 POST /api/guide/package/{packageId}/delete"]:::api P4 -->|"套餐模板列表"| A48["🔗 POST /api/guide/package/templates"]:::api end %% ================================================================ %% 阶段五:活动管理 %% ================================================================ subgraph 阶段五[阶段五:活动管理] P1b -->|"活动管理"| P5["📋 规划师端:活动页"]:::page P5 -->|"列表"| A49["🔗 POST /api/guide/activities/list"]:::api A49 -->|"guideId, status"| S49["⚙️ GuideActivityService.getActivitiesByGuide()"]:::service S49 -->|"活动列表"| D_ACT["📦 guide_activities 表"]:::data P5 -->|"创建活动"| A50["🔗 POST /api/guide/activities/create"]:::api A50 -->|"guideId, activity内容"| S50["⚙️ GuideActivityService.createActivity()"]:::service S50 -->|"新活动记录"| D_ACT P5 -->|"更新"| A51["🔗 POST /api/guide/activities/update"]:::api P5 -->|"详情"| A52["🔗 POST /api/guide/activities/detail"]:::api P5 -->|"发布"| A53["🔗 POST /api/guide/activities/publish"]:::api P5 -->|"下架"| A54["🔗 POST /api/guide/activities/cancel"]:::api P5 -->|"删除"| A55["🔗 POST /api/guide/activities/delete"]:::api A53 -->|"activityId"| S53["⚙️ 更新状态=published"]:::service end %% ================================================================ %% 阶段六:训练方案 %% ================================================================ subgraph 阶段六[阶段六:训练方案管理] P1b -->|"训练方案"| P6["📋 规划师端:训练方案页"]:::page P6 -->|"列表"| A56["🔗 POST /api/guide/training-plans/list"]:::api A56 -->|"guideId, childId"| S56["⚙️ TrainingPlanService.getPlansByGuide()"]:::service S56 -->|"方案列表"| D_TP["📦 training_plans 表"]:::data P6 -->|"创建方案"| A57["🔗 POST /api/guide/training-plans/create"]:::api A57 -->|"guideId, childId, title"| S57["⚙️ TrainingPlanService.createPlan()"]:::service S57 -->|"新方案记录"| D_TP P6 -->|"从推荐生成"| A58["🔗 POST /api/guide/training-plans/generate-from-recommendations"]:::api A58 -->|"guideId, childId"| S58["⚙️ 基于认知评估推荐生成方案"]:::service P6 -->|"添加项目"| A59["🔗 POST /api/guide/training-plans/items/add"]:::api A59 -->|"planId, TrainingPlanItem"| S59["⚙️ TrainingPlanService.addItem()"]:::service S59 -->|"新项目记录"| D_TPI["📦 training_plan_items 表"]:::data P6 -->|"更新项目"| A60["🔗 POST /api/guide/training-plans/items/update"]:::api P6 -->|"删除项目"| A61["🔗 POST /api/guide/training-plans/items/delete"]:::api P6 -->|"更新方案"| A62["🔗 POST /api/guide/training-plans/update"]:::api P6 -->|"删除方案"| A63["🔗 POST /api/guide/training-plans/delete"]:::api P6 -->|"方案详情"| A64["🔗 POST /api/guide/training-plans/detail"]:::api P6 -->|"下发方案"| A65["🔗 POST /api/guide/training-plans/deploy"]:::api A65 -->|"planId, operatorId"| S65["⚙️ 批量创建任务"]:::service S65 -->|"新建多个task记录"| D_TASK P6 -->|"执行看板"| A66["🔗 POST /api/guide/training-plans/execution-board"]:::api A66 -->|"planId"| S66["⚙️ 统计执行进度"]:::service end %% ================================================================ %% 阶段七:测评管理 %% ================================================================ subgraph 阶段七[阶段七:测评管理] P1b -->|"测评管理"| P7["📋 规划师端:测评页"]:::page P7 -->|"可用测评资料"| A67["🔗 POST /api/guide/assessment/materials"]:::api A67 -->|""| S67["⚙️ AssessmentService.getMaterialList()"]:::service S67 -->|"测评资料列表"| D_MAT["📦 assessment_materials 表"]:::data P7 -->|"家庭测评列表"| A68["🔗 POST /api/guide/assessment/families"]:::api A68 -->|"teacherId"| S68["⚙️ 查询该规划师所有家庭测评配置"]:::service S68 -->|"家庭测评配置列表"| D_FAC["📦 family_assessment_config 表"]:::data P7 -->|"启用测评"| A69["🔗 POST /api/guide/assessment/family/enable"]:::api A69 -->|"familyId, materialId, remindMonths"| S69["⚙️ 创建家庭测评配置"]:::service S69 -->|"新配置记录"| D_FAC P7 -->|"配置详情"| A70["🔗 POST /api/guide/assessment/family/{familyId}"]:::api P7 -->|"禁用测评"| A71["🔗 POST /api/guide/assessment/family/{familyId}/disable"]:::api end %% ================================================================ %% 阶段八:成长方案审核 %% ================================================================ subgraph 阶段八[阶段八:成长方案审核] P1b -->|"成长计划"| P8["📋 规划师端:成长计划页"]:::page P8 -->|"家庭方案列表"| A72["🔗 POST /api/guide/plans/family-list"]:::api A72 -->|"familyId, status"| S72["⚙️ 查询家庭方案列表"]:::service S72 -->|"方案列表"| D_PLAN["📦 task_plan_instances 表"]:::data P8 -->|"方案详情"| A73["🔗 POST /api/guide/plans/detail"]:::api P8 -->|"方案审核"| A74["🔗 POST /api/guide/plans/review"]:::api A74 -->|"planId, approved, comment"| S74["⚙️ 更新审核状态"]:::service S74 -->|"更新状态=reviewed/rejected"| D_PLAN P8 -->|"激活方案"| A75["🔗 POST /api/guide/plans/activate"]:::api A75 -->|"planId"| S75["⚙️ PlanActivationService.activate()"]:::service S75 -->|"生成任务实例"| D_TASK end %% ================================================================ %% 阶段九:成长记录 %% ================================================================ subgraph 阶段九[阶段九:成长记录与测评结果] P1b -->|"录入结果"| P9["📋 规划师端:录入测评结果页"]:::page P9 -->|"创建记录"| A76["🔗 POST /api/guide/record/create"]:::api A76 -->|"DanAssessmentResult(含维度得分, 分析报告)"| S76["⚙️ AssessmentService.recordResult() + 积分发放"]:::service S76 -->|"写入测评结果+发放积分"| D_RESULT["📦 dan_assessment_results 表"]:::data P9 -->|"我的记录"| A77["🔗 POST /api/guide/record/my-records"]:::api A77 -->|"userId"| S77["⚙️ 查询该规划师录入的测评结果"]:::service S77 -->|"测评结果列表"| D_RESULT P9 -->|"记录详情"| A78["🔗 POST /api/guide/record/detail/{id}"]:::api A78 -->|"id"| S78["⚙️ 权限校验+查询"]:::service end %% ================================================================ %% 阶段十:咨询消息 %% ================================================================ subgraph 阶段十[阶段十:咨询消息] P1b -->|"咨询消息"| P10["📋 规划师端:消息页"]:::page P10 -->|"发送咨询"| A79["🔗 POST /api/guide/messages/send"]:::api A79 -->|"familyId, teacherId, content"| S79["⚙️ TeacherMessageService.sendMessage()"]:::service S79 -->|"新消息记录"| D_MSG["📦 teacher_messages 表"]:::data P10 -->|"回复消息"| A80["🔗 POST /api/guide/messages/{messageId}/reply"]:::api A80 -->|"messageId, replyContent"| S80["⚙️ TeacherMessageService.replyMessage()"]:::service S80 -->|"更新回复内容和时间"| D_MSG P10 -->|"消息列表"| A81["🔗 POST /api/guide/messages/list"]:::api A81 -->|"teacherId, page, size"| S81["⚙️ 分页查询消息"]:::service P10 -->|"未读数"| A82["🔗 POST /api/guide/messages/unread-count"]:::api P10 -->|"我的咨询"| A83["🔗 POST /api/guide/messages/my"]:::api A83 -->|"parentId"| S83["⚙️ 查询家长发送的咨询"]:::service end %% ================================================================ %% 阶段十一:订单与佣金 %% ================================================================ subgraph 阶段十一[阶段十一:订单与佣金] P1b -->|"订单管理"| P11["📋 规划师端:订单页"]:::page P11 -->|"订单列表"| A84["🔗 POST /api/guide/orders/list"]:::api A84 -->|"guideId, page, size, status"| S84["⚙️ 分页查询套餐订单"]:::service S84 -->|"分页订单列表"| D_ORD["📦 package_orders 表"]:::data P11 -->|"订单统计"| A85["🔗 POST /api/guide/orders/stats"]:::api A85 -->|"guideId"| S85["⚙️ 订单数/收入统计"]:::service P11 -->|"订单详情"| A86["🔗 POST /api/guide/orders/detail"]:::api A86 -->|"id"| S86["⚙️ 订单查询+权限校验"]:::service end %% ================================================================ %% 阶段十二:教师班级管理(已废弃) %% ================================================================ subgraph 阶段十二[阶段十二:教师班级管理(已废弃)] P1b -->|"班级管理"| P12["📋 规划师端:班级页(已废弃)"]:::page P12 -->|"教师信息"| A87["🔗 POST /api/teacher/info"]:::api A87 -->|"teacherId"| S87["⚙️ TeacherService.getTeacherInfo()"]:::service S87 -->|"教师DTO"| D_TEACHER["📦 仅info可用,其余均废弃"]:::data P12 -->|"其他班级接口均已标注@Deprecated"| A88["🔗 POST /api/teacher/classes/*"]:::api end RP -.- P1 RP -.- P1b RP2 -.- A19 RADM -.- A4 ``` ## 端点明细 ### 入驻与认证 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/apply/new` | 提交新入驻申请 | 📋规划师端 | `{targetLevel, packageId, paymentProof}` | `{success}` | | `POST /api/guide/apply/upgrade` | 提交升级申请 | 📋规划师端 | `{fromLevel, toLevel, paymentProof}` | `{success}` | | `POST /api/guide/my` | 获取当前规划师信息 | 📋规划师端 | — | `Guide` | | `POST /api/guide/applications` | 申请列表 | 📋规划师端 | — | `List` | | `POST /api/guide/applications/my` | 我的申请 | 📋规划师端 | — | `List` | | `POST /api/guide/my/packages` | 我的套餐(按等级) | 📋规划师端 | — | `List` | ### 团队管理 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/team/my-team` | 获取我的团队 | 📋规划师端 | — | `{inviteCode, members, memberCount}` | | `POST /api/guide/team/invite-code` | 获取/创建团队邀请码 | 📋规划师端 | — | `GuideInviteCode` | | `POST /api/guide/team/invite-code/generate` | 生成新邀请码 | 📋规划师端 | — | `GuideInviteCode` | | `POST /api/guide/team/members` | 团队成员列表 | 📋规划师端 | — | `List` | | `POST /api/guide/team/check-status` | 检查邀请码状态 | 📋规划师端 | `{inviteCode}` | `{valid, isPlanner, inTeam, ...}` | | `POST /api/guide/team/join-by-invite` | 通过邀请码加入团队 | 📋规划师端 | `{inviteCode}` | `{success, guideId}` | | `POST /api/guide/team/leave` | 离开当前团队 | 📋规划师端 | — | `{success}` | | `POST /api/guide/team/stats` | 团队统计 | 📋规划师端 | — | `{totalMembers, totalFamilies, totalChildren}` | | `POST /api/guide/parent-guide` | 上级规划师信息 | 📋规划师端 | — | `Guide` | | `POST /api/guide/child-guides` | 下级规划师列表 | 📋规划师端 | — | `List` | | `POST /api/guide/all-child-guides` | 全部下级规划师 | 📋规划师端 | — | `List` | ### 邀请与绑定家庭 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/parent-invite/generate` | 生成家长邀请码 | 📋规划师端 | `{familyId}` | `{id, code, type, refId, expiresAt}` | | `POST /api/guide/parent-invite/accept` | 家长接受邀请 | 📱小程序 | `{code}` | `Map` | | `POST /api/guide/bind/invite` | 生成绑定邀请 | 📋规划师端 | — | — | | `POST /api/guide/bind/validate` | 校验绑定邀请 | 📋规划师端 | — | — | | `POST /api/guide/families/bound-families` | 已绑定家庭列表 | 📋规划师端 | — | `List<{familyId, familyName, parentName, childrenCount, pendingReviewCount}>` | | `POST /api/guide/family/list` | 家庭列表(精简) | 📋规划师端 | — | `List<{id, familyName, memberCount, createdAt}>` | ### 家庭管理与任务审核 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/families/{familyId}/overview` | 家庭任务概览 | 📋规划师端 | path: `familyId` | `{familyId, children, totalPendingReview, totalCompleted, totalOverdue}` | | `POST /api/guide/families/dashboard-stats` | 仪表盘统计 | 📋规划师端 | — | `{totalFamilies, todayCompletedTasks, pendingReviewTasks}` | | `POST /api/guide/families/{familyId}/children/{childId}/tasks` | 孩子任务列表 | 📋规划师端 | path: `familyId, childId`, body: `{page, size, status}` | `Page` | | `POST /api/guide/families/{familyId}/children/{childId}/pending-review` | 待审核任务 | 📋规划师端 | path: `familyId, childId` | `List` | | `POST /api/guide/families/{familyId}/tasks/{taskId}/review` | 审核单个任务 | 📋规划师端 | path: `familyId, taskId`, body: `{approved, comment}` | `{success}` | | `POST /api/guide/families/{familyId}/tasks/batch-review` | 批量审核任务 | 📋规划师端 | path: `familyId`, body: `{taskIds, approved}` | `{successCount, failCount}` | | `POST /api/guide/families/{familyId}/tasks/{taskId}` | 修改任务 | 📋规划师端 | path: `familyId, taskId`, body: `{title, description, points, ...}` | `{success}` | | `POST /api/guide/families/{familyId}/tasks/{taskId}/delete` | 删除任务 | 📋规划师端 | path: `familyId, taskId` | `{success}` | ### 任务模板/套餐包管理 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/packages/my` | 我的任务模板 | 📋规划师端 | — | `List` | | `POST /api/guide/packages/list` | 模板列表 | 📋规划师端 | — | `List` | | `POST /api/guide/packages/detail` | 模板详情 | 📋规划师端 | `{id}` | `GuidePackage` | | `POST /api/guide/packages/template-detail` | 模板定价详情 | 📋规划师端 | `{id}` | `GuidePackageTemplate` | | `POST /api/guide/packages/create` | 创建模板 | 📋规划师端 | `{templateId, name, price, description, validityMonths, commissionRate}` | `GuidePackage` | | `POST /api/guide/packages/update` | 更新模板 | 📋规划师端 | `{id, name, price, ...}` | `GuidePackage` | | `POST /api/guide/packages/update-status` | 更新模板状态 | 📋规划师端 | `{id, status}` | `{success}` | | `POST /api/guide/packages/delete` | 删除模板 | 📋规划师端 | `{id}` | `{success}` | | `POST /api/guide/packages/templates` | 模板库列表 | 📋规划师端 | — | `List` | | `POST /api/guide/packages/increment-sales` | 增加销量 | 📋规划师端 | `{id}` | `{success}` | | `POST /api/guide/packages/level/{level}` | 按等级筛选 | 📋规划师端 | path: `level` | `List` | | `POST /api/guide/guide-packages` | 套餐包列表(仅活跃) | 📋规划师端 | — | `List` | | `POST /api/guide/package/add` | 添加套餐包 | 📋规划师端 | — | — | | `POST /api/guide/package/{packageId}` | 查看套餐包 | 📋规划师端 | path: `packageId` | — | | `POST /api/guide/package/{packageId}/update` | 更新套餐包 | 📋规划师端 | path: `packageId` | — | | `POST /api/guide/package/{packageId}/delete` | 删除套餐包 | 📋规划师端 | path: `packageId` | — | | `POST /api/guide/package/templates` | 套餐模板列表 | 📋规划师端 | — | — | ### 活动管理 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/activities/list` | 活动列表 | 📋规划师端 | `{status}` | `List` | | `POST /api/guide/activities/detail` | 活动详情 | 📋规划师端 | `{activityId}` | `GuideActivity` | | `POST /api/guide/activities/create` | 创建活动 | 📋规划师端 | `GuideActivity字段` | `{id}` | | `POST /api/guide/activities/update` | 更新活动 | 📋规划师端 | `GuideActivity字段` | `{success}` | | `POST /api/guide/activities/publish` | 发布活动 | 📋规划师端 | `{activityId}` | `{success}` | | `POST /api/guide/activities/cancel` | 下架活动 | 📋规划师端 | `{activityId}` | `{success}` | | `POST /api/guide/activities/delete` | 删除活动 | 📋规划师端 | `{activityId}` | `{success}` | ### 训练方案 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/training-plans/list` | 方案列表 | 📋规划师端 | `{childId}` | `List` | | `POST /api/guide/training-plans/detail` | 方案详情(含项目) | 📋规划师端 | `{planId}` | `{plan, items}` | | `POST /api/guide/training-plans/create` | 创建方案 | 📋规划师端 | `{childId, title, description}` | `{planId}` | | `POST /api/guide/training-plans/update` | 更新方案 | 📋规划师端 | `{planId, title, description}` | `{success}` | | `POST /api/guide/training-plans/delete` | 删除方案 | 📋规划师端 | `{planId}` | `{success}` | | `POST /api/guide/training-plans/items/add` | 添加项目 | 📋规划师端 | `TrainingPlanItem字段` | `{itemId}` | | `POST /api/guide/training-plans/items/update` | 更新项目 | 📋规划师端 | `TrainingPlanItem字段` | `{success}` | | `POST /api/guide/training-plans/items/delete` | 删除项目 | 📋规划师端 | `{itemId}` | `{success}` | | `POST /api/guide/training-plans/generate-from-recommendations` | 从推荐生成方案 | 📋规划师端 | `{childId}` | `{planId}` | | `POST /api/guide/training-plans/deploy` | 下发方案(批量生成任务) | 📋规划师端 | `{planId}` | `List` | | `POST /api/guide/training-plans/execution-board` | 执行看板 | 📋规划师端 | `{planId}` | `Map` | ### 评估管理 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/assessment/materials` | 可用测评资料列表 | 📋规划师端 | — | `List` | | `POST /api/guide/assessment/families` | 家庭测评配置列表 | 📋规划师端 | — | `List` | | `POST /api/guide/assessment/family/enable` | 为家庭启用测评 | 📋规划师端 | `{familyId, materialId, remindMonths}` | `{success}` | | `POST /api/guide/assessment/family/{familyId}` | 家庭测评配置详情 | 📋规划师端 | path: `familyId` | `Map` | | `POST /api/guide/assessment/family/{familyId}/disable` | 关闭家庭测评 | 📋规划师端 | path: `familyId` | `{success}` | ### 成长方案(审核与激活) | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/plans/family-list` | 家庭方案列表 | 📋规划师端 | `{familyId, status}` | `List` | | `POST /api/guide/plans/detail` | 方案详情 | 📋规划师端 | `{planId}` | `TaskPlanInstance` | | `POST /api/guide/plans/review` | 审核方案(批准/驳回) | 📋规划师端 | `{planId, approved, comment}` | 操作结果字符串 | | `POST /api/guide/plans/activate` | 激活方案(生成任务) | 📋规划师端 | `{planId}` | 操作结果字符串 | ### 成长记录(测评结果录入) | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/record/create` | 录入测评结果(含孩子快照+积分发放) | 📋规划师端 | `DanAssessmentResult(维度得分, 分析报告, 成长建议等)` | `DanAssessmentResult` | | `POST /api/guide/record/my-records` | 我的测评记录列表 | 📋规划师端 | — | `List` | | `POST /api/guide/record/detail/{id}` | 测评记录详情 | 📋规划师端 | path: `id` | `DanAssessmentResult` | ### 咨询消息 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/messages/send` | 发送咨询消息(家长→规划师) | 📱小程序 | `{familyId, teacherId, content}` | `{messageId}` | | `POST /api/guide/messages/my` | 家长获取自己的咨询记录 | 📱小程序 | — | `List` | | `POST /api/guide/messages/list` | 规划师获取咨询列表 | 📋规划师端 | `{page, size}` | `{records, total, pages}` | | `POST /api/guide/messages/{messageId}/reply` | 规划师回复咨询 | 📋规划师端 | path: `messageId`, body: `{replyContent}` | `{success}` | | `POST /api/guide/messages/unread-count` | 规划师获取未读消息数 | 📋规划师端 | — | `{count}` | ### 订单与佣金 | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/guide/orders/list` | 订单分页列表 | 📋规划师端 | `{page, size, status}` | `{records, total, pages, current}` | | `POST /api/guide/orders/stats` | 订单统计 | 📋规划师端 | — | `{totalOrders, paidOrders, totalRevenue, pendingOrders}` | | `POST /api/guide/orders/detail` | 订单详情 | 📋规划师端 | `{id}` | `PackageOrder` | ### 教师班级管理(已废弃) | 端点 | 说明 | 端口 | 请求数据 | 响应数据 | |------|------|------|---------|---------| | `POST /api/teacher/info` | 获取教师信息 | 📋规划师端 | — | `TeacherDTO` | | `POST /api/teacher/tasks` | 创建教学任务(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/tasks/list` | 教师任务列表(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/classes` | 创建班级(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/classes/list` | 班级列表(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/classes/{classId}/students` | 班级学生列表(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/classes/{classId}/students/add` | 添加学生(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/classes/{classId}/students/{studentId}` | 移除学生(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/students/{studentId}/progress` | 学生进度(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | | `POST /api/teacher/classes/{classId}/report` | 班级报告(已废弃) | 📋规划师端 | — | `UnsupportedOperationException` | ## 完整性分析 | # | 维度 | 评估 | 说明 | |---|------|------|------| | 1 | **流程完整性** | ✅ 完整 | 覆盖入驻认证、团队管理、家庭绑定、任务审核、模板套餐、活动/训练方案、测评管理、成长方案审核、成长记录录入、咨询消息、订单佣金共12个阶段,贯穿规划师全生命周期 | | 2 | **异常路径** | ⚠️ 部分覆盖 | 入驻申请被驳回→撤回重提流程已覆盖;团队加入中的重复成员、自己邀请自己等异常在Service层处理;Token过期通过JwtInterceptor统一拦截 | | 3 | **端点覆盖** | ✅ 完整 | 80+个端点全部映射到流程图中,涵盖GuideController、GuidePackageController、GuideTeamController、GuideFamilyTaskController、GuideFamilyListController、GuideActivityController、TrainingPlanController、GuideAssessmentController、PlanReviewController、GuideRecordController、TeacherMessageController、GuideOrderController、TeacherController | | 4 | **角色覆盖** | ✅ 完整 | 规划师(teacher)主视角覆盖;家长(parent)在邀请绑定和咨询消息中出现;管理员(admin)在入驻审核和方案审核中出现 | | 5 | **数据实体** | ✅ 完整 | guide_applications、guides、guide_invite_codes、guide_hierarchy、invite_cards、families、family_members、tasks、guide_packages、guide_activities、training_plans、training_plan_items、assessment_materials、family_assessment_config、dan_assessment_results、teacher_messages、package_orders、task_plan_instances、users等表均在图中映射 | | 6 | **一致性** | ✅ 与代码一致 | 所有端点路径与实际Controller中的`@PostMapping`匹配;教师班级管理(TeacherController)已标注`@Deprecated`,图中列为已废弃阶段 |