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