实施业务用户组成员管理
All checks were successful
构建并部署到测试环境(无 SSH) / build-and-deploy (push) Successful in 9m42s

This commit is contained in:
2026-09-21 21:20:38 +08:00
parent 4a16eb0b1e
commit 22c3e7cc1a
14 changed files with 836 additions and 106 deletions

View File

@@ -72,6 +72,48 @@
- **WHEN** 某行操作类型为换绑但业务员登录账号为空,或操作类型为清空但填写了业务员登录账号
- **THEN** 该行失败并保留店铺原负责人,其他行照常处理
### Requirement: 业务用户组成员与候选用户可分页查询
系统 SHALL 提供组内成员和成员候选分页查询。成员查询保留并展示启用、禁用及已软删除账号的未删除关系,支持用户名/手机号及账号状态筛选;候选查询仅返回启用且未删除的平台用户,支持全部、未分组、当前组和其他组筛选,并返回 `add``already_member``move` 操作提示。停用组仍可查询,候选统一标记不可添加;用户组列表和详情返回批量投影的实时保留成员数。
#### Scenario: 成员查询保留历史账号关系
- **WHEN** 授权账号查询包含启用、禁用和已删除账号关系的用户组
- **THEN** 系统分页返回三类成员并标记账号状态与删除状态,不修改关系
#### Scenario: 候选归属提示
- **WHEN** 授权账号查询目标组候选并分别存在未分组、当前组和其他组平台用户
- **THEN** 系统返回 `add``already_member``move` 提示及当前组信息
#### Scenario: 用户组成员数实时变化
- **WHEN** 成员迁入或移出后查询用户组列表或详情
- **THEN** 系统返回新的保留成员关系数量,无需更新组或店铺记录
#### Scenario: 增量增加与迁移
- **WHEN** 管理员向启用目标组提交启用未删除平台用户
- **THEN** 未分组账号新增、其他组账号迁入、当前组账号保持不变,任一无效账号整批回滚
#### Scenario: 组作用域增量移除
- **WHEN** 管理员从启用或停用目标组移除当前成员
- **THEN** 系统仅软删除目标组关系并记录逐账号审计,任一不匹配账号整批冲突
#### Scenario: 旧成员入口不可达
- **WHEN** 调用方请求旧 PUT 成员入口或全局 DELETE 成员入口
- **THEN** 系统不提供旧成员维护能力,调用方必须使用组作用域 POST/DELETE 入口
### Requirement: 业务用户组成员按组作用域增量增加与移除
系统 SHALL 以 `POST /api/admin/business-user-groups/{id}/members` 增量增加成员:目标组必须启用,账号必须是启用且未删除的平台用户;未分组账号新增、其他组账号迁入、当前组账号幂等,任一无效账号整批回滚。系统 SHALL 以 `DELETE /api/admin/business-user-groups/{id}/members` 增量移除成员:目标组启用或停用均可操作,所有账号必须锁后仍属于目标组;仅软删除目标组关系,禁用或已删除账号关系可清理,任一不匹配整批冲突。成员变化须逐账号记录原组、目标组、操作者和时间审计,并继续实时推导店铺所属组。
#### Scenario: 增量增加与迁移
- **WHEN** 管理员向启用目标组提交启用未删除平台用户
- **THEN** 未分组账号新增、其他组账号迁入、当前组账号保持不变,任一无效账号整批回滚
#### Scenario: 组作用域增量移除
- **WHEN** 管理员从启用或停用目标组移除当前成员
- **THEN** 系统仅软删除目标组关系并记录逐账号审计,任一不匹配账号整批冲突
### Requirement: 业务用户组成员接口干净切换
系统 MUST 不再提供旧成员维护入口和全局成员清空入口,不保留兼容别名;调用方必须使用组作用域的 POST/DELETE 接口。
#### Scenario: 旧成员入口不可达
- **WHEN** 调用方请求旧 PUT 成员入口或全局 DELETE 成员入口
- **THEN** 系统不提供旧成员维护能力,调用方必须使用组作用域 POST/DELETE 入口
## 可达操作索引
本节只用于入口导航,不是行为 Requirement业务义务以上述 Requirements 为准。
@@ -82,7 +124,7 @@
### 业务用户组成员归属
`PUT /api/admin/business-user-groups/{id}/members`(批量设置平台用户业务用户组归属`DELETE /api/admin/business-user-groups/members`批量清空平台用户业务用户组归属)
`GET /api/admin/business-user-groups/{id}/members`(分页查询目标组成员,包含禁用及已删除账号关系);`GET /api/admin/business-user-groups/{id}/member-candidates`(分页查询启用平台用户候选及当前归属);`POST /api/admin/business-user-groups/{id}/members`(增量增加成员,其他组成员直接迁入`DELETE /api/admin/business-user-groups/{id}/members`按目标组作用域增量移除成员,启用或停用组均可操作)。旧 PUT 成员入口与全局 DELETE 成员入口不再提供
### 店铺负责人批量交接