Skip to main content

组织管理

组织管理模块包含用户、角色、部门、团队管理等功能。

用户管理

用户列表

  • 接口地址: /user/api/sysUser/userList
  • 请求方法: GET
  • 权限要求: org_user READ
  • 接口描述: 分页查询系统用户列表

请求参数:

参数名类型必填说明
pageNoInteger当前页码,默认1
pageSizeInteger页码大小,默认10
loginUsernameString登录用户名
telPhoneString手机号
isAdminByte是否管理员:0-否,1-是
stateByte状态:0-禁用,1-启用
sysTypeString系统类型
roleIdString角色ID
nickNameString昵称(模糊查询)
departmentCodeString部门编码
SpaceCodeString空间编码
typeString类型
pageCodeString页面编码
tenantIdString租户ID

响应示例:

{
"data": [
{
"id": 1,
"code": "user_001",
"name": "管理员",
"nickName": "管理员",
"tel": "13800138000",
"email": "admin@example.com",
"sex": null,
"birthday": null,
"logoImage": null,
"sign": null,
"industry": null,
"departmentNo": "dept_001",
"departmentName": "技术部",
"jobNo": null,
"jobTitle": null,
"country": null,
"city": null,
"joinTime": null,
"status": 1,
"roles": [
{
"roleId": "role_001",
"roleName": "普通用户"
}
]
}
],
"total": 1,
"totalPage": 1,
"pageNo": 1,
"pageSize": 10
}

请求示例:

curl -X GET "${domain}/user/api/sysUser/userList?pageNo=1&pageSize=10&nickName=admin" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

新增用户

  • 接口地址: /user/api/sysUser/add
  • 请求方法: POST
  • 权限要求: org_user WRITE
  • 接口描述: 新增系统用户

请求参数:

参数名类型必填说明
loginUsernameString登录用户名
realNameString真实姓名
telPhoneString手机号
photoUrlString头像地址
isAdminByte是否管理员:0-否,1-是
stateByte状态:0-禁用,1-启用
sysTypeString系统类型
roleIdListList\<String>角色ID列表
newPwdString新密码
confirmPwdString确认密码

RequestBody示例:

{
"loginUsername": "testuser",
"realName": "测试用户",
"telPhone": "13800138000",
"sysType": "ais",
"roleIdList": ["role_001"],
"newPwd": "123456",
"confirmPwd": "123456"
}

响应示例:

{
"code": 8200,
"message": "新增成功",
"data": true
}

请求示例:

curl -X POST "${domain}/user/api/sysUser/add" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"loginUsername": "testuser",
"realName": "测试用户",
"telPhone": "13800138000",
"sysType": "ais",
"roleIdList": ["role_001"],
"newPwd": "123456",
"confirmPwd": "123456"
}'

编辑用户

  • 接口地址: /user/api/sysUser/edit
  • 请求方法: POST
  • 权限要求: org_user WRITE
  • 接口描述: 编辑系统用户信息

请求参数:

参数名类型必填说明
idLong用户ID
loginUsernameString登录用户名
realNameString真实姓名
telPhoneString手机号
photoUrlString头像地址
isAdminByte是否管理员:0-否,1-是
stateByte状态:0-禁用,1-启用
roleIdListList\<String>角色ID列表
newPwdString新密码
confirmPwdString确认密码
resetPwdBoolean是否重置密码

RequestBody示例:

{
"id": 1,
"loginUsername": "testuser",
"realName": "测试用户",
"telPhone": "13800138000",
"roleIdList": ["role_001"]
}

响应示例:

{
"code": 8200,
"message": "编辑成功",
"data": true
}

请求示例:

curl -X POST "${domain}/user/api/sysUser/edit" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"id": 1,
"loginUsername": "testuser",
"realName": "测试用户",
"telPhone": "13800138000",
"roleIdList": ["role_001"]
}'

删除用户

  • 接口地址: /user/api/sysUser/delete
  • 请求方法: DELETE
  • 权限要求: org_user WRITE
  • 接口描述: 删除系统用户

