2.4 KiB
2.4 KiB
学生信息导出功能参数获取问题修复
变更时间: 2025-07-30 19:45:00
变更人员: wuzilong
变更类型: Bug修复
问题描述
在学生信息导出功能中,queryPageListExportByDeptId 方法接收到的 params 参数为空,导致无法正确获取部门ID进行权限过滤。
问题现象
- 前端传递参数:
{"deptId":["1947944113418752001"],"pageSize":["10"],"pageNum":["1"]} - 后端日志显示:
params: {} - 导致权限过滤失效,无法正确导出数据
根本原因
- 参数名称不匹配:前端使用驼峰命名
deptId,后端查找下划线命名dept_id - 参数获取逻辑不完善:只支持单一参数名称格式
修复方案
1. 修改参数获取逻辑
在 XgStudentMsgController.java 的 export 和 listByDeptId 方法中,支持多种参数名称格式:
// 支持多种参数名称:deptId(驼峰)和 dept_id(下划线)
Object deptIdValue = null;
if (requestBody.containsKey("deptId") && requestBody.get("deptId") != null) {
deptIdValue = requestBody.get("deptId");
} else if (requestBody.containsKey("dept_id") && requestBody.get("dept_id") != null) {
deptIdValue = requestBody.get("dept_id");
}
if (deptIdValue != null) {
deptParams.put("dept_id", deptIdValue);
}
2. 添加调试日志
在 export 方法中添加调试日志,便于问题排查:
// 添加调试日志
log.info("export方法 - requestBody: {}", requestBody);
log.info("export方法 - deptParams: {}", deptParams);
3. 添加日志支持
- 导入
lombok.extern.slf4j.Slf4j - 在类上添加
@Slf4j注解
修改文件
- backend/ruoyi-modules/ruoyi-xg/src/main/java/org/dromara/xg/controller/XgStudentMsgController.java
- 修改
export方法的参数获取逻辑 - 修改
listByDeptId方法的参数获取逻辑 - 添加日志支持和调试日志
- 修改
测试验证
修复后,应该能够:
- 正确获取前端传递的
deptId参数 - 在
queryPageListExportByDeptId方法中接收到正确的params参数 - 权限过滤功能正常工作
- 导出功能按预期执行
影响范围
- 正面影响:修复了学生信息导出功能的参数获取问题
- 无负面影响:向后兼容,同时支持驼峰和下划线命名格式
相关文档
- 学生信息管理API文档
- 权限管理相关文档