优化外校老师宿舍、分组查询
This commit is contained in:
parent
c90cc16c27
commit
0b27a5cb42
|
@ -121,8 +121,43 @@ public class CeesWaiTeacherServiceImpl extends ServiceImpl<CeesWaiTeacherMapper,
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public IPage<CeesWaiTeacher> queryPageList(CeesWaiTeacher ceesWaiTeacher, Integer pageNo, Integer pageSize, HttpServletRequest req) {
|
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());
|
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);
|
Page<CeesWaiTeacher> page = new Page<>(pageNo, pageSize);
|
||||||
IPage<CeesWaiTeacher> pageList = page(page, queryWrapper);
|
IPage<CeesWaiTeacher> pageList = page(page, queryWrapper);
|
||||||
|
|
Loading…
Reference in New Issue