请求参数:

参数名类型必填说明
userIdLong用户ID

响应示例:

{
"code": 8200,
"message": "删除成功",
"data": true
}

请求示例:

curl -X DELETE "${domain}/user/api/sysUser/delete?userId=1" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

用户详情

  • 接口地址: /user/api/sysUser/detail
  • 请求方法: GET
  • 权限要求: org_user READ
  • 接口描述: 查询系统用户详情

请求参数:

参数名类型必填说明
userIdLong用户ID

响应示例:

{
"code": 8200,
"message": "操作成功",
"data": {
"id": 1,
"loginUsername": "testuser",
"realName": "测试用户",
"telPhone": "13800138000",
"telPhoneHidden": "138****8000",
"photoUrl": null,
"isAdmin": 0,
"state": 1,
"sysType": "ais",
"belongTenantId": 0,
"createTime": "2024-01-01 10:00:00",
"roleNames": ["普通用户"],
"roleIdList": ["role_001"]
}
}

请求示例:

curl -X GET "${domain}/user/api/sysUser/detail?userId=1" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

修改密码

  • 接口地址: /user/api/sysUser/modifyPwd
  • 请求方法: POST
  • 权限要求: org_user WRITE
  • 接口描述: 用户修改自己的密码

请求参数:

参数名类型必填说明
originalPwdString原始密码
newPwdString新密码
confirmPwdString确认密码
needModifyBoolean是否需要修改

RequestBody示例:

{
"originalPwd": "123456",
"newPwd": "654321",
"confirmPwd": "654321",
"needModify": false
}

响应示例:

{
"code": 8200,
"message": "修改成功",
"data": true
}

请求示例:

curl -X POST "${domain}/user/api/sysUser/modifyPwd" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"originalPwd": "123456",
"newPwd": "654321",
"confirmPwd": "654321"
}'

管理员重置密码

  • 接口地址: /user/api/sysUser/reset
  • 请求方法: POST
  • 权限要求: org_user WRITE
  • 接口描述: 管理员重置用户密码

请求参数:

参数名类型必填说明
userIdLong用户ID

RequestBody示例:

{
"userId": 1
}

响应示例:

{
"code": 8200,
"message": "重置成功",
"data": true
}

请求示例:

curl -X POST "${domain}/user/api/sysUser/reset" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"userId": 1
}'

角色管理

角色列表

  • 接口地址: /user/api/sysUserRole/list
  • 请求方法: GET
  • 权限要求: org_role READ
  • 接口描述: 分页查询角色列表

请求参数:

参数名类型必填说明
pageNoInteger当前页码,默认1
pageSizeInteger页码大小,默认10
roleNameString角色名称(模糊查询)

响应示例:

{
"data": [
{
"id": 1,
"roleId": "role_001",
"roleName": "普通用户",
"roleDesc": "普通用户角色",
"sysType": "ais",
"belongId": "0",
"createTime": "2024-01-01 10:00:00",
"creator": 1,
"modifiedTime": "2024-01-01 10:00:00",
"modifier": 1,
"permissionList": [
{
"id": "perm_001",
"name": "查看"
}
],
"permissionIdList": ["perm_001"]
}
],
"total": 1,
"totalPage": 1,
"pageNo": 1,
"pageSize": 10
}

请求示例:

curl -X GET "${domain}/user/api/sysUserRole/list?pageNo=1&pageSize=10" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

新增角色

  • 接口地址: /user/api/sysUserRole/add
  • 请求方法: POST
  • 权限要求: org_role WRITE
  • 接口描述: 新增角色

请求参数:

参数名类型必填说明
roleNameString角色名称
roleDescString角色描述
sysTypeString系统类型
permissionIdListList\<String>权限ID列表
belongIdString归属ID,默认"0"

RequestBody示例:

