فهرست منبع

增加系统默认账号禁止删除限制

Signed-off-by: Lzh666 <422235757@qq.com>
Lzh666 1 سال پیش
والد
کامیت
c6a595c8d0
2فایلهای تغییر یافته به همراه14 افزوده شده و 3 حذف شده
  1. 9 3
      Admin.NET/Admin.NET.Core/Enum/ErrorCodeEnum.cs
  2. 5 0
      Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

+ 9 - 3
Admin.NET/Admin.NET.Core/Enum/ErrorCodeEnum.cs

@@ -1,4 +1,4 @@
-// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
+// Admin.NET 项目的版权、商标、专利和其他相关权利均受相应法律法规的保护。使用本项目应遵守相关法律法规和许可证的要求。
 //
 // 本项目主要遵循 MIT 许可证和 Apache 许可证(版本 2.0)进行分发和使用。许可证位于源代码树根目录中的 LICENSE-MIT 和 LICENSE-APACHE 文件。
 //
@@ -205,6 +205,12 @@ public enum ErrorCodeEnum
     [ErrorCodeItemMetadata("新密码不能与旧密码相同")]
     D1028,
 
+    /// <summary>
+    /// 系统默认账号禁止删除
+    /// </summary>
+    [ErrorCodeItemMetadata("系统默认账号禁止删除")]
+    D1029,
+
     /// <summary>
     /// 父机构不存在
     /// </summary>
@@ -254,9 +260,9 @@ public enum ErrorCodeEnum
     D2007,
 
     /// <summary>
-    /// 租户默认机构禁止删除
+    /// 系统默认机构禁止删除
     /// </summary>
-    [ErrorCodeItemMetadata("租户默认机构禁止删除")]
+    [ErrorCodeItemMetadata("系统默认机构禁止删除")]
     D2008,
 
     /// <summary>

+ 5 - 0
Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

@@ -169,6 +169,11 @@ public class SysUserService : IDynamicApiController, ITransient
             throw Oops.Oh(ErrorCodeEnum.D1014);
         if (user.Id == _userManager.UserId)
             throw Oops.Oh(ErrorCodeEnum.D1001);
+        // 若账号为租户默认账号禁止删除
+        var isTenantUser = await _sysUserRep.ChangeRepository<SqlSugarRepository<SysTenant>>()
+            .IsAnyAsync(u => u.UserId == input.Id);
+        if (isTenantUser)
+            throw Oops.Oh(ErrorCodeEnum.D1029);
 
         // 强制下线
         await _sysOnlineUserService.ForceOffline(user.Id);