Files
2026-09-17 12:16:20 +08:00

3.6 KiB
Raw Blame History

ADDED Requirements

Requirement: 业务用户组维护

后台 MUST 提供业务用户组列表、详情、创建、更新与删除能力GET/POST /api/admin/business-user-groups、GET/PUT/DELETE /api/admin/business-user-groups/{id})。列表 MUST 支持 page/page_size/enabled/keyword/business_line 筛选,且每项 MUST 返回 business_line_name。创建时 code1-64与 name 必填编码未删除组内唯一且创建后不可修改business_line 可空standard/smart/othersort/enabled/remark 可选。更新 MUST 仅允许名称、业务线、排序、启停与备注,且 business_line 支持三态:字段缺失不修改、传 "" 清空、传枚举设置;删除 MUST 携带 {"confirm": true},仅无成员组可删除。

Scenario: 查询业务用户组列表

  • GIVEN 用户进入业务用户组维护页
  • WHEN 前端以 page/page_size/enabled/keyword/business_line 发起列表查询
  • THEN 前端 MUST 展示分页结果且每项显示 business_line_name
  • AND 下拉数据源复用该列表接口

Scenario: 创建时编码不可变

  • GIVEN 用户填写名称与稳定编码创建用户组
  • WHEN 提交成功或编码重复被后端拒绝
  • THEN 编码在创建后 MUST NOT 出现在编辑表单中
  • AND 编码重复时 MUST 展示后端返回的"业务用户组编码已存在"

Scenario: 业务线三态更新

  • GIVEN 用户编辑某组的业务线
  • WHEN 表单传 ""、传枚举或省略该字段
  • THEN 前端 MUST 分别按"清空 / 设置 / 不修改"构造请求体

Scenario: 删除需二次确认

  • GIVEN 用户点击删除某组
  • WHEN 确认弹窗提交
  • THEN 前端 MUST 携带 {"confirm": true}
  • AND 有成员时 MUST 提示"用户组仍有成员,只能停用或先移走成员"且不做物理删除
  • AND 无成员时删除成功并刷新列表

Requirement: 成员归属批量维护

后台 MUST 支持按平台用户账号把成员批量设置进组PUT /api/admin/business-user-groups/{id}/members与批量清空DELETE /api/admin/business-user-groups/members携带 body account_ids。两种操作 MUST 复用同一校验:所有账号必须是启用平台用户且目标组启用,任一账号无效则整批不生效;清空后账号回到未分组;一账号至多一组。

Scenario: 批量设置成员

  • GIVEN 用户在成员管理中选择多个启用平台账号
  • WHEN 保存成员归属
  • THEN 前端 MUST 以 account_ids 数组整体替换每个账号原归属
  • AND 刷新后成员关系与最新分组一致

Scenario: 批量清空成员

  • GIVEN 用户选择若干账号执行清空
  • WHEN 提交清空
  • THEN 前端 MUST 调用 DELETE /api/admin/business-user-groups/members 并携带 account_ids body
  • AND 清空成功的账号回到未分组

Scenario: 停用组的成员展示

  • GIVEN 某组被停用但仍有成员
  • WHEN 用户在成员管理或店铺列表看到该组
  • THEN 前端 MUST 展示"已停用"标记并提供改组/清空入口

Requirement: 访问控制与入口

业务用户组维护入口 MUST 仅对超级管理员与平台账号可见,代理/企业账号 MUST NOT 渲染入口;所有按钮 MUST 受权限码控制。

Scenario: 菜单按角色隐藏

  • GIVEN 代理或企业账号登录
  • WHEN 系统渲染菜单
  • THEN MUST NOT 展示业务用户组菜单项

Scenario: 按钮权限控制

  • GIVEN 平台账号具备部分业务用户组权限
  • WHEN 渲染操作按钮
  • THEN 前端 MUST 按 business_user_group:create/update/delete/members 控制显隐