feat: 管理员修改用户姓名、批量创建机构用户接口(单条失败不影响其他,返回逐条结果)

This commit is contained in:
2026-10-27 13:29:14 +08:00
parent 6ccc8524fa
commit ef2dab823f
6 changed files with 245 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
# 前端接口文档 —— 用户管理增强 & 机构账号查询 & 按手机号查询文件记录
> 版本:v1.0(2026-09-14)
> 版本:v1.2(2026-10-27,新增 1.4 修改用户姓名、1.5 批量创建机构用户)
> 适用后端:s-file(alita-bjy-uygur)
> Swagger 分组:「用户」「用户文件」
@@ -170,6 +170,94 @@ POST /user/admin_cancel
> **与既有接口的区别**:既有 `POST /user/cancel` 为机构内注销(限定当前登录机构、且要求目标账号启用中),供原「注销申请/同意」流程使用,保持不变;本接口供系统管理员在用户管理页面跨机构直接注销。
### 1.4 修改用户姓名
修改用户账号的真实姓名(`real_name`)。平台超管可修改全部用户;机构管理员仅可修改本机构用户(同一账号属于多个机构时,改的是账号本身,各机构下展示同步生效)。
- **URL**:`POST /user/modify_real_name`
- **权限**:平台超管(全部用户)/ 机构管理员(限本机构用户)
- **Body**(application/json)
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | Long | 是 | 目标用户 id |
| realName | String | 是 | 新姓名,2-30 位,仅支持中文或英文姓名 |
- **返回**:`AlitaResult<Boolean>`,data 为 `true`
- **失败场景**:
- 用户不存在
- 目标已注销(提示「已注销账号不可修改姓名」)
- 姓名格式错误(提示「姓名格式错误!(长度2-30位,仅支持中文或英文姓名)」)
- 与原姓名一致(提示「姓名与原姓名一致,无需修改!」)
- 机构管理员操作非本机构用户(提示「只能操作本机构的用户」)
**请求示例**
```json
POST /user/modify_real_name
{ "userId": 10086, "realName": "张三" }
```
**返回示例**
```json
{ "code": "200", "success": true, "data": true }
```
> **与既有接口的区别**:既有 `POST /user/modify_org_user_info` 为超管编辑企业用户完整信息(账号名/姓名/启用状态一起校验更新);本接口仅更新姓名,供用户管理页与机构账号页的「修改姓名」入口使用。
### 1.5 批量创建机构用户
一次性提交多条「手机号 + 姓名」创建机构用户。**单条失败不影响其他条目**(每条独立事务),返回与入参**顺序一一对应**的逐条结果,前端据此展示失败项。
- **URL**:`POST /user/batch_create_org_user`
- **权限**:登录用户(机构取当前登录机构,与单条创建 `POST /user/create_org_user` 一致)
- **Body**(application/json,对象数组,单次最多 **500** 条)
数组元素字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| phone | String | 是 | 手机号 |
| realName | String | 否 | 姓名 |
- **返回**:`AlitaResult<List<OrgUserCreateResultDTO>>`
**OrgUserCreateResultDTO 字段**
| 字段 | 类型 | 说明 |
|---|---|---|
| phone | String | 手机号(回显入参) |
| realName | String | 姓名(回显入参) |
| success | Boolean | 是否创建成功 |
| userId | Long | 用户 id,失败时为 null |
| msg | String | 失败原因,成功时为 null |
**请求示例**
```json
POST /user/batch_create_org_user
[
{ "phone": "13800000001", "realName": "张三" },
{ "phone": "13800000002", "realName": "李四" }
]
```
**返回示例**
```json
{
"code": "200",
"success": true,
"data": [
{ "phone": "13800000001", "realName": "张三", "success": true, "userId": 1001, "msg": null },
{ "phone": "13800000002", "realName": "李四", "success": false, "userId": null, "msg": "手机号已存在,不能重复添加" }
]
}
```
- **失败场景**(整体请求失败):列表为空;超过 500 条(提示「单次批量创建不能超过500条」)。单条业务失败(手机号格式不正确、手机号已存在等)不使请求失败,体现在对应条目的 `success/msg` 中。
---
## 2. 系统管理员:查看各机构下的账号信息
@@ -405,3 +493,6 @@ GET /user_file/record/page_by_phone?phone=13800000001&recordType=2&pageNo=1&page
| 禁用/注销超管 | 不能禁用超级管理员账号 / 不能注销超级管理员账号 |
| recordType 非法 | 记录类型不合法,仅支持1上传/2发送/3接收 |
| phone 为空 | 手机号不能为空 |
| 修改姓名格式错误 | 姓名格式错误!(长度2-30位,仅支持中文或英文姓名) |
| 修改姓名与原值相同 | 姓名与原姓名一致,无需修改! |
| 机构管理员越机构操作 | 只能操作本机构的用户 |