From 0027f671d2a99b29aa0cb68c46820abdd24f906e Mon Sep 17 00:00:00 2001 From: 疯狂的狮子Li <15040126243@163.com> Date: 星期四, 12 十二月 2024 23:31:26 +0800 Subject: [PATCH] update 优化 登录用户增加岗位数据 --- ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java | 39 ++++++++++++++++++++++++++++----------- 1 files changed, 28 insertions(+), 11 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java index b8a7e60..72f1a5e 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysPostServiceImpl.java @@ -6,14 +6,14 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import lombok.RequiredArgsConstructor; -import org.dromara.common.core.constant.UserConstants; +import org.dromara.common.core.constant.SystemConstants; import org.dromara.common.core.exception.ServiceException; +import org.dromara.common.core.service.PostService; import org.dromara.common.core.utils.MapstructUtils; import org.dromara.common.core.utils.StreamUtils; import org.dromara.common.core.utils.StringUtils; import org.dromara.common.mybatis.core.page.PageQuery; 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.SysUserPost; @@ -27,7 +27,6 @@ import java.util.Arrays; import java.util.List; -import java.util.stream.Collectors; /** * 宀椾綅淇℃伅 鏈嶅姟灞傚鐞� @@ -36,7 +35,7 @@ */ @RequiredArgsConstructor @Service -public class SysPostServiceImpl implements ISysPostService { +public class SysPostServiceImpl implements ISysPostService, PostService { private final SysPostMapper baseMapper; private final SysDeptMapper deptMapper; @@ -60,6 +59,17 @@ } /** + * 鏌ヨ鐢ㄦ埛鎵�灞炲矖浣嶇粍 + * + * @param userId 鐢ㄦ埛ID + * @return 宀椾綅ID + */ + @Override + public List<SysPostVo> selectPostsByUserId(Long userId) { + return baseMapper.selectPostsByUserId(userId); + } + + /** * 鏍规嵁鏌ヨ鏉′欢鏋勫缓鏌ヨ鍖呰鍣� * * @param bo 鏌ヨ鏉′欢瀵硅薄 @@ -78,12 +88,8 @@ } 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()); + List<SysDept> deptList = deptMapper.selectListByParentId(bo.getBelongDeptId()); + List<Long> deptIds = StreamUtils.toList(deptList, SysDept::getDeptId); deptIds.add(bo.getBelongDeptId()); x.in(SysPost::getDeptId, deptIds); }); @@ -134,7 +140,7 @@ public List<SysPostVo> selectPostByIds(List<Long> postIds) { return baseMapper.selectVoList(new LambdaQueryWrapper<SysPost>() .select(SysPost::getPostId, SysPost::getPostName, SysPost::getPostCode) - .eq(SysPost::getStatus, UserConstants.POST_NORMAL) + .eq(SysPost::getStatus, SystemConstants.NORMAL) .in(CollUtil.isNotEmpty(postIds), SysPost::getPostId, postIds)); } @@ -178,6 +184,17 @@ } /** + * 閫氳繃閮ㄩ棬ID鏌ヨ宀椾綅浣跨敤鏁伴噺 + * + * @param deptId 閮ㄩ棬id + * @return 缁撴灉 + */ + @Override + public long countPostByDeptId(Long deptId) { + return baseMapper.selectCount(new LambdaQueryWrapper<SysPost>().eq(SysPost::getDeptId, deptId)); + } + + /** * 鍒犻櫎宀椾綅淇℃伅 * * @param postId 宀椾綅ID -- Gitblit v1.9.3