接口地址: GET /sys/dept/tree
请求参数: 无
响应示例:
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"name": "默认部门",
"parentId": 0,
"memberCount": 15,
"children": [
{
"id": 2,
"name": "技术部",
"parentId": 1,
"memberCount": 8,
"children": []
}
]
}
]
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息,成功为 success |
| data | Array | 部门树列表 |
| data[].id | Long | 部门 ID |
| data[].name | String | 部门名称 |
| data[].parentId | Long | 父部门 ID,顶级部门通常为 0 |
| data[].memberCount | Integer | 成员数量,包含当前部门及所有子部门成员数 |
| data[].children | Array | 子部门列表 |
说明:
SysDeptTreeVO。接口地址: POST /sys/dept/save
请求参数:
{
"id": null,
"parentId": 1,
"name": "技术部",
"description": "负责技术研发"
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | Long | 否 | 部门 ID,新增时通常不传 |
| parentId | Long | 是 | 上级部门 ID,顶级部门可传 0 |
| name | String | 是 | 部门名称,最大长度 20 |
| description | String | 否 | 部门描述,最大长度 100 |
响应示例:
{
"code": 200,
"msg": "success",
"data": null
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 成功时为 null |
校验说明:
错误示例:
{
"code": 500,
"msg": "部门名称不能为空。",
"data": null
}
接口地址: POST /sys/dept/update
请求参数:
{
"id": 2,
"parentId": 1,
"name": "技术研发部",
"description": "负责平台研发与维护"
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | Long | 是 | 部门 ID |
| parentId | Long | 是 | 上级部门 ID |
| name | String | 是 | 部门名称,最大长度 20 |
| description | String | 否 | 部门描述,最大长度 100 |
响应示例:
{
"code": 200,
"msg": "success",
"data": null
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 成功时为 null |
校验说明:
错误示例:
{
"code": 500,
"msg": "不能将部门设置为自己的子部门",
"data": null
}
接口地址: GET /sys/dept/delete/{id}
路径参数:
id: 部门 ID响应示例:
{
"code": 200,
"msg": "success",
"data": null
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 成功时为 null |
校验说明:
错误示例:
{
"code": 500,
"msg": "该部门下存在子部门,无法删除",
"data": null
}
{
"code": 500,
"msg": "该部门下存在成员,无法删除",
"data": null
}
接口地址: GET /sys/dept/options
请求参数: 无
响应示例:
{
"code": 200,
"msg": "success",
"data": [
{
"id": 1,
"name": "默认部门"
},
{
"id": 2,
"name": "技术部"
},
{
"id": 3,
"name": "测试部"
}
]
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息,成功为 success |
| data | Array | 部门选项列表 |
| data[].id | Long | 部门 ID |
| data[].name | String | 部门名称 |
说明:
0。接口地址: POST /sys/dept/member/page
请求参数:
{
"deptId": 1,
"pageNum": 1,
"pageSize": 20
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| deptId | Long | 是 | 部门 ID |
| pageNum | Integer | 否 | 页码,默认 1,最小 1 |
| pageSize | Integer | 否 | 每页条数,默认 20,最小 1,最大 200 |
响应示例:
{
"code": 200,
"msg": "success",
"data": {
"records": [
{
"id": 1,
"nickName": "张三",
"username": "zhangsan",
"roleNames": "平台管理员,平台运营",
"status": 1,
"createTime": "2026-04-20 10:00:00"
}
],
"total": 1,
"size": 20,
"current": 1,
"pages": 1
}
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 分页数据对象 |
| data.records | Array | 当前页成员列表 |
| data.records[].id | Long | 用户 ID |
| data.records[].nickName | String | 用户姓名/昵称 |
| data.records[].username | String | 用户账号 |
| data.records[].roleNames | String | 角色名称,多个角色通常以字符串形式返回 |
| data.records[].status | Integer | 用户状态 |
| data.records[].createTime | String | 创建时间,格式 yyyy-MM-dd HH:mm:ss |
| data.total | Long | 总记录数 |
| data.size | Integer | 每页条数 |
| data.current | Integer | 当前页码 |
| data.pages | Integer | 总页数 |
说明:
PageRequest,默认分页参数由代码控制:pageNum=1、pageSize=20、pageSize 最大 200。DeptMemberVO,实际包含 roleNames、createTime 字段。接口地址: POST /sys/dept/member/add
请求参数:
{
"deptId": 1,
"userIds": [1, 2, 3]
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| deptId | Long | 是 | 部门 ID |
| userIds | List | 是 | 用户 ID 列表 |
响应示例:
{
"code": 200,
"msg": "success",
"data": null
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 成功时为 null |
说明:
接口地址: POST /sys/dept/member/remove
请求参数:
{
"deptId": 1,
"userIds": [1, 2]
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| deptId | Long | 是 | 部门 ID |
| userIds | List | 是 | 用户 ID 列表 |
响应示例:
{
"code": 200,
"msg": "success",
"data": null
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 成功时为 null |
接口地址: POST /sys/dept/member/update
请求参数:
{
"userId": 1,
"deptIds": [1, 2, 3]
}
请求字段说明:
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userId | Long | 是 | 用户 ID |
| deptIds | List | 是 | 部门 ID 列表 |
响应示例:
{
"code": 200,
"msg": "success",
"data": null
}
响应字段说明:
| 字段 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应状态码,成功为 200 |
| msg | String | 响应消息 |
| data | Object | 成功时为 null |
说明:
| 错误码 | 说明 |
|---|---|
| 200 | 请求成功 |
| 500 | 服务器内部错误或业务校验失败 |
| 403 | 无访问权限 |
常见错误信息: