|
|
@@ -0,0 +1,66 @@
|
|
|
+# 家长域剩余批次 · 开工包(P 域剩余 ~30 SC 契约核对)
|
|
|
+
|
|
|
+> 归属:契约补建计划 P0「家长域剩余」· 生成 2026-11-07 09:2x(研发负责人 第33轮)
|
|
|
+> 数据源:sc-key-map.md(origin/cfclub,O-8 归一后 241 全量登记)· 端点核对:cfc-backend controller 源码(origin/cfclub 工作树)
|
|
|
+> 前置:O-7 裁决(主理人 2026-11-06 23:59 最终确认)契约补建工作流正式生效——契约核对 = 文档核对 + 端点比对(防假 RED),产出契约文档后转测试侧补契约 JUnit + 三类流证据,**渐进而非全量**。
|
|
|
+
|
|
|
+## 批次定位
|
|
|
+
|
|
|
+家长域 96 个 SC(SC-P-01~96)中,已由既有开工包覆盖:家庭-成员(EVD-2)、任务-心愿(EVD-3)、商城-会员(EVD-4)、五维能量(EVD-5)、报告闭环(EVD-7R)、测评-方案(EVD-8R);**本批 = P 域剩余无键 SC,端点载体逐条核验,产出契约文档后转测试侧,不建伪实现任务。**
|
|
|
+
|
|
|
+## 端点核验(初核候选,会话须逐条核实并回填)
|
|
|
+
|
|
|
+| SC | 场景标题 | 候选端点载体(origin/cfclub 工作树) | 初核 |
|
|
|
+|----|----------|--------------------------------------|------|
|
|
|
+| SC-P-02 | 邀请成员 + 关系编辑 | `FamilyMemberController` `/api/family/member/*`、`RelationshipController` `/api/family/relationship/*` | ✅(EVD-2 已覆部分,核对本 SC 独有语义) |
|
|
|
+| SC-P-04 | 家庭成员列表查看 | `FamilyMemberController` `/api/family/member/list` | ✅ |
|
|
|
+| SC-P-05 | 编辑成员资料 | `FamilyMemberController` `/api/family/member/update` | ✅ |
|
|
|
+| SC-P-20 | 健康报告 PDF 上传解析(上传报告)⭐ | `HealthReportController` `/api/health/report/upload` + `/api/health/report/parse`(**与 health.report.upload/createReport 键已 GREEN 对齐,勿新建键**) | ✅ |
|
|
|
+| SC-P-21 | 报告类型识别 | `HealthReportController` parse-preview(type 识别) | ✅ |
|
|
|
+| SC-P-22 | 报告解析预览 | `HealthReportController` `/api/health/report/parse-preview` | ✅ |
|
|
|
+| SC-P-23 | 报告确认入库 | `HealthReportController` `/api/health/report/confirm` | ✅ |
|
|
|
+| SC-P-28 | 食谱按食材筛选/忌口 | `FoodRecommendController` `/api/food-recommend/*`(筛选/忌口参数) | ✅ |
|
|
|
+| SC-P-29 | 食谱收藏/调整 | `FoodRecommendController`(收藏/调整端点或 `UserFoodPreferenceController`) | ⚠ 待核实 |
|
|
|
+| SC-P-30 | 食谱与营养目标对齐 | `FoodRecommendController` + `UserNutritionProfileController` `/api/nutrition/profile` | ✅ |
|
|
|
+| SC-P-31 | 浏览测评类型(DAN 8 类) | `DanAssessmentController` `/api/dan-assessment/*`(类型列表) | ✅ |
|
|
|
+| SC-P-49 | AI 健康管家对话 ⭐ | LangGraph 对话(`cfc-langgraph`,AiGateway `/api/ai/chat`);**与 langgraph.questionnaire.generate 键已 GREEN 对齐** | ⚠ 载体跨组件待核实 |
|
|
|
+| SC-P-50 | 成长记录查看 | `GrowthController` `/api/growth/*`、`GrowthRecordController` `/api/growth/record/*`(**与 growth.history.view 键已 GREEN 对齐**) | ✅ |
|
|
|
+| SC-P-51 | 成长里程碑 | `GrowthController`(里程碑端点) | ⚠ 待核实 |
|
|
|
+| SC-P-54 | 加购/下单 | `ShopOrderController` `/api/shop/order/*`、`CartController` `/api/cart/*`(EVD-4 已覆部分) | ✅ |
|
|
|
+| SC-P-61 | 联系人添加 | `ContactController` `/api/contact/*` | ✅ |
|
|
|
+| SC-P-62 | 联系人分组/导入 | `ContactController`(分组/导入端点)+ `ContactImportController` | ⚠ 待核实 |
|
|
|
+| SC-P-63 | 联系人详情/权限 | `ContactController`(详情/权限) | ✅ |
|
|
|
+| SC-P-64 | 个人资料编辑 | `UserController` `/api/user/profile/*` | ✅ |
|
|
|
+| SC-P-65 | 消息通知/提醒设置 | `UserNotificationController` / `NoticeController` `/api/notice/*` | ⚠ 待核实 |
|
|
|
+| SC-P-66 | 隐私设置 | `PrivacyController` / `UserController` 隐私段 | ⚠ 待核实 |
|
|
|
+| SC-P-69 | 精准营养目标设定 | `UserNutritionProfileController` `/api/nutrition/profile` | ✅ |
|
|
|
+| SC-P-70 | 舌诊/情绪照片采集 | `HealthReportController`(tongue 解析链,type=tongue)+ `EmotionCheckinController` | ✅ |
|
|
|
+| SC-P-71 | 账号注销 | `UserController` `/api/user/data-export` + 注销(`AccountCleanupService`) | ⚠ 待核实 |
|
|
|
+| SC-P-73 | 多孩子切换孩子上下文 | `FamilyMemberController` 上下文切换端点 | ⚠ 待核实 |
|
|
|
+| SC-P-76 | 活动报名(名额/并发)⭐ | `ActivityController` `/api/activity/register`(名额校验) | ✅ |
|
|
|
+| SC-P-78 | 消息中心/通知查看 | `NoticeController` `/api/notice/list` | ✅ |
|
|
|
+| SC-P-79 | 推送/通知开关设置 | `NoticeController` 开关端点 | ⚠ 待核实 |
|
|
|
+| SC-P-83 | 意见反馈/在线客服 | `FeedbackController` `/api/feedback/*` | ✅ |
|
|
|
+| SC-P-85 | 多端登录/会话互斥 | `AuthController` `/api/auth/*`(token 互斥) | ⚠ 待核实 |
|
|
|
+
|
|
|
+> ⚠ 标注项:会话须以 `grep -rn '@RequestMapping|@PostMapping' cfc-backend/src/main/java/com/etotem/cfc/controller/` 实测定位,**不得假定包路径**;若端点确实缺失 → 记入契约文档「实现缺口」段并回传研发侧,不在本任务内实现。
|
|
|
+> 命名注意:**已 GREEN 键(health.report.upload/health.report.createReport/growth.history.view/langgraph.questionnaire.generate/dan.assessment.* 等)映射到 SC 时复用既有键,仅登记不新建**(防键重复,O-2 方案 A)。
|
|
|
+
|
|
|
+## 建议能力键(契约定稿后按 O-2 方案 A 映射)
|
|
|
+
|
|
|
+- `family.member.list`(SC-P-04)/ `family.member.update`(SC-P-05)/ `family.invite.reissue`(SC-P-02 部分)
|
|
|
+- `health.report.upload` / `health.report.parse`(SC-P-20~23,**复用已 GREEN 键**)
|
|
|
+- `food.recommend.filter`(SC-P-28)/ `food.recommend.favorite`(SC-P-29)/ `food.recommend.align`(SC-P-30)
|
|
|
+- `dan.assessment.typeList`(SC-P-31,如已存在复用)
|
|
|
+- `ai.coach.chat`(SC-P-49,**复用 langgraph.questionnaire.generate 语义或新键,按契约文档定**)
|
|
|
+- `growth.record.view`(SC-P-50,**复用已 GREEN growth.history.view**)/ `growth.milestone`(SC-P-51)
|
|
|
+- `contact.manage`(SC-P-61~63)/ `user.profile.edit`(SC-P-64)/ `notice.manage`(SC-P-65/78/79)/ `privacy.setting`(SC-P-66)
|
|
|
+- `nutrition.profile.set`(SC-P-69)/ `report.photocollect`(SC-P-70)/ `account.cancel`(SC-P-71)/ `family.child.switch`(SC-P-73)
|
|
|
+- `activity.register`(SC-P-76)/ `feedback.submit`(SC-P-83)/ `auth.session.exclusive`(SC-P-85)
|
|
|
+
|
|
|
+> 注:以上为**建议映射**(防假 RED 端点核验用),非最终契约键;定稿须逐条对齐 `docs/superpowers/api/API_REFERENCE.md` 与 `tests/test-cases/*.md` 派生用例,避免与既有键冲突。
|
|
|
+
|
|
|
+## 待办(O-7 授权节奏)
|
|
|
+
|
|
|
+1. 契约核对会话(本批 lan-248)产出契约文档:`docs/superpowers/specs/2026-11-07-parent-rest-contract.md` + `API_REFERENCE.md` 增补「家长域剩余」段落 + 端点核验表回填(含 ⚠ 项实测结论,标注已 GREEN 键复用关系)→ 单文件精确提交 push `origin/cfclub`。
|
|
|
+2. 产出后由研发负责人登记 TR-15 转测试侧:补契约 JUnit(MockMvc 风格沿用既有 ContractTest)+ 正常/异常/权限三类流执行证据(重点:SC-P-76 并发/N 名额、SC-P-85 会话互斥、SC-P-38 越权、SC-P-71 注销数据主权)。
|