指定机构查询用户时包含拥有扩展机构的用户
This commit is contained in:
parent
4338c38ea6
commit
076985c76f
@ -57,15 +57,18 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("获取用户分页列表")]
|
||||
[DisplayName("获取用户分页列表")]
|
||||
public virtual async Task<SqlSugarPagedList<UserOutput>> Page(PageUserInput input)
|
||||
{
|
||||
// 获取用户拥有的机构集合
|
||||
var userOrgIdList = await _sysOrgService.GetUserOrgIdList();
|
||||
List<long> orgList = null;
|
||||
List<long> extOrgUserIdList = null;
|
||||
if (input.OrgId > 0) // 指定机构查询时
|
||||
{
|
||||
orgList = await _sysOrgService.GetChildIdListWithSelfById(input.OrgId);
|
||||
var extOrgList = await _sysUserExtOrgService.GetUserExtOrgListForOrg(input.OrgId);
|
||||
extOrgUserIdList = extOrgList.Select(u => u.UserId).ToList();
|
||||
orgList = _userManager.SuperAdmin ? orgList : orgList.Where(u => userOrgIdList.Contains(u)).ToList();
|
||||
}
|
||||
else // 各管理员只能看到自己机构下的用户列表
|
||||
@ -77,7 +80,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
.LeftJoin<SysOrg>((u, a) => u.OrgId == a.Id)
|
||||
.LeftJoin<SysPos>((u, a, b) => u.PosId == b.Id)
|
||||
.Where(u => u.AccountType != AccountTypeEnum.SuperAdmin)
|
||||
.WhereIF(orgList != null, u => orgList.Contains(u.OrgId))
|
||||
.WhereIF(orgList != null || extOrgUserList != null, u => orgList.Contains(u.OrgId) || extOrgUserList.Contains(u.Id))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.Account), u => u.Account.Contains(input.Account))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.RealName), u => u.RealName.Contains(input.RealName))
|
||||
.WhereIF(!string.IsNullOrWhiteSpace(input.PosName), (u, a, b) => b.Name.Contains(input.PosName))
|
||||
@ -100,7 +103,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[ApiDescriptionSettings(Name = "Add"), HttpPost]
|
||||
[DisplayName("增加用户")]
|
||||
[DisplayName("增加用户")]
|
||||
public virtual async Task<long> AddUser(AddUserInput input)
|
||||
{
|
||||
var query = _sysUserRep.AsQueryable().ClearFilter();
|
||||
@ -133,7 +136,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[ApiDescriptionSettings(Name = "Update"), HttpPost]
|
||||
[DisplayName("更新用户")]
|
||||
[DisplayName("更新用户")]
|
||||
public virtual async Task UpdateUser(UpdateUserInput input)
|
||||
{
|
||||
var query = _sysUserRep.AsQueryable().ClearFilter().Where(u => u.Id != input.Id);
|
||||
@ -183,7 +186,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[ApiDescriptionSettings(Name = "Delete"), HttpPost]
|
||||
[DisplayName("删除用户")]
|
||||
[DisplayName("删除用户")]
|
||||
public virtual async Task DeleteUser(DeleteUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.GetByIdAsync(input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
|
||||
@ -224,7 +227,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// 查看用户基本信息 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("查看用户基本信息")]
|
||||
[DisplayName("查看用户基本信息")]
|
||||
public virtual async Task<SysUser> GetBaseInfo()
|
||||
{
|
||||
return await _sysUserRep.GetByIdAsync(_userManager.UserId);
|
||||
@ -235,7 +238,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[ApiDescriptionSettings(Name = "UpdateBaseInfo"), HttpPost]
|
||||
[DisplayName("更新用户基本信息")]
|
||||
[DisplayName("更新用户基本信息")]
|
||||
public virtual async Task<int> UpdateBaseInfo(SysUser user)
|
||||
{
|
||||
return await _sysUserRep.AsUpdateable(user)
|
||||
@ -248,7 +251,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[DisplayName("设置用户状态")]
|
||||
[DisplayName("设置用户状态")]
|
||||
public virtual async Task<int> SetStatus(UserInput input)
|
||||
{
|
||||
if (_userManager.UserId == input.Id)
|
||||
@ -281,7 +284,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[UnitOfWork]
|
||||
[DisplayName("授权用户角色")]
|
||||
[DisplayName("授权用户角色")]
|
||||
public async Task GrantRole(UserRoleInput input)
|
||||
{
|
||||
var user = await _sysUserRep.GetByIdAsync(input.UserId) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
|
||||
@ -304,7 +307,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("修改用户密码")]
|
||||
[DisplayName("修改用户密码")]
|
||||
public virtual async Task<int> ChangePwd(ChangePwdInput input)
|
||||
{
|
||||
// 国密SM2解密(前端密码传输SM2加密后的)
|
||||
@ -369,12 +372,12 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("重置用户密码")]
|
||||
[DisplayName("重置用户密码")]
|
||||
public virtual async Task<string> ResetPwd(ResetPwdUserInput input)
|
||||
{
|
||||
var user = await _sysUserRep.GetByIdAsync(input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
|
||||
var password = await _sysConfigService.GetConfigValueByCode<string>(ConfigConst.SysPassword);
|
||||
if (!string.IsNullOrEmpty(input.NewPassword))
|
||||
var password = await _sysConfigService.GetConfigValueByCode<string>(ConfigConst.SysPassword);
|
||||
if (!string.IsNullOrEmpty(input.NewPassword))
|
||||
password = input.NewPassword;
|
||||
user.Password = CryptogramUtil.Encrypt(password);
|
||||
user.LastChangePasswordTime = null;
|
||||
@ -397,7 +400,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// 验证密码有效期 🔖
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[DisplayName("验证密码有效期")]
|
||||
[DisplayName("验证密码有效期")]
|
||||
public async Task<bool> VerifyPwdExpirationTime()
|
||||
{
|
||||
var sysConfig = await _sysConfigService.GetConfig(ConfigConst.SysPasswordExpirationTime);
|
||||
@ -417,7 +420,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("解除登录锁定")]
|
||||
[DisplayName("解除登录锁定")]
|
||||
public virtual async Task UnlockLogin(UnlockLoginInput input)
|
||||
{
|
||||
var user = await _sysUserRep.GetByIdAsync(input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D0009);
|
||||
@ -435,7 +438,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("获取用户拥有角色集合")]
|
||||
[DisplayName("获取用户拥有角色集合")]
|
||||
public async Task<GrantRoleOutput> GetOwnRoleList(long userId)
|
||||
{
|
||||
// 获取当前用户已分配角色
|
||||
@ -454,7 +457,7 @@ public class SysUserService : IDynamicApiController, ITransient
|
||||
/// </summary>
|
||||
/// <param name="userId"></param>
|
||||
/// <returns></returns>
|
||||
[DisplayName("获取用户扩展机构集合")]
|
||||
[DisplayName("获取用户扩展机构集合")]
|
||||
public async Task<List<SysUserExtOrg>> GetOwnExtOrgList(long userId)
|
||||
{
|
||||
return await _sysUserExtOrgService.GetUserExtOrgList(userId);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user