1.9 KiB
1.9 KiB
变更管理记录:修复问卷题库查询接口的ID参数不生效问题
日期: 2025-07-17 15:30:45
类型: Bug修复
开发人员: Cursor
问题描述
问卷题库查询接口(/hq/satQuestion/list)在使用ID参数进行查询时,无论传递什么ID值都返回相同的结果。例如:
- 请求1:
http://localhost/dev-api/hq/satQuestion/list?pageSize=1&pageNum=1&id=1937751675921375243 - 请求2:
http://localhost/dev-api/hq/satQuestion/list?pageSize=1&pageNum=1&id=1937751675921375248
这两个请求返回相同的数据,这表明ID参数没有被正确应用到查询条件中。
原因分析
在HqSatQuestionServiceImpl类的buildQueryWrapper方法中,没有对id参数进行处理,导致无论传递什么ID值,都会忽略ID条件,返回相同的查询结果。
修改内容
在HqSatQuestionServiceImpl类的buildQueryWrapper方法中添加ID查询条件:
private LambdaQueryWrapper<HqSatQuestion> buildQueryWrapper(HqSatQuestionBo bo) {
Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<HqSatQuestion> lqw = Wrappers.lambdaQuery();
lqw.orderByAsc(HqSatQuestion::getId);
// 添加ID查询条件
lqw.eq(bo.getId() != null, HqSatQuestion::getId, bo.getId());
// ... 其他查询条件 ...
return lqw;
}
影响范围
- 涉及文件:
backend/ruoyi-modules/ruoyi-hq/src/main/java/org/dromara/hq/service/impl/HqSatQuestionServiceImpl.java - 影响接口:
/hq/satQuestion/list - 影响功能: 问卷题目查询功能,通过ID查询问卷题目
测试结果
修改后,通过不同ID参数调用接口可以正确返回对应ID的题目数据,或者在ID不存在时返回空列表。
注意事项
这个问题可能会影响到其他基于同样模式实现的查询接口,建议检查其他查询接口的实现,确保都正确处理了ID参数。