{
"roleName": "普通用户",
"roleDesc": "普通用户角色",
"sysType": "ais",
"permissionIdList": [
"perm_001",
"perm_002"
],
"belongId": "0"
}

响应示例:

{
"code": 8200,
"message": "新增成功",
"data": true
}

请求示例:

curl -X POST "${domain}/user/api/sysUserRole/add" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"roleName": "普通用户",
"roleDesc": "普通用户角色",
"sysType": "ais",
"permissionIdList": ["perm_001"]
}'

编辑角色

  • 接口地址: /user/api/sysUserRole/edit
  • 请求方法: POST
  • 权限要求: org_role WRITE
  • 接口描述: 修改角色信息

请求参数:

参数名类型必填说明
roleIdString角色ID
roleNameString角色名称
roleDescString角色描述(最大100字符)
sysTypeString系统类型
permissionIdListList\<String>权限ID列表

RequestBody示例:

{
"roleId": "role_001",
"roleName": "普通用户",
"roleDesc": "普通用户角色",
"permissionIdList": [
"perm_001",
"perm_002"
]
}

响应示例:

{
"code": 8200,
"message": "修改成功",
"data": true
}

请求示例:

curl -X POST "${domain}/user/api/sysUserRole/edit" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"roleId": "role_001",
"roleName": "普通用户",
"roleDesc": "普通用户角色"
}'

删除角色

  • 接口地址: /user/api/sysUserRole/del
  • 请求方法: DELETE
  • 权限要求: org_role WRITE
  • 接口描述: 删除角色

请求参数:

参数名类型必填说明
roleIdString角色ID

响应示例:

{
"code": 8200,
"message": "删除成功",
"data": true
}

请求示例:

curl -X DELETE "${domain}/user/api/sysUserRole/del?roleId=role_001" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

角色详情

  • 接口地址: /user/api/sysUserRole/detail
  • 请求方法: GET
  • 权限要求: org_role READ
  • 接口描述: 查询角色详情

请求参数:

参数名类型必填说明
roleIdString角色ID

响应示例:

{
"code": 8200,
"message": "操作成功",
"data": {
"id": 1,
"roleId": "role_001",
"roleName": "普通用户",
"roleDesc": "普通用户角色",
"sysType": "ais",
"belongId": "0",
"createTime": "2024-01-01 10:00:00",
"creator": 1,
"modifiedTime": "2024-01-01 10:00:00",
"modifier": 1,
"permissionList": [
{
"id": "perm_001",
"name": "查看"
}
],
"permissionIdList": ["perm_001"]
}
}

请求示例:

curl -X GET "${domain}/user/api/sysUserRole/detail?roleId=role_001" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

权限树

  • 接口地址: /user/api/sysPermission/showTree
  • 请求方法: GET
  • 权限要求: org_role READ
  • 接口描述: 获取完整的权限树结构

请求参数:

参数名类型必填说明
platformString平台标识

响应示例:

{
"code": 8200,
"message": "操作成功",
"data": [
{
"id": "1",
"name": "知识库管理",
"children": [
{
"id": "1-1",
"name": "知识库容器",
"permission": "knowledge_container",
"children": [
{
"id": "1-1-1",
"name": "查看",
"permission": "knowledge_container:read"
},
{
"id": "1-1-2",
"name": "编辑",
"permission": "knowledge_container:write"
}
]
}
]
}
]
}

请求示例:

curl -X GET "${domain}/user/api/sysPermission/showTree" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

部门管理

部门列表

  • 接口地址: /kb/department/list
  • 请求方法: GET
  • 权限要求: org_org READ
  • 接口描述: 分页查询部门列表

请求参数:

参数名类型必填说明
pageNoInteger当前页码,默认1
pageSizeInteger页码大小,默认10
codeString部门编码
nameString部门名称
pidString父部门编码
gradeInteger层级
spaceCodeString空间编码
pageCodeString页面编码

响应示例:

