05-admin.md 12 KB

用户使用场景 · 平台运营(Admin / Web 管理端)

来源:AGENTS.md(维度配置与知识库管理、关系类型 CRUD、文章发布-审核、报告解析中台、数据迁移、sfms 只读源)、API_REFERENCE.md(/api/admin/* 大量控制器)、cfc-web/、cfc-frontend/pages/admin、黑盒方案 A-01~A-16。 关联用例:test-cases/admin.md(TC-A-01~TC-A-26,含五维配置治理 TC-A-25~26)。


场景 A-1:管理端登录与看板

用户故事:作为运营,我想登录管理端看全局数据,以便做决策。

  • 角色:平台运营
  • 前置条件:已分配 admin 账号(手机号 + 密码)。
  • 主流程
    1. 管理端密码登录 → 进入 Dashboard。
    2. 看板统计加载成功(任务总量/完成率等)。
  • 异常/边界:错误密码不签发 token;看板接口超时友好提示。
  • 关联需求/设计:AdminController/AdminAuthController;StatsController /api/stats。
  • 关联用例:TC-A-01, TC-A-02

场景 A-2:报告解析中台(类型注册 / 未知聚类)

用户故事:作为运营,我想管理报告解析类型并对未知报告做自学习,以便扩大解析覆盖。

  • 角色:平台运营
  • 前置条件:gut_flora 已注册。
  • 主流程
    1. 打开报告解析中台 → 类型列表返回 ≥1 条(含 gut_flora)。
    2. 注册新报告类型(typeId/显示名/解析路径/threshold)→ 保存成功,列表可见。
    3. 重复注册同 typeId → 被拒绝。
    4. 打开未知报告聚类 → 查看聚类下上传,可自学习生成类型。
  • 异常/边界:解析路径非法 → 校验拦截;未知聚类无数据时正常空态。
  • 关联需求/设计:AdminReportParserController /api/admin/report-parser/*;健康报告解析特性。
  • 关联用例:TC-A-05, TC-A-06, TC-A-07

场景 A-3:文章发布-审核闭环与标题去重

用户故事:作为运营,我想发文章经过审核上线,且标题不重复。

  • 角色:平台运营
  • 前置条件:待发布文章素材就绪。
  • 主流程
    1. 创建文章 → 提交审核 → 通过。
    2. 创建 1s 内返回成功(无超时);审核通过后 C 端可见。
    3. 同标题重复创建 → 第二次被拦截(标题已存在)。
  • 异常/边界:长文(8000 字)创建+更新稳定;审核驳回退回草稿。
  • 关联需求/设计:文章发布-审核系统;AdminArticleController;/api/articles/*。
  • 关联用例:TC-A-08, TC-A-09

场景 A-4:关系类型 / 勋章 / 供应商 CRUD

用户故事:作为运营,我想维护关系类型、勋章和供应商,以便前端与业务可用。

  • 角色:平台运营
  • 前置条件:对应管理页可访问。
  • 主流程
    1. 关系类型新增/编辑/停用 → 家长端关系选择器同步生效。
    2. 创建勋章(名称/图标/触发条件/门槛)→ 200 成功,badgeId 自动生成,列表可见。
    3. 新增供应商(昵称/手机号/真实姓名)→ 200 成功,列表 name=昵称;同手机号重复保存被拒或可控覆盖。
  • 异常/边界:字段缺失/类型错误 → 400 + 字段提示(非 500);停用关系类型不影响历史数据。
  • 关联需求/设计:关系类型 CRUD(Web RelationshipTypes.vue);勋章/供应商管理接口。
  • 关联用例:TC-A-10, TC-A-11, TC-A-12

场景 A-5:活动提交审核 / 撤回

用户故事:作为运营,我想管理活动全生命周期,可随时撤回重编辑。

  • 角色:平台运营
  • 前置条件:草稿活动存在。
  • 主流程
    1. 草稿活动提交审核 → 通过 → 撤回 → 退回草稿。
    2. 已发布活动可撤回、退回草稿重新编辑。
  • 异常/边界:全流程无 500;状态机合法流转。
  • 关联需求/设计:AdminActivityController 等;活动报名特性。
  • 关联用例:TC-A-13

场景 A-6:知识库管理与数据迁移

用户故事:作为运营,我想维护知识库并做 sfms→cfc 数据迁移。

  • 角色:平台运营
  • 前置条件:知识条目/迁移源就绪。
  • 主流程
    1. 删除知识条目 → 200 成功,列表移除,无 500。
    2. 执行 sfms→cfc 迁移 → 接口返回成功,关键业务表数据量更新。
  • 异常/边界:迁移失败回滚并给出明确错误;多数据源 SfmsDataSourceConfig 只读。
  • 关联需求/设计:知识库管理;多数据源;DatabaseInitializer 迁移。
  • 关联用例:TC-A-14, TC-A-15

场景 A-7:全局参数校验(不再裸 500)

用户故事:作为质量保障,我想确认所有管理接口对非法入参返回 400 而非 500。

  • 角色:平台运营(测试视角)
  • 前置条件:各管理页接口可用。
  • 主流程
    1. 各管理接口传空 body / 错类型字段。
    2. 返回 400 + 具体字段提示(不再裸 500「服务器内部错误」)。
  • 异常/边界:覆盖新增接口;回归防止回退。
  • 关联需求/设计:统一 Result<T>;全局异常处理。
  • 关联用例:TC-A-16

场景 A-8:知识库管理(AI 知识维护)(SC-A-08)

用户故事:作为运营,我想维护 AI 知识库条目,以便支撑对话/推荐。

  • 角色:平台运营
  • 前置条件:已登录管理端。
  • 主流程
    1. 知识条目 CRUD(增删改查)→ 保存。
    2. 触发向量同步 → 对话可引用。
  • 异常/边界:同步失败重试;大批量分批;删除被引用条目需确认。
  • 关联需求/设计:知识库管理(Web);向量同步。
  • 关联用例:TC-A-08

场景 A-9:维度配置与知识库管理(五维口径)(SC-A-09)

用户故事:作为运营,我想维护五维维度与权重配置,以便统一健康口径。

  • 角色:平台运营
  • 前置条件:已登录管理端。
  • 主流程
    1. 维度/权重配置 → 保存 → 生效。
  • 异常/边界:配置变更影响存量计算需提示;非 admin 403。
  • 关联需求/设计:维度配置(Web 管理端)。
  • 关联用例:TC-A-09

场景 A-10:数据迁移/参数校验(SC-A-10)

用户故事:作为运营,我想执行数据迁移并校验参数,以便保障数据正确。

  • 角色:平台运营
  • 前置条件:迁移脚本/数据源就绪。
  • 主流程
    1. 跑迁移脚本 → 校验参数 → 确认无孤儿数据。
  • 异常/边界:迁移幂等;字段校验失败阻断;孤儿数据告警。
  • 关联需求/设计:DatabaseInitializer;多数据源。
  • 关联用例:TC-A-10

场景 A-11:用户/家庭查询治理(SC-A-11)

用户故事:作为运营,我想查询用户/家庭并限授权代操作,以便处理客诉。

  • 角色:平台运营
  • 前置条件:已登录管理端。
  • 主流程
    1. 查用户/家庭 → 代操作(限授权)。
  • 异常/边界:代操作留审计;越权代操作拒。
  • 关联需求/设计:管理端。
  • 关联用例:TC-A-11

场景 A-12:订单/退款人工处理(SC-A-12)

用户故事:作为运营,我想人工处理异常订单/退款,以便解决客诉。

  • 角色:平台运营
  • 前置条件:有异常订单。
  • 主流程
    1. 查订单 → 手动退款/补发。
  • 异常/边界:重复退款拦截;留审计。
  • 关联需求/设计:订单服务。
  • 关联用例:TC-A-12

场景 A-13:内容安全审核(SC-A-13)

用户故事:作为运营,我想审核 UGC 内容,以便过滤违规。

  • 角色:平台运营
  • 前置条件:有待审 UGC。
  • 主流程
    1. UGC 审核 → 通过/下架。
  • 异常/边界:敏感词命中拦截;下架带原因。
  • 关联需求/设计:内容安全。
  • 关联用例:TC-A-13

场景 A-14:系统监控/告警(SC-A-14)

用户故事:作为运营,我想看系统监控并处理告警,以便保障可用性。

  • 角色:平台运营
  • 前置条件:监控已接入。
  • 主流程
    1. 看监控 → 告警处理。
  • 异常/边界:误报确认消除;告警分级。
  • 关联需求/设计:监控。
  • 关联用例:TC-A-14

场景 A-15:操作审计日志(SC-A-15)

用户故事:作为运营,我想查询审计日志并溯源,以便可追溯。

  • 角色:平台运营
  • 前置条件:有操作记录。
  • 主流程
    1. 查审计日志 → 溯源。
  • 异常/边界:日志不可篡改;分页。
  • 关联需求/设计:审计。
  • 关联用例:TC-A-15

场景 A-16:报告解析自学习/未知类型标注(SC-A-16)

用户故事:作为运营,我想标注未知报告聚类,以便解析中台自学习。

  • 角色:平台运营
  • 前置条件:存在未知聚类。
  • 主流程
    1. 看未知类型 → 标类别 → 生效。
  • 异常/边界:新类先注册再解析;重复标注幂等。
  • 关联需求/设计:/api/admin/report-parser/*。
  • 关联用例:TC-A-16

场景 A-17:优惠券/活动配置管理(SC-A-17)

用户故事:作为运营,我想后台配券建活动,以便营销转化。

  • 角色:平台运营
  • 前置条件:已登录管理端。
  • 主流程
    1. 建券/活动 → 设规则/名额 → 上线。
  • 异常/边界:时间冲突校验;名额超卖配置保护;下线需先处理存量。
  • 关联需求/设计:优惠券/活动管理。
  • 关联用例:TC-A-17

场景 A-18:内容安全审核队列(SC-A-18)

用户故事:作为运营,我想审核 UGC/AI 内容队列,以便合规发布。

  • 角色:平台运营
  • 前置条件:有队列内容。
  • 主流程
    1. 队列 → 通过/下架。
  • 异常/边界:敏感词命中拦截;批量操作幂等。
  • 关联需求/设计:内容安全。
  • 关联用例:TC-A-18

场景 A-19:账号注销/数据导出工单处理(SC-A-19)

用户故事:作为运营,我想处理用户注销/导出工单,以便合规完成。

  • 角色:平台运营
  • 前置条件:有用户申请。
  • 主流程
    1. 接工单 → 执行归档/导出。
  • 异常/边界:审计留痕;冷静期校验;并发处理按序。
  • 关联需求/设计:GDPR 工单。
  • 关联用例:TC-A-19

场景 A-20:限流/熔断配置(SC-A-20)

用户故事:作为运营,我想配置接口限流,以便防护滥用。

  • 角色:平台运营
  • 前置条件:网关/限流组件可用。
  • 主流程
    1. 配限流规则 → 生效。
  • 异常/边界:误杀白名单;非法阈值 400。
  • 关联需求/设计:网关/限流。
  • 关联用例:TC-A-20

场景 A-21:舌诊/情绪模型管理(SC-A-21)

用户故事:作为运营,我想管理舌诊/情绪模型版本,以便保障识别质量。

  • 角色:平台运营
  • 前置条件:模型已注册。
  • 主流程
    1. 版控/上下线。
  • 异常/边界:下线前需回退方案;非法版本 400。
  • 关联需求/设计:模型管理。
  • 关联用例:TC-A-21

场景 A-22:精准营养知识库管理(SC-A-22)

用户故事:作为运营,我想维护精准营养知识库,以便支撑营养推荐。

  • 角色:平台运营
  • 前置条件:已登录管理端。
  • 主流程
    1. 知识 CRUD → 同步。
  • 异常/边界:同步失败重试;并发 CRUD 乐观锁。
  • 关联需求/设计:知识库。
  • 关联用例:TC-A-22

注:SC-A-25(维度/权重/每日上限配置 CRUD 与生效)与 SC-A-26(能量来源比例与归因权重治理)属「五维配置治理」专项,完整叙事见 07-five-dimension.md(ED-13/ED-14),对应用例 TC-A-25~26 见 test-cases/admin.md 对应专项段(编号统一为 SC-A-25/26 口径)。