学生管理员授权关系API文档
1. 文档说明
1.1 API基础信息
- 模块名称: 学工管理 - 学生管理员授权关系
- 模块代码: ruoyi-xg
- 基础路径:
/xgStudentManagerSource/studentManagerSource
- 权限前缀:
xgStudentManagerSource:studentManagerSource
- 版本: 1.0.0
- 更新时间: 2025-07-24
1.2 通用规范
- 请求方式: 支持GET、POST、PUT、DELETE
- 数据格式: JSON
- 字符编码: UTF-8
- 认证方式: Bearer Token
- 权限控制: Sa-Token + 数据权限
1.3 响应格式
{
"code": 200,
"msg": "操作成功",
"data": {},
"timestamp": "2025-07-24T10:00:00"
}
2. 学生管理员授权关系接口
2.1 查询学生管理员授权关系列表
- 接口路径: GET
/xgStudentManagerSource/studentManagerSource/list
- 权限标识:
xgStudentManagerSource:studentManagerSource:list
- 功能描述: 分页查询学生管理员授权关系列表
请求参数
| 参数名 |
类型 |
必填 |
说明 |
| pageNum |
integer |
否 |
页码,默认1 |
| pageSize |
integer |
否 |
每页大小,默认10 |
| managerId |
long |
否 |
管理员ID |
| permissionType |
string |
否 |
权限类型(1查看 2编辑 3完全管理) |
| authType |
string |
否 |
授权类型(1全校级 2自定义 3班主任) |
| authSource |
long |
否 |
授权来源ID(对应班级id) |
| status |
string |
否 |
状态(0有效 1已撤销) |
响应数据
{
"code": 200,
"msg": "查询成功",
"total": 10,
"rows": [
{
"id": 1,
"managerId": 123,
"permissionType": "2",
"authType": "2",
"authSource": 456,
"status": "0",
"remark": "自定义管理员权限",
"createTime": "2025-07-24 10:00:00"
}
]
}
2.2 获取学生管理员授权关系详细信息
- 接口路径: GET
/xgStudentManagerSource/studentManagerSource/{id}
- 权限标识:
xgStudentManagerSource:studentManagerSource:query
- 功能描述: 根据主键查询学生管理员授权关系详情
请求参数
| 参数名 |
类型 |
必填 |
说明 |
| id |
long |
是 |
主键ID |
响应数据
{
"code": 200,
"msg": "查询成功",
"data": {
"id": 1,
"managerId": 123,
"permissionType": "2",
"authType": "2",
"authSource": 456,
"status": "0",
"remark": "自定义管理员权限",
"createTime": "2025-07-24 10:00:00",
"updateTime": "2025-07-24 10:00:00"
}
}
2.3 新增学生管理员授权关系
- 接口路径: POST
/xgStudentManagerSource/studentManagerSource
- 权限标识:
xgStudentManagerSource:studentManagerSource:add
- 功能描述: 新增学生管理员授权关系
请求参数
{
"managerId": 123,
"permissionType": "2",
"authType": "2",
"authSource": 456,
"status": "0",
"remark": "自定义管理员权限"
}
响应数据
{
"code": 200,
"msg": "新增成功"
}
2.4 修改学生管理员授权关系
- 接口路径: PUT
/xgStudentManagerSource/studentManagerSource
- 权限标识:
xgStudentManagerSource:studentManagerSource:edit
- 功能描述: 修改学生管理员授权关系
请求参数
{
"id": 1,
"managerId": 123,
"permissionType": "3",
"authType": "2",
"authSource": 456,
"status": "0",
"remark": "修改后的权限说明"
}
响应数据
{
"code": 200,
"msg": "修改成功"
}
2.5 删除学生管理员授权关系
- 接口路径: DELETE
/xgStudentManagerSource/studentManagerSource/{ids}
- 权限标识:
xgStudentManagerSource:studentManagerSource:remove
- 功能描述: 删除学生管理员授权关系(支持批量删除)
请求参数
| 参数名 |
类型 |
必填 |
说明 |
| ids |
long[] |
是 |
主键ID数组 |
响应数据
{
"code": 200,
"msg": "删除成功"
}
2.6 自定义学生管理员授予部门权限
- 接口路径: POST
/xgStudentManagerSource/studentManagerSource/grantDeptAuth
- 权限标识:
xgStudentManagerSource:studentManagerSource:grantDeptAuth
- 功能描述: 为指定管理员批量授予多个部门的权限
请求参数
| 参数名 |
类型 |
必填 |
说明 |
| managerId |
long |
是 |
管理员ID |
| authSourceIds |
long[] |
是 |
资源ID列表(部门ID数组) |
响应数据
{
"code": 200,
"msg": "授权成功"
}
2.7 获取指定管理员的授权资源名称列表
- 接口路径: GET
/xgStudentManagerSource/studentManagerSource/authSourceNames
- 权限标识:
xgStudentManagerSource:studentManagerSource:query
- 功能描述: 获取指定管理员已授权的资源名称列表
请求参数
| 参数名 |
类型 |
必填 |
说明 |
| managerId |
long |
是 |
管理员ID |
响应数据
{
"code": 200,
"msg": "查询成功",
"data": [
"计算机学院",
"计算机2023-1班",
"计算机2023-2班"
]
}
2.8 获取当前用户的学生管理权限部门树 🆕
- 接口路径: GET
/xgStudentManagerSource/studentManagerSource/currentUserAuthTree
- 权限标识:
xgStudentManagerSource:studentManagerSource:query
- 功能描述: 获取当前登录用户的学生管理权限部门树形结构,只有班级节点可以点击
请求参数
无需入参,自动获取当前登录用户信息
接口逻辑
第一步: 通过当前登录用户ID,关联 xg_student_manager 与 xg_student_manager_source 表,获取授权来源信息
- 查询条件:
xg_student_manager.user_id = 当前用户ID AND xg_student_manager.deleted = '0' AND xg_student_manager.status = '0'
- 关联条件:
xg_student_manager_source.manager_id = xg_student_manager.id AND xg_student_manager_source.status = '0' AND xg_student_manager_source.deleted = '0'
第二步: 根据授权来源关联 sys_dept 表获取部门数据和所有子节点
- 查询条件:
sys_dept.dept_id IN (auth_source列表) AND sys_dept.status = '0' AND sys_dept.del_flag = '0'
- 同时获取所有子部门:通过
ancestors 字段查找子节点
第三步: 向上查找父节点直到根节点(id=101)
- 通过
ancestors 字段解析父节点层级关系
- 构建完整的部门树结构
响应数据
{
"code": 200,
"msg": "查询成功",
"data": [
{
"deptId": 101,
"parentId": null,
"deptName": "杭州职业技术学院",
"deptCategory": "university",
"orderNum": 1,
"clickable": false,
"children": [
{
"deptId": 102,
"parentId": 101,
"deptName": "计算机学院",
"deptCategory": "college",
"orderNum": 1,
"clickable": false,
"children": [
{
"deptId": 103,
"parentId": 102,
"deptName": "计算机科学与技术专业",
"deptCategory": "major",
"orderNum": 1,
"clickable": false,
"children": [
{
"deptId": 104,
"parentId": 103,
"deptName": "计算机2023-1班",
"deptCategory": "class",
"orderNum": 1,
"clickable": true,
"children": []
},
{
"deptId": 105,
"parentId": 103,
"deptName": "计算机2023-2班",
"deptCategory": "class",
"orderNum": 2,
"clickable": true,
"children": []
}
]
}
]
}
]
}
]
}
响应字段说明
| 字段名 |
类型 |
说明 |
| deptId |
long |
部门ID |
| parentId |
long |
父部门ID |
| deptName |
string |
部门名称 |
| deptCategory |
string |
部门类别编码 |
| orderNum |
integer |
显示顺序 |
| clickable |
boolean |
是否可点击(只有班级节点可点击) |
| children |
array |
子部门列表 |
使用说明
- 该接口无需传参,自动获取当前登录用户的权限范围
- 返回的树形结构包含完整的层级关系,从根节点到叶子节点
clickable 字段标识节点是否可点击,只有班级节点(包含"班"字或dept_category包含"class")设置为true
- 前端可根据
clickable 字段控制节点的交互行为
- 树形结构按
orderNum 字段排序
3. 数据字典
3.1 权限类型 (permissionType)
3.2 授权类型 (authType)
3.3 状态 (status)
4. 权限说明
4.1 数据权限控制
- 超级管理员: 可管理所有学生管理员授权关系
- 学工管理员: 可管理所有学生管理员授权关系
- 二级学院管理员: 只能管理本学院相关的授权关系
- 普通用户: 只能查看自己的权限信息
4.2 操作权限控制
- 查询: 所有有相关权限的用户
- 新增: 学工管理员、二级学院管理员
- 修改: 学工管理员、二级学院管理员
- 删除: 学工管理员、二级学院管理员
- 授权: 学工管理员、二级学院管理员
5. 注意事项
- 所有接口都需要Bearer Token认证
- 删除操作为逻辑删除,不会物理删除数据
- 授权关系具有层级性,上级权限包含下级权限
- 支持多租户数据隔离
- 获取当前用户权限树接口会自动过滤无权限的部门
- 部门树构建时会自动补全父节点层级关系
文档更新时间: 2025-07-24
文档版本: 1.0.0
维护人员: Cursor AI
更新说明: 新增学生管理员授权关系管理接口,包含获取当前用户权限部门树功能