{
"data": [
{
"id": 1,
"code": "dept_001",
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"grade": 1,
"fullPath": "/技术部",
"description": "负责技术研发",
"userCount": 10,
"relationUserCount": 8,
"type": "department",
"children": [],
"deprecateTag": null,
"inSpace": false,
"inPerm": false,
"limitType": null,
"creator": 1,
"createTime": "2024-01-01 10:00:00",
"modifier": 1,
"modifierTime": "2024-01-01 10:00:00",
"sort": 1,
"tenantId": 0
}
],
"total": 1,
"totalPage": 1,
"pageNo": 1,
"pageSize": 10
}

请求示例:

curl -X GET "${domain}/kb/department/list?pageNo=1&pageSize=10" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

新增部门

  • 接口地址: /kb/department/add
  • 请求方法: POST
  • 权限要求: org_org WRITE
  • 接口描述: 新增部门

请求参数:

参数名类型必填说明
nameString部门名称
aliasNameString部门别名
pidString父部门编码,默认"0"
typeString部门类型
descriptionString部门描述

RequestBody示例:

{
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"type": "department",
"description": "负责技术研发"
}

响应示例:

{
"code": 8200,
"message": "新增成功",
"data": {
"id": 1,
"code": "dept_001",
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"grade": 1,
"fullPath": "/技术部",
"description": "负责技术研发",
"userCount": 0,
"relationUserCount": 0,
"type": "department",
"children": []
}
}

请求示例:

curl -X POST "${domain}/kb/department/add" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"type": "department",
"description": "负责技术研发"
}'

修改部门

  • 接口地址: /kb/department/update
  • 请求方法: PUT
  • 权限要求: org_org WRITE
  • 接口描述: 修改部门信息

请求参数:

参数名类型必填说明
idInteger部门ID
nameString部门名称
aliasNameString部门别名
pidString父部门编码
typeString部门类型
descriptionString部门描述

RequestBody示例:

{
"id": 1,
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"type": "department",
"description": "负责技术研发"
}

响应示例:

{
"code": 8200,
"message": "修改成功",
"data": {
"id": 1,
"code": "dept_001",
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"grade": 1,
"fullPath": "/技术部",
"description": "负责技术研发",
"userCount": 0,
"relationUserCount": 0,
"type": "department",
"children": []
}
}

请求示例:

curl -X PUT "${domain}/kb/department/update" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"id": 1,
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"type": "department",
"description": "负责技术研发"
}'

删除部门

  • 接口地址: /kb/department/delete
  • 请求方法: DELETE
  • 权限要求: org_org WRITE
  • 接口描述: 删除部门

请求参数:

参数名类型必填说明
codeString部门编码

响应示例:

{
"code": 8200,
"message": "删除成功",
"data": "dept_001"
}

请求示例:

curl -X DELETE "${domain}/kb/department/delete?code=dept_001" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

部门详情

  • 接口地址: /kb/department/queryById
  • 请求方法: GET
  • 权限要求: org_org READ
  • 接口描述: 查询部门详情

请求参数:

参数名类型必填说明
idInteger部门ID

响应示例:

{
"code": 8200,
"message": "操作成功",
"data": {
"id": 1,
"code": "dept_001",
"name": "技术部",
"aliasName": "Tech",
"pid": "0",
"grade": 1,
"fullPath": "/技术部",
"description": "负责技术研发",
"userCount": 10,
"relationUserCount": 8,
"type": "department",
"children": [],
"deprecateTag": null,
"inSpace": false,
"inPerm": false,
"limitType": null,
"creator": 1,
"createTime": "2024-01-01 10:00:00",
"modifier": 1,
"modifierTime": "2024-01-01 10:00:00",
"sort": 1,
"tenantId": 0
}
}

请求示例:

curl -X GET "${domain}/kb/department/queryById?id=1" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

组织架构

  • 接口地址: /kb/department/organization
  • 请求方法: GET
  • 权限要求: org_org READ
  • 接口描述: 获取完整的组织架构树

请求参数:

参数名类型必填说明
parentCodeString父节点编码
nameString名称过滤

