From 13a7c2bcbe2418a1227eba9fb1804c920a2f26d1 Mon Sep 17 00:00:00 2001 From: zuohuaijun Date: Tue, 22 Jul 2025 15:53:33 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=98=8E=E4=BF=AE=E5=A4=8D=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E7=94=A8=E6=88=B7=E6=97=B6=E9=80=BB=E8=BE=91=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/User/SysUserService.cs | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs b/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs index 5e3ca60a..ad43528a 100644 --- a/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs @@ -144,15 +144,7 @@ public class SysUserService : IDynamicApiController, ITransient { var query = _sysUserRep.AsQueryable().ClearFilter().Where(u => u.Id != input.Id); if (await query.AnyAsync(u => u.Account == input.Account)) throw Oops.Oh(ErrorCodeEnum.D1003); - if (!string.IsNullOrWhiteSpace(input.Phone) && await query.AnyAsync(u => u.Phone == input.Phone)) throw Oops.Oh(ErrorCodeEnum.D1032); - - await _sysUserRep.AsUpdateable(input.Adapt()).IgnoreColumns(true).IgnoreColumns(u => new { u.Password, u.Status, u.TenantId }).ExecuteCommandAsync(); - - // 更新用户附属机构 - await UpdateRoleAndExtOrg(input); - - // 删除用户机构缓存 - SqlSugarFilter.DeleteUserOrgCache(input.Id, _sysUserRep.Context.CurrentConnectionConfig.ConfigId.ToString()); + if (!string.IsNullOrWhiteSpace(input.Phone) && await query.AnyAsync(u => u.Phone == input.Phone)) throw Oops.Oh(ErrorCodeEnum.D1032); // 若账号的角色和组织架构发生变化,则强制下线账号进行权限更新 var user = await _sysUserRep.GetByIdAsync(input.Id); @@ -161,7 +153,16 @@ public class SysUserService : IDynamicApiController, ITransient { // 强制下线账号和失效Token await OfflineAndExpireToken(user); - } + } + + // 更新用户 + await _sysUserRep.AsUpdateable(input.Adapt()).IgnoreColumns(true).IgnoreColumns(u => new { u.Password, u.Status, u.TenantId }).ExecuteCommandAsync(); + + // 更新用户附属机构 + await UpdateRoleAndExtOrg(input); + + // 删除用户机构缓存 + SqlSugarFilter.DeleteUserOrgCache(input.Id, _sysUserRep.Context.CurrentConnectionConfig.ConfigId.ToString()); // 更新域账号 await _sysUserLdapService.AddUserLdap(user.TenantId!.Value, user.Id, user.Account, input.DomainAccount);