From 31157a2f971d0a21063d20f0931eabd696440fed Mon Sep 17 00:00:00 2001 From: samisgod <21gh@163.com> Date: Fri, 17 Dec 2021 09:55:48 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=92=E8=89=B2=E5=88=86=E9=85=8D=E6=8F=90?= =?UTF-8?q?=E4=BE=9B=E5=88=86=E9=A1=B5=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../System/SysUserRoleController.cs | 24 +++++------ .../{RoleUsersCreateDto.cs => RoleUserDto.cs} | 7 ++++ ZR.Repository/System/SysUserRoleRepository.cs | 36 +++++++++++++++++ .../System/IService/ISysUserRoleService.cs | 20 ++++++++++ ZR.Service/System/SysUserRoleService.cs | 25 +++++++++++- ZR.Vue/src/api/system/userRoles.js | 14 ++++--- ZR.Vue/src/views/system/roleusers/index.vue | 40 ++++++++++++++----- 7 files changed, 132 insertions(+), 34 deletions(-) rename ZR.Model/System/Dto/{RoleUsersCreateDto.cs => RoleUserDto.cs} (82%) diff --git a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs index b355f44..bb40707 100644 --- a/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs +++ b/ZR.Admin.WebApi/Controllers/System/SysUserRoleController.cs @@ -1,7 +1,6 @@ using Infrastructure; using Infrastructure.Attribute; using Microsoft.AspNetCore.Mvc; -using System; using System.Linq; using ZR.Admin.WebApi.Filters; using ZR.Model; @@ -29,13 +28,13 @@ namespace ZR.Admin.WebApi.Controllers.System /// /// 根据角色编号获取已分配的用户 /// - /// + /// /// - [HttpGet("get/{roleId}")] + [HttpGet("list")] [ActionPermissionFilter(Permission = "system:roleusers:query")] - public IActionResult GetList(long roleId = 0) + public IActionResult GetList([FromQuery] RoleUserQueryDto roleUserQueryDto) { - var list = SysUserRoleService.GetSysUsersByRoleId(roleId); + var list = SysUserRoleService.GetSysUsersByRoleId(roleUserQueryDto); return SUCCESS(list, TIME_FORMAT_FULL); } @@ -70,24 +69,19 @@ namespace ZR.Admin.WebApi.Controllers.System /// /// 获取未分配用户角色 /// - /// + /// /// [HttpGet("GetExcludeUsers")] - public IActionResult GetExcludeUsers(long roleId = 0) + public IActionResult GetExcludeUsers([FromQuery] RoleUserQueryDto roleUserQueryDto) { - if (roleId <= 0) + if (roleUserQueryDto.RoleId <= 0) { throw new CustomException(ResultCode.PARAM_ERROR, "roleId不能为空"); } - // 取得该角色所有添加的用户 - var userIds = SysUserRoleService.GetSysUsersByRoleId(roleId).Select(f => f.UserId); - - SysUser userQuery = new(); - userQuery.Status = "0"; - PagerInfo pager = new(1, 50); // 获取未添加用户 - var list = UserService.SelectUserList(userQuery, pager).Where(m => !userIds.Contains(m.UserId)); + var list = SysUserRoleService.GetExcludedSysUsersByRoleId(roleUserQueryDto); + return SUCCESS(list, TIME_FORMAT_FULL); } } diff --git a/ZR.Model/System/Dto/RoleUsersCreateDto.cs b/ZR.Model/System/Dto/RoleUserDto.cs similarity index 82% rename from ZR.Model/System/Dto/RoleUsersCreateDto.cs rename to ZR.Model/System/Dto/RoleUserDto.cs index 456621a..44e4ba5 100644 --- a/ZR.Model/System/Dto/RoleUsersCreateDto.cs +++ b/ZR.Model/System/Dto/RoleUserDto.cs @@ -5,6 +5,13 @@ using System.Text; namespace ZR.Model.System.Dto { + public class RoleUserQueryDto : PagerInfo + { + public long RoleId { get; set; } + + public string UserName { get; set; } + } + public class RoleUsersCreateDto { /// diff --git a/ZR.Repository/System/SysUserRoleRepository.cs b/ZR.Repository/System/SysUserRoleRepository.cs index 4f80eed..8116c14 100644 --- a/ZR.Repository/System/SysUserRoleRepository.cs +++ b/ZR.Repository/System/SysUserRoleRepository.cs @@ -1,7 +1,9 @@ using Infrastructure.Attribute; using SqlSugar; using System.Collections.Generic; +using ZR.Model; using ZR.Model.System; +using ZR.Model.System.Dto; namespace ZR.Repository.System { @@ -73,5 +75,39 @@ namespace ZR.Repository.System .Select((t1, u) => u) .ToList(); } + + /// + /// 获取用户数据根据角色id + /// + /// + /// + public PagedInfo GetSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto) + { + var query = Context.Queryable((t1, u) => new JoinQueryInfos( + JoinType.Left, t1.UserId == u.UserId)) + .Where((t1, u) => t1.RoleId == roleUserQueryDto.RoleId && u.DelFlag == "0"); + if (!string.IsNullOrEmpty(roleUserQueryDto.UserName)) + { + query = query.Where((t1, u) => u.UserName.Contains(roleUserQueryDto.UserName)); + } + return query.Select((t1, u) => u).ToPage(roleUserQueryDto); + } + + /// + /// 获取尚未指派的用户数据根据角色id + /// + /// + /// + public PagedInfo GetExcludedSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto) + { + var query = Context.Queryable() + .Where(it => SqlFunc.Subqueryable() + .Where(s => s.UserId == it.UserId).NotAny()); + if (!string.IsNullOrEmpty(roleUserQueryDto.UserName)) + { + query = query.Where(x => x.UserName.Contains(roleUserQueryDto.UserName)); + } + return query.ToPage(roleUserQueryDto); + } } } diff --git a/ZR.Service/System/IService/ISysUserRoleService.cs b/ZR.Service/System/IService/ISysUserRoleService.cs index 6dc8125..eb2bb49 100644 --- a/ZR.Service/System/IService/ISysUserRoleService.cs +++ b/ZR.Service/System/IService/ISysUserRoleService.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; @@ -34,8 +35,27 @@ namespace ZR.Service.System.IService /// public int AddUserRole(List sysUsers); + /// + /// 获取用户数据根据角色id + /// + /// + /// public List GetSysUsersByRoleId(long roleId); + /// + /// 获取用户数据根据角色id + /// + /// + /// + public PagedInfo GetSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto); + + /// + /// 获取尚未指派的用户数据根据角色id + /// + /// + /// + public PagedInfo GetExcludedSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto); + /// /// 新增用户角色信息 /// diff --git a/ZR.Service/System/SysUserRoleService.cs b/ZR.Service/System/SysUserRoleService.cs index 183b10f..0b9d993 100644 --- a/ZR.Service/System/SysUserRoleService.cs +++ b/ZR.Service/System/SysUserRoleService.cs @@ -2,6 +2,7 @@ using System; using System.Collections.Generic; using System.Text; +using ZR.Model; using ZR.Model.System.Dto; using ZR.Model.System; using ZR.Repository.System; @@ -12,8 +13,8 @@ namespace ZR.Service.System /// /// 用户角色 /// - [AppService(ServiceType = typeof(ISysUserRoleService),ServiceLifetime = LifeTime.Transient)] - public class SysUserRoleService: ISysUserRoleService + [AppService(ServiceType = typeof(ISysUserRoleService), ServiceLifetime = LifeTime.Transient)] + public class SysUserRoleService : ISysUserRoleService { public SysUserRoleRepository SysUserRoleRepository; @@ -74,6 +75,26 @@ namespace ZR.Service.System return SysUserRoleRepository.GetSysUsersByRoleId(roleId); } + /// + /// 获取用户数据根据角色id + /// + /// + /// + public PagedInfo GetSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto) + { + return SysUserRoleRepository.GetSysUsersByRoleId(roleUserQueryDto); + } + + /// + /// 获取尚未指派的用户数据根据角色id + /// + /// + /// + public PagedInfo GetExcludedSysUsersByRoleId(RoleUserQueryDto roleUserQueryDto) + { + return SysUserRoleRepository.GetExcludedSysUsersByRoleId(roleUserQueryDto); + } + /// /// 新增用户角色信息 /// diff --git a/ZR.Vue/src/api/system/userRoles.js b/ZR.Vue/src/api/system/userRoles.js index cb026d1..d5d94b3 100644 --- a/ZR.Vue/src/api/system/userRoles.js +++ b/ZR.Vue/src/api/system/userRoles.js @@ -1,10 +1,11 @@ import request from '@/utils/request' // 查询角色用户 -export function getRoleUsers(roleId) { +export function getRoleUsers(query) { return request({ - url: '/system/userRole/get/' + roleId, - method: 'get' + url: '/system/userRole/list', + method: 'get', + params: query, }) } @@ -25,10 +26,11 @@ export function deleteRoleUsers(data) { }) } // 查询角色未添加用户列表 -export function getExcludeUsers(roleId) { +export function getExcludeUsers(query) { return request({ - url: '/system/userRole/getExcludeUsers?roleId=' + roleId, - method: 'get' + url: '/system/userRole/getExcludeUsers', + method: 'get', + params: query, }) } diff --git a/ZR.Vue/src/views/system/roleusers/index.vue b/ZR.Vue/src/views/system/roleusers/index.vue index b6791ef..6d43ac0 100644 --- a/ZR.Vue/src/views/system/roleusers/index.vue +++ b/ZR.Vue/src/views/system/roleusers/index.vue @@ -16,12 +16,10 @@ 批量取消授权 - + - + @@ -41,16 +39,17 @@ + - + @@ -65,6 +64,7 @@ +