响应示例:

{
"code": 8200,
"message": "操作成功",
"data": [
{
"id": 1,
"code": "dept_001",
"name": "总部",
"children": [
{
"id": 2,
"code": "dept_002",
"name": "技术部",
"children": []
},
{
"id": 3,
"code": "dept_003",
"name": "市场部",
"children": []
}
]
}
]
}

请求示例:

curl -X GET "${domain}/kb/department/organization" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

团队管理

团队列表

  • 接口地址: /kb/department/team/list
  • 请求方法: GET
  • 权限要求: org_team READ
  • 接口描述: 分页查询团队列表

请求参数:

参数名类型必填说明
pageNoInteger当前页码,默认1
pageSizeInteger页码大小,默认10
nameString团队名称(模糊查询)

响应示例:

{
"code": 8200,
"message": "操作成功",
"data": [
{
"id": 1,
"code": "team_001",
"name": "前端开发组",
"description": "负责前端开发",
"departmentCode": "dept_001",
"departmentName": "技术部",
"memberCount": 5,
"creator": "admin",
"createTime": "2024-01-01 10:00:00",
"modifier": "admin",
"modifierTime": "2024-01-01 10:00:00",
"sort": 1,
"tenantId": "0"
}
],
"total": 1,
"totalPage": 1,
"pageNo": 1,
"pageSize": 10
}

请求示例:

curl -X GET "${domain}/kb/department/team/list?pageNo=1&pageSize=10" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"

新增团队

  • 接口地址: /kb/department/team/add
  • 请求方法: POST
  • 权限要求: org_team WRITE
  • 接口描述: 新增团队

请求参数:

参数名类型必填说明
nameString团队名称
aliasNameString团队别名
descriptionString团队描述
userCodesList\<String>团队成员用户编码列表

RequestBody示例:

{
"name": "前端开发组",
"aliasName": "Frontend",
"description": "负责前端开发",
"userCodes": ["user_001", "user_002"]
}

响应示例:

{
"code": 8200,
"message": "新增成功",
"data": {
"code": "team_001",
"name": "前端开发组",
"aliasName": "Frontend",
"description": "负责前端开发",
"userCount": 2
}
}

请求示例:

curl -X POST "${domain}/kb/department/team/add" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"name": "前端开发组",
"aliasName": "Frontend",
"description": "负责前端开发",
"userCodes": ["user_001", "user_002"]
}'

修改团队

  • 接口地址: /kb/department/team/update
  • 请求方法: PUT
  • 权限要求: org_team WRITE
  • 接口描述: 修改团队信息

请求参数:

参数名类型必填说明
codeString团队编码
nameString团队名称
aliasNameString团队别名
descriptionString团队描述
userCodesList\<String>团队成员用户编码列表

RequestBody示例:

{
"code": "team_001",
"name": "前端开发组",
"aliasName": "Frontend",
"description": "负责前端开发",
"userCodes": ["user_001", "user_002"]
}

响应示例:

{
"code": 8200,
"message": "修改成功",
"data": {
"code": "team_001",
"name": "前端开发组",
"aliasName": "Frontend",
"description": "负责前端开发",
"userCount": 2
}
}

请求示例:

curl -X PUT "${domain}/kb/department/team/update" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"code": "team_001",
"name": "前端开发组",
"aliasName": "Frontend",
"description": "负责前端开发",
"userCodes": ["user_001", "user_002"]
}'

删除团队

  • 接口地址: /kb/department/team/delete
  • 请求方法: DELETE
  • 权限要求: org_team WRITE
  • 接口描述: 删除团队

请求参数:

参数名类型必填说明
codeString团队编码

响应示例:

{
"code": 8200,
"message": "删除成功",
"data": true
}

请求示例:

curl -X DELETE "${domain}/kb/department/team/delete?code=team_001" \
-H "Authorization: Bearer sk_xxxxxxxxxxxxx" \
-H "Content-Type: application/json"