Переглянути джерело

添加根据角色获取用户列表

yzc 1 рік тому
батько
коміт
86ec1e6396

+ 12 - 0
hx-base/src/main/java/com/fjhx/base/system/SysUserController.java

@@ -1,6 +1,7 @@
 package com.fjhx.base.system;
 
 import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.dynamic.datasource.toolkit.DynamicDataSourceContextHolder;
 import com.ruoyi.common.annotation.Log;
 import com.ruoyi.common.constant.BaseSourceConstant;
 import com.ruoyi.common.core.controller.BaseController;
@@ -220,4 +221,15 @@ public class SysUserController extends BaseController {
     public AjaxResult deptTree(SysDept dept) {
         return success(deptService.selectDeptTreeList(dept));
     }
+
+    /**
+     * 获取用户列表
+     */
+    @PostMapping("/getUserList")
+    List<SysUser> getUserList(@RequestBody SysUser sysUser){
+        DynamicDataSourceContextHolder.push(BaseSourceConstant.BASE);
+        List<SysUser> userList = userService.getUserList(sysUser);
+        DynamicDataSourceContextHolder.poll();
+        return userList;
+    }
 }

+ 14 - 0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java

@@ -150,6 +150,20 @@ public class SysUser extends BaseEntity {
     private Long roleId;
 
     /**
+     * 角色Key
+     */
+    @TableField(exist = false)
+    private String roleKey;
+
+    public String getRoleKey() {
+        return roleKey;
+    }
+
+    public void setRoleKey(String roleKey) {
+        this.roleKey = roleKey;
+    }
+
+    /**
      * 租户id
      */
     private String tenantId;

+ 5 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysUserMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ruoyi.common.annotation.TenantIgnore;
 import com.ruoyi.common.core.domain.entity.SysRole;
 import com.ruoyi.common.core.domain.entity.SysUser;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -148,4 +149,8 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
      */
     List<SysUser> getUserListByRoleIds(@Param("roleIdList")List<Long> roleIdList);
 
+    /**
+     * 获取用户列表
+     */
+    List<SysUser> getUserList(@Param("ew") IWrapper<SysUser> wrapper);
 }

+ 6 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java

@@ -261,5 +261,10 @@ public interface ISysUserService extends IService<SysUser> {
     /**
      * 根据角色id列表获取用户分组列表
      */
-    Map<Long,List<SysUser>> getUserListByRoleIds(List<Long> roleIds);
+    Map<Long, List<SysUser>> getUserListByRoleIds(List<Long> roleIds);
+
+    /**
+     * 获取用户列表
+     */
+    List<SysUser> getUserList(SysUser sysUser);
 }

+ 9 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java

@@ -17,6 +17,7 @@ import com.ruoyi.common.utils.SecurityUtils;
 import com.ruoyi.common.utils.StringUtils;
 import com.ruoyi.common.utils.bean.BeanValidators;
 import com.ruoyi.common.utils.spring.SpringUtils;
+import com.ruoyi.common.utils.wrapper.IWrapper;
 import com.ruoyi.system.domain.SysPost;
 import com.ruoyi.system.domain.SysUserPost;
 import com.ruoyi.system.domain.SysUserRole;
@@ -633,4 +634,12 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
         return userListByRoleIdMap;
     }
 
+    @Override
+    public List<SysUser> getUserList(SysUser sysUser) {
+        IWrapper<SysUser> wrapper = IWrapper.getWrapper();
+        wrapper.eq("sr",SysUser::getRoleKey,sysUser.getRoleKey());
+        wrapper.eq("sr",SysUser::getRoleId,sysUser.getRoleId());
+        return baseMapper.getUserList(wrapper);
+    }
+
 }

+ 14 - 0
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -408,5 +408,19 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			#{roleId}
 		</foreach>
 	</select>
+	<select id="getUserList" resultType="com.ruoyi.common.core.domain.entity.SysUser">
+		SELECT
+			su.user_id,
+			su.dept_id,
+			su.user_name,
+			su.nick_name,
+			sr.role_id,
+			sr.role_key
+		FROM
+			sys_user su
+				LEFT JOIN sys_user_role sur ON sur.user_id = su.user_id
+				LEFT JOIN sys_role sr ON sr.role_id = sur.role_id
+			${ew.customSqlSegment}
+	</select>
 
 </mapper>