优化外校老师宿舍、分组查询
This commit is contained in:
parent
c90cc16c27
commit
0b27a5cb42
|
@ -121,8 +121,43 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
|
|||
*/
|
||||
@Override
|
||||
public IPage<CeesWaiTeacher> queryPageList(CeesWaiTeacher ceesWaiTeacher, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
||||
|
||||
// 1. 从请求中获取 dormitoryName 参数值
|
||||
String dormitoryName = req.getParameter("dormitoryName");
|
||||
String groupName = req.getParameter("groupName");
|
||||
QueryWrapper<CeesWaiTeacher> queryWrapper = QueryGenerator.initQueryWrapper(ceesWaiTeacher, req.getParameterMap());
|
||||
// 3. 处理 dormitoryName 模糊查询逻辑
|
||||
if (StringUtils.isNotBlank(dormitoryName)) {
|
||||
// 3.1 先查询匹配的宿舍ID列表
|
||||
LambdaQueryWrapper<CeesDormitoryInfo> dormWrapper = Wrappers.lambdaQuery();
|
||||
dormWrapper.like(CeesDormitoryInfo::getDormitory, dormitoryName);
|
||||
List<String> dormitoryIds = ceesDormitoryInfoMapper.selectList(dormWrapper)
|
||||
.stream()
|
||||
.map(CeesDormitoryInfo::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 3.2 添加宿舍ID查询条件
|
||||
if (!dormitoryIds.isEmpty()) {
|
||||
queryWrapper.in("dormitory_id", dormitoryIds);
|
||||
} else {
|
||||
// 无匹配宿舍时返回空结果
|
||||
queryWrapper.isNull("dormitory_id"); // 或 .eq("1", "0")
|
||||
}
|
||||
}
|
||||
// 3. 处理 groupName 模糊查询
|
||||
if (StringUtils.isNotBlank(groupName)) {
|
||||
LambdaQueryWrapper<CeesGroup> groupWrapper = Wrappers.lambdaQuery();
|
||||
groupWrapper.like(CeesGroup::getName, groupName);
|
||||
List<String> groupIds = ceesGroupMapper.selectList(groupWrapper)
|
||||
.stream()
|
||||
.map(CeesGroup::getId)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
if (!groupIds.isEmpty()) {
|
||||
queryWrapper.in("group_id", groupIds);
|
||||
} else {
|
||||
queryWrapper.isNull("group_id");
|
||||
}
|
||||
}
|
||||
|
||||
Page<CeesWaiTeacher> page = new Page<>(pageNo, pageSize);
|
||||
IPage<CeesWaiTeacher> pageList = page(page, queryWrapper);
|
||||
|
|
Loading…
Reference in New Issue