diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java index 5e4904d05c9a483197ba470cd8fe20498aa60ac2..53df333096bb0f22e904c742b801581ba657fb7c 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysDeptServiceImpl.java @@ -29,6 +29,7 @@ import org.dromara.system.domain.vo.SysDeptVo; import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysRoleMapper; import org.dromara.system.mapper.SysUserMapper; +import org.dromara.system.service.ISysDataScopeService; import org.dromara.system.service.ISysDeptService; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -110,11 +111,8 @@ public class SysDeptServiceImpl implements ISysDeptService, DeptService { if (ObjectUtil.isNotNull(bo.getBelongDeptId())) { //部门树搜索 lqw.and(x -> { - Long parentId = bo.getBelongDeptId(); - List deptList = baseMapper.selectListByParentId(parentId); - List deptIds = StreamUtils.toList(deptList, SysDept::getDeptId); - deptIds.add(parentId); - x.in(SysDept::getDeptId, deptIds); + String deptIds = SpringUtils.getBean(ISysDataScopeService.class).getDeptAndChild(bo.getBelongDeptId()); + x.in(SysDept::getDeptId, StringUtils.splitList(deptIds)); }); } return lqw; 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 122492e0c7bf625ac7317ac92dd6324aaf18cb64..afb3d068df55ea5dbbc1e0205d9a07d5f834718c 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 @@ -10,18 +10,18 @@ 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.SpringUtils; 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.system.domain.SysDept; import org.dromara.system.domain.SysPost; import org.dromara.system.domain.SysUserPost; import org.dromara.system.domain.bo.SysPostBo; import org.dromara.system.domain.vo.SysPostVo; -import org.dromara.system.mapper.SysDeptMapper; import org.dromara.system.mapper.SysPostMapper; import org.dromara.system.mapper.SysUserPostMapper; +import org.dromara.system.service.ISysDataScopeService; import org.dromara.system.service.ISysPostService; import org.springframework.stereotype.Service; @@ -39,7 +39,6 @@ import java.util.Map; public class SysPostServiceImpl implements ISysPostService, PostService { private final SysPostMapper baseMapper; - private final SysDeptMapper deptMapper; private final SysUserPostMapper userPostMapper; @Override @@ -92,10 +91,8 @@ public class SysPostServiceImpl implements ISysPostService, PostService { } else if (ObjectUtil.isNotNull(bo.getBelongDeptId())) { //部门树搜索 wrapper.and(x -> { - List deptList = deptMapper.selectListByParentId(bo.getBelongDeptId()); - List deptIds = StreamUtils.toList(deptList, SysDept::getDeptId); - deptIds.add(bo.getBelongDeptId()); - x.in(SysPost::getDeptId, deptIds); + String deptIds = SpringUtils.getBean(ISysDataScopeService.class).getDeptAndChild(bo.getBelongDeptId()); + x.in(SysPost::getDeptId, StringUtils.splitList(deptIds)); }); } return wrapper; diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index 2cfe7b30aea6cb7d8020ec03d677597d3aecedce..a4390c41b92f521a6341b6decbe110180b8712b2 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -29,6 +29,7 @@ import org.dromara.system.domain.vo.SysRoleVo; import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; import org.dromara.system.mapper.*; +import org.dromara.system.service.ISysDataScopeService; import org.dromara.system.service.ISysUserService; import org.springframework.cache.annotation.CacheEvict; import org.springframework.cache.annotation.Cacheable; @@ -85,10 +86,8 @@ public class SysUserServiceImpl implements ISysUserService, UserService { .between(params.get("beginTime") != null && params.get("endTime") != null, "u.create_time", params.get("beginTime"), params.get("endTime")) .and(ObjectUtil.isNotNull(user.getDeptId()), w -> { - List deptList = deptMapper.selectListByParentId(user.getDeptId()); - List ids = StreamUtils.toList(deptList, SysDept::getDeptId); - ids.add(user.getDeptId()); - w.in("u.dept_id", ids); + String deptIds = SpringUtils.getBean(ISysDataScopeService.class).getDeptAndChild(user.getDeptId()); + w.in("u.dept_id", StringUtils.splitList(deptIds)); }).orderByAsc("u.user_id"); if (StringUtils.isNotBlank(user.getExcludeUserIds())) { wrapper.notIn("u.user_id", StringUtils.splitTo(user.getExcludeUserIds(), Convert::toLong));