AdminAuthtimeController(企业管理员管理)¶
管理企业域下的「企业管理员」(业务上以 UserVO.departmentUser=true 标记,由前端选中维护):分页查询某企业域的管理员候选列表、查询非管理员用户列表,以及把一批 runtime 用户标记为管理员 / 取消管理员标记。
- 类级基址:
${myapps.context-path.manager:}/api/authtime(完整路径:{manager-context}/api/authtime<相对路径>) - Tag:控制器未声明
@Tag(源码无@Tag注解) - 控制器源码:
obpm-manager/src/main/java/cn/myapps/manager/authtime/controller/admin/AdminAuthtimeController.java - 公共说明:
- 类继承
BaseAuthTimeController,通过其success(errmsg, data)/error(errcode, errmsg, errors)返回统一Resource(字段errcode/errmsg/data/errors,结构见 ../index.md「统一响应结构」)。 - 多数端点在
try/catch内捕获Exception并e.printStackTrace()后返回errcode=500、errmsg=e.getMessage()、data=null;空选校验返回errcode=1。OBPMValidateException单独捕获并以异常信息作为errmsg。 - 控制器未声明
@ResponseStatus,HTTP 状态码默认 200。 - 鉴权说明见 index.md「鉴权说明」(adminToken JWT)。
- 路径变量
domainid为企业域 id(所有 4 个端点均持有)。 - 业务定义:本控制器的「管理员」并非
SuperUserVO(特权用户),而是该企业域下、UserVO.departmentUser标记为true的 runtime 用户。getAdminList与getNotAdminList两个查询端点的实现**完全一致**(均调用UserProcess.doQueryByDomainAndLikeName按domainid+ 名称模糊查询),前端按响应字段departmentUser自行筛选区分。两个端点的差异仅在语义命名。
1. 获取管理员列表¶
按企业域分页查询用户列表(按 name 模糊匹配)。响应中每个用户元素带 departmentUser 字段,由前端筛选 departmentUser=true 的用户作为企业管理员。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/domain/{domainid}/admins(完整:{manager-context}/api/authtime/domain/{domainid}/admins) - 鉴权:是(需管理员 adminToken,详见 index.md「鉴权说明」)
- Tag:企业管理员管理(控制器未声明
@Tag)
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| domainid | path | string | 是 | 企业域 id(空字符串时传 null 给查询) |
| content | body | JSON | 是 | 过滤条件包体(字段见下) |
| currpage | query | string | 否 | 当前页码,缺省 1 |
| pagelines | query | string | 否 | 每页条数,缺省 10 |
| orderby | query | string | 否 | 排序字段(参数持有但当前实现未使用) |
请求体¶
JSON 对象(application/json),字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 用户名称模糊匹配关键词 |
请求示例¶
POST /api/authtime/domain/__P1UD2yVWpnFpUedONr/admins?currpage=1&pagelines=20 HTTP/1.1
Content-Type: application/json
{ "name": "admin" }
响应¶
结构:统一 Resource。
data:JSONObject(手工拼装的分页包),字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| linesPerPage | int | 每页条数 |
| pageCount | int | 总页数 |
| pageNo | int | 当前页码 |
| rowCount | int | 总记录数 |
| datas | array\<JSONObject> | 用户数组(见下) |
datas 元素字段:
| 字段 | 类型 | 说明 |
|---|---|---|
| id | string | 用户 id |
| name | string | 用户名称 |
| loginno | string | 登录账号 |
| string | 邮箱 | |
| departmentUser | boolean | 是否企业管理员(前端据此筛选) |
| defaultDepartment | object | 默认部门 |
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"linesPerPage": 20,
"pageCount": 1,
"pageNo": 1,
"rowCount": 2,
"datas": [
{ "id": "__U001", "name": "admin", "loginno": "admin", "email": "admin@example.com", "departmentUser": true, "defaultDepartment": null },
{ "id": "__U002", "name": "zhangsan", "loginno": "zhangsan", "email": "", "departmentUser": false, "defaultDepartment": null }
]
},
"errors": null
}
2. 获取不是管理员的用户列表¶
按企业域分页查询用户列表(按 name 模糊匹配),用于补充挑选新管理员。实现与「获取管理员列表」完全一致(同一 doQueryByDomainAndLikeName 调用),前端按响应字段 departmentUser=false 自行筛选非管理员。
- 接口类型:REST 资源
- 请求方式:
POST - 请求路径:
/domain/{domainid}/notadmins(完整:{manager-context}/api/authtime/domain/{domainid}/notadmins) - 鉴权:是
- Tag:企业管理员管理(控制器未声明
@Tag)
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| domainid | path | string | 是 | 企业域 id(空字符串时传 null 给查询) |
| content | body | JSON | 是 | 过滤条件包体(字段见下) |
| currpage | query | string | 否 | 当前页码,缺省 1 |
| pagelines | query | string | 否 | 每页条数,缺省 10 |
| orderby | query | string | 否 | 排序字段(参数持有但当前实现未使用) |
请求体¶
JSON 对象(application/json),字段:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| name | string | 否 | 用户名称模糊匹配关键词 |
请求示例¶
POST /api/authtime/domain/__P1UD2yVWpnFpUedONr/notadmins?currpage=1&pagelines=20 HTTP/1.1
Content-Type: application/json
{ "name": "" }
响应¶
结构:统一 Resource。
data:JSONObject(同「获取管理员列表」的 data 结构)。
成功示例:
{
"errcode": 0,
"errmsg": "ok",
"data": {
"linesPerPage": 20,
"pageCount": 1,
"pageNo": 1,
"rowCount": 2,
"datas": [
{ "id": "__U001", "name": "admin", "loginno": "admin", "email": "admin@example.com", "departmentUser": true, "defaultDepartment": null },
{ "id": "__U002", "name": "zhangsan", "loginno": "zhangsan", "email": "", "departmentUser": false, "defaultDepartment": null }
]
},
"errors": null
}
3. 添加管理员¶
把指定 runtime 用户批量标记为企业管理员(将 UserVO.departmentUser 置为 true 并 doUpdate)。domainid 仅作路径声明,实际逻辑未使用。
- 接口类型:REST 资源
- 请求方式:
PUT - 请求路径:
/domain/{domainid}/admin(完整:{manager-context}/api/authtime/domain/{domainid}/admin) - 鉴权:是
- Tag:企业管理员管理(控制器未声明
@Tag)
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| domainid | path | string | 是 | 企业域 id(路径变量,方法签名持有但实际逻辑未直接使用) |
| ids | body | string[] | 是 | 待标记为管理员的用户 id 数组 |
请求体¶
application/json,字符串数组:
请求示例¶
PUT /api/authtime/domain/__P1UD2yVWpnFpUedONr/admin HTTP/1.1
Content-Type: application/json
[ "__U002" ]
响应¶
结构:统一 Resource。
data:字符串 "添加成功"。
| 条件 | errcode | errmsg | data |
|---|---|---|---|
ids 为空数组或 null |
1 | 没有记录被选中,请选择记录 |
null |
| 业务校验异常 | 500 | <异常信息> |
null |
| 成功 | 0 | ok | 添加成功 |
成功示例:
失败示例:4. 移除管理员¶
把指定 runtime 用户批量取消企业管理员标记(将 UserVO.departmentUser 置为 false 并 doUpdate)。domainid 仅作路径声明,实际逻辑未使用。
- 接口类型:REST 资源
- 请求方式:
DELETE - 请求路径:
/domain/{domainid}/admin(完整:{manager-context}/api/authtime/domain/{domainid}/admin) - 鉴权:是
- Tag:企业管理员管理(控制器未声明
@Tag)
请求参数¶
| 参数名 | 位置 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| domainid | path | string | 是 | 企业域 id(路径变量,方法签名持有但实际逻辑未直接使用) |
| ids | body | string[] | 是 | 待取消管理员标记的用户 id 数组 |
请求体¶
application/json,字符串数组:
请求示例¶
DELETE /api/authtime/domain/__P1UD2yVWpnFpUedONr/admin HTTP/1.1
Content-Type: application/json
[ "__U002" ]
响应¶
结构:统一 Resource。
data:字符串 "移除成功"。
| 条件 | errcode | errmsg | data |
|---|---|---|---|
ids 为空数组或 null |
1 | 没有记录被选中,请选择记录 |
null |
| 业务校验异常 | 500 | <异常信息> |
null |
| 成功 | 0 | ok | 移除成功 |
成功示例:
失败示例: