日期: 2025-07-17 15:30:45
类型: Bug修复
开发人员: Cursor
问卷题库查询接口(/hq/satQuestion/list)在使用ID参数进行查询时,无论传递什么ID值都返回相同的结果。例如:
http://localhost/dev-api/hq/satQuestion/list?pageSize=1&pageNum=1&id=1937751675921375243http://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参数。