From 8cad83a9dc6918d992f914c01dbed625b6f0b49c Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期三, 23 三月 2022 22:18:56 +0800
Subject: [PATCH] fix 修复 用户绑定角色 与 角色绑定用户 异常 编写错误

---
 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java |   22 +++++++++++++++++-----
 1 files changed, 17 insertions(+), 5 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 d236c96..2ef6388 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) <> 0", 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;
     }
@@ -114,7 +115,7 @@
      */
     @Override
     public TableDataInfo<SysUser> selectUnallocatedList(SysUser user, PageQuery pageQuery) {
-        Long userId = userRoleMapper.selectUserIdByRoleId(user.getRoleId());
+        List<Long> userId = userRoleMapper.selectUserIdsByRoleId(user.getRoleId());
         QueryWrapper<SysUser> wrapper = Wrappers.query();
         wrapper.eq("u.del_flag", UserConstants.USER_NORMAL)
             .and(w -> w.ne("r.role_id", user.getRoleId()).or().isNull("r.role_id"))
@@ -137,6 +138,17 @@
     }
 
     /**
+     * 閫氳繃鎵嬫満鍙锋煡璇㈢敤鎴�
+     *
+     * @param phonenumber 鎵嬫満鍙�
+     * @return 鐢ㄦ埛瀵硅薄淇℃伅
+     */
+    @Override
+    public SysUser selectUserByPhonenumber(String phonenumber) {
+        return baseMapper.selectUserByPhonenumber(phonenumber);
+    }
+
+    /**
      * 閫氳繃鐢ㄦ埛ID鏌ヨ鐢ㄦ埛
      *
      * @param userId 鐢ㄦ埛ID

--
Gitblit v1.9.3