|
|
@@ -4,6 +4,8 @@ import cn.hutool.core.collection.CollUtil;
|
|
|
import cn.hutool.core.util.ObjectUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.dromara.common.core.constant.UserConstants;
|
|
|
@@ -16,6 +18,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo;
|
|
|
import org.dromara.common.mybatis.helper.DataBaseHelper;
|
|
|
import org.dromara.system.domain.SysDept;
|
|
|
import org.dromara.system.domain.SysPost;
|
|
|
+import org.dromara.system.domain.SysUser;
|
|
|
import org.dromara.system.domain.SysUserPost;
|
|
|
import org.dromara.system.domain.bo.SysPostBo;
|
|
|
import org.dromara.system.domain.vo.SysPostVo;
|
|
|
@@ -27,6 +30,7 @@ import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.util.Arrays;
|
|
|
import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
/**
|
|
|
@@ -66,28 +70,13 @@ public class SysPostServiceImpl implements ISysPostService {
|
|
|
* @return 构建好的查询包装器
|
|
|
*/
|
|
|
private LambdaQueryWrapper<SysPost> buildQueryWrapper(SysPostBo bo) {
|
|
|
+
|
|
|
LambdaQueryWrapper<SysPost> wrapper = new LambdaQueryWrapper<>();
|
|
|
wrapper.like(StringUtils.isNotBlank(bo.getPostCode()), SysPost::getPostCode, bo.getPostCode())
|
|
|
- .like(StringUtils.isNotBlank(bo.getPostCategory()), SysPost::getPostCategory, bo.getPostCategory())
|
|
|
.like(StringUtils.isNotBlank(bo.getPostName()), SysPost::getPostName, bo.getPostName())
|
|
|
.eq(StringUtils.isNotBlank(bo.getStatus()), SysPost::getStatus, bo.getStatus())
|
|
|
+ .eq(SysPost::getDelFlag,UserConstants.POST_NORMAL)
|
|
|
.orderByAsc(SysPost::getPostSort);
|
|
|
- if (ObjectUtil.isNotNull(bo.getDeptId())) {
|
|
|
- //优先单部门搜索
|
|
|
- wrapper.eq(SysPost::getDeptId, bo.getDeptId());
|
|
|
- } else if (ObjectUtil.isNotNull(bo.getBelongDeptId())) {
|
|
|
- //部门树搜索
|
|
|
- wrapper.and(x -> {
|
|
|
- List<Long> deptIds = deptMapper.selectList(new LambdaQueryWrapper<SysDept>()
|
|
|
- .select(SysDept::getDeptId)
|
|
|
- .apply(DataBaseHelper.findInSet(bo.getBelongDeptId(), "ancestors")))
|
|
|
- .stream()
|
|
|
- .map(SysDept::getDeptId)
|
|
|
- .collect(Collectors.toList());
|
|
|
- deptIds.add(bo.getBelongDeptId());
|
|
|
- x.in(SysPost::getDeptId, deptIds);
|
|
|
- });
|
|
|
- }
|
|
|
return wrapper;
|
|
|
}
|
|
|
|
|
|
@@ -228,4 +217,19 @@ public class SysPostServiceImpl implements ISysPostService {
|
|
|
SysPost post = MapstructUtils.convert(bo, SysPost.class);
|
|
|
return baseMapper.updateById(post);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改岗位状态
|
|
|
+ *
|
|
|
+ * @param postId 岗位ID
|
|
|
+ * @param status 岗位状态
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public int updatePostStatus(Long postId, String status) {
|
|
|
+ return baseMapper.update(null,
|
|
|
+ new LambdaUpdateWrapper<SysPost>()
|
|
|
+ .set(SysPost::getStatus, status)
|
|
|
+ .eq(SysPost::getPostId, postId));
|
|
|
+ }
|
|
|
}
|