update 优化岗位查询方法

This commit is contained in:
AprilWind 2024-04-23 12:33:48 +08:00
parent 4d40f0052d
commit e2d6a67c4f

View File

@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.dromara.common.core.constant.UserConstants; import org.dromara.common.core.constant.UserConstants;
@ -57,14 +56,7 @@ public class SysPostServiceImpl implements ISysPostService {
*/ */
@Override @Override
public List<SysPostVo> selectPostList(SysPostBo post) { public List<SysPostVo> selectPostList(SysPostBo post) {
return baseMapper.selectVoList(new LambdaQueryWrapper<SysPost>() return baseMapper.selectVoList(buildQueryWrapper(post));
.like(StringUtils.isNotBlank(post.getPostCode()), SysPost::getPostCode, post.getPostCode())
.like(StringUtils.isNotBlank(post.getPostCategory()), SysPost::getPostCategory, post.getPostCategory())
.like(StringUtils.isNotBlank(post.getPostName()), SysPost::getPostName, post.getPostName())
.eq(StringUtils.isNotBlank(post.getStatus()), SysPost::getStatus, post.getStatus())
.eq(ObjectUtil.isNotNull(post.getDeptId()), SysPost::getDeptId, post.getDeptId())
.orderByAsc(SysPost::getPostSort)
);
} }
/** /**
@ -73,15 +65,16 @@ public class SysPostServiceImpl implements ISysPostService {
* @param bo 查询条件对象 * @param bo 查询条件对象
* @return 构建好的查询包装器 * @return 构建好的查询包装器
*/ */
private QueryWrapper<SysPost> buildQueryWrapper(SysPostBo bo) { private LambdaQueryWrapper<SysPost> buildQueryWrapper(SysPostBo bo) {
QueryWrapper<SysPost> wrapper = Wrappers.query(); LambdaQueryWrapper<SysPost> wrapper = new LambdaQueryWrapper<>();
wrapper.like(StringUtils.isNotBlank(bo.getPostCode()), "post_code", bo.getPostCode()) wrapper.like(StringUtils.isNotBlank(bo.getPostCode()), SysPost::getPostCode, bo.getPostCode())
.like(StringUtils.isNotBlank(bo.getPostName()), "post_name", bo.getPostName()) .like(StringUtils.isNotBlank(bo.getPostCategory()), SysPost::getPostCategory, bo.getPostCategory())
.like(StringUtils.isNotBlank(bo.getPostCategory()), "post_category", bo.getPostCategory()) .like(StringUtils.isNotBlank(bo.getPostName()), SysPost::getPostName, bo.getPostName())
.eq(StringUtils.isNotBlank(bo.getStatus()), "status", bo.getStatus()); .eq(StringUtils.isNotBlank(bo.getStatus()), SysPost::getStatus, bo.getStatus())
.orderByAsc(SysPost::getPostSort);
if (ObjectUtil.isNotNull(bo.getDeptId())) { if (ObjectUtil.isNotNull(bo.getDeptId())) {
//优先单部门搜索 //优先单部门搜索
wrapper.eq("dept_id", bo.getDeptId()); wrapper.eq(SysPost::getDeptId, bo.getDeptId());
} else if (ObjectUtil.isNotNull(bo.getBelongDeptId())) { } else if (ObjectUtil.isNotNull(bo.getBelongDeptId())) {
//部门树搜索 //部门树搜索
wrapper.and(x -> { wrapper.and(x -> {
@ -91,11 +84,10 @@ public class SysPostServiceImpl implements ISysPostService {
.stream() .stream()
.map(SysDept::getDeptId) .map(SysDept::getDeptId)
.collect(Collectors.toList()); .collect(Collectors.toList());
deptIds.add(bo.getDeptId()); deptIds.add(bo.getBelongDeptId());
x.in("dept_id", deptIds); x.in(SysPost::getDeptId, deptIds);
}); });
} }
wrapper.orderByAsc("post_sort");
return wrapper; return wrapper;
} }