From e480f616e055e9fdfdb1bac38de9b01ddbcca476 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期一, 14 三月 2022 15:58:27 +0800 Subject: [PATCH] update 使用 in 优化 or 提升索引命中率 --- ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java | 9 +++++---- 1 files changed, 5 insertions(+), 4 deletions(-) diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java index 8fca17b..09c5ba2 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java @@ -15,6 +15,7 @@ import com.ruoyi.common.core.domain.entity.SysUser; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.exception.ServiceException; +import com.ruoyi.common.helper.DataBaseHelper; import com.ruoyi.common.helper.LoginHelper; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.system.domain.SysPost; @@ -80,10 +81,10 @@ .and(ObjectUtil.isNotNull(user.getDeptId()), w -> { List<SysDept> deptList = deptMapper.selectList(new LambdaQueryWrapper<SysDept>() .select(SysDept::getDeptId) - .apply("find_in_set({0},ancestors)", user.getDeptId())); - w.eq("u.dept_id", user.getDeptId()) - .or() - .in("u.dept_id", deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList())); + .apply(DataBaseHelper.findInSet(user.getDeptId(), "ancestors"))); + List<Long> ids = deptList.stream().map(SysDept::getDeptId).collect(Collectors.toList()); + ids.add(user.getDeptId()); + w.in("u.dept_id", ids); }); return wrapper; } -- Gitblit v1.9.3