Przeglądaj źródła

😎调整获取服务方法 App.GetRequiredService

zuohuaijun 2 lat temu
rodzic
commit
13acdd68f3

+ 1 - 1
Admin.NET/Admin.NET.Core/Attribute/IdempotentAttribute.cs

@@ -54,7 +54,7 @@ public class IdempotentAttribute : Attribute, IAsyncActionFilter
         }
 
         var cacheKey = MD5Encryption.Encrypt($"{CacheKey}{path}{userId}{parameters}");
-        var sysCacheService = App.GetService<SysCacheService>();
+        var sysCacheService = App.GetRequiredService<SysCacheService>();
         if (sysCacheService.ExistKey(cacheKey))
         {
             if (ThrowBah) throw Oops.Oh(Message);

+ 1 - 1
Admin.NET/Admin.NET.Core/Cache/SqlSugarCache.cs

@@ -16,7 +16,7 @@ public class SqlSugarCache : ICacheService
     /// <summary>
     /// 系统缓存服务
     /// </summary>
-    private static readonly SysCacheService _cache = App.GetService<SysCacheService>();
+    private static readonly SysCacheService _cache = App.GetRequiredService<SysCacheService>();
 
     public void Add<V>(string key, V value)
     {

+ 1 - 1
Admin.NET/Admin.NET.Core/EventBus/RedisQueue.cs

@@ -15,7 +15,7 @@ namespace Admin.NET.Core;
 /// </summary>
 public static class RedisQueue
 {
-    private static ICache _cache = App.GetService<ICache>();
+    private static ICache _cache = App.GetRequiredService<ICache>();
 
     /// <summary>
     /// 获取可信队列,需要确认

+ 7 - 7
Admin.NET/Admin.NET.Core/Service/Job/JobClusterServer.cs

@@ -25,7 +25,7 @@ public class JobClusterServer : IJobClusterServer
     /// <param name="context">作业集群服务上下文</param>
     public async void Start(JobClusterContext context)
     {
-        var _sysJobClusterRep = App.GetService<SqlSugarRepository<SysJobCluster>>();
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
         // 在作业集群表中,如果 clusterId 不存在,则新增一条(否则更新一条),并设置 status 为 ClusterStatus.Waiting
         if (await _sysJobClusterRep.IsAnyAsync(u => u.ClusterId == context.ClusterId))
         {
@@ -53,11 +53,11 @@ public class JobClusterServer : IJobClusterServer
 
             try
             {
-                ICache _cache = App.GetService<ICache>();
-                //使用分布式锁
+                ICache _cache = App.GetRequiredService<ICache>();
+                // 使用分布式锁
                 using (_cache.AcquireLock("lock:JobClusterServer:WaitingForAsync", 1000))
                 {
-                    var _sysJobClusterRep = App.GetService<SqlSugarRepository<SysJobCluster>>();
+                    var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
                     // 在这里查询数据库,根据以下两种情况处理
                     // 1) 如果作业集群表已有 status 为 ClusterStatus.Working 则继续循环
                     // 2) 如果作业集群表中还没有其他服务或只有自己,则插入一条集群服务或调用 await WorkNowAsync(clusterId); 之后 return;
@@ -79,7 +79,7 @@ public class JobClusterServer : IJobClusterServer
     /// <param name="context">作业集群服务上下文</param>
     public async void Stop(JobClusterContext context)
     {
-        var _sysJobClusterRep = App.GetService<SqlSugarRepository<SysJobCluster>>();
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
         // 在作业集群表中,更新 clusterId 的 status 为 ClusterStatus.Crashed
         await _sysJobClusterRep.UpdateAsync(u => new SysJobCluster { Status = ClusterStatus.Crashed }, u => u.ClusterId == context.ClusterId);
     }
@@ -90,7 +90,7 @@ public class JobClusterServer : IJobClusterServer
     /// <param name="context">作业集群服务上下文</param>
     public async void Crash(JobClusterContext context)
     {
-        var _sysJobClusterRep = App.GetService<SqlSugarRepository<SysJobCluster>>();
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
         // 在作业集群表中,更新 clusterId 的 status 为 ClusterStatus.Crashed
         await _sysJobClusterRep.UpdateAsync(u => new SysJobCluster { Status = ClusterStatus.Crashed }, u => u.ClusterId == context.ClusterId);
     }
@@ -102,7 +102,7 @@ public class JobClusterServer : IJobClusterServer
     /// <returns></returns>
     private async Task WorkNowAsync(string clusterId)
     {
-        var _sysJobClusterRep = App.GetService<SqlSugarRepository<SysJobCluster>>();
+        var _sysJobClusterRep = App.GetRequiredService<SqlSugarRepository<SysJobCluster>>();
         // 在作业集群表中,更新 clusterId 的 status 为 ClusterStatus.Working
         await _sysJobClusterRep.UpdateAsync(u => new SysJobCluster { Status = ClusterStatus.Working }, u => u.ClusterId == clusterId);
     }

+ 1 - 1
Admin.NET/Admin.NET.Core/Service/User/SysUserService.cs

@@ -228,7 +228,7 @@ public class SysUserService : IDynamicApiController, ITransient
             throw Oops.Oh(ErrorCodeEnum.D3005);
 
         // 账号禁用则增加黑名单,账号启用则移除黑名单
-        var sysCacheService = App.GetService<SysCacheService>();
+        var sysCacheService = App.GetRequiredService<SysCacheService>();
         if (input.Status == StatusEnum.Disable)
         {
             sysCacheService.Set($"{CacheConst.KeyBlacklist}{user.Id}", $"{user.RealName}-{user.Phone}");

+ 3 - 10
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarFilter.cs

@@ -22,7 +22,7 @@ public static class SqlSugarFilter
     /// <param name="dbConfigId"></param>
     public static void DeleteUserOrgCache(long userId, string dbConfigId)
     {
-        var sysCacheService = App.GetService<SysCacheService>();
+        var sysCacheService = App.GetRequiredService<SysCacheService>();
 
         // 删除用户机构集合缓存
         sysCacheService.Remove($"{CacheConst.KeyUserOrg}{userId}");
@@ -49,14 +49,7 @@ public static class SqlSugarFilter
         if (orgFilter == null)
         {
             // 获取用户所属机构
-            var orgIds = App.GetService<SysOrgService>().GetUserOrgIdList().GetAwaiter().GetResult();
-
-            var orglds = new List<long>();
-            Scoped.Create((factory, scope) =>
-            {
-                var serviceProvider = scope.ServiceProvider;
-                orglds = serviceProvider.GetService<SysOrgService>().GetUserOrgIdList().GetAwaiter().GetResult();
-            });
+            var orgIds = App.GetRequiredService<SysOrgService>().GetUserOrgIdList().GetAwaiter().GetResult();
             if (orgIds == null || orgIds.Count == 0) return;
 
             // 获取业务实体数据表
@@ -97,7 +90,7 @@ public static class SqlSugarFilter
         if (string.IsNullOrWhiteSpace(userId)) return maxDataScope;
 
         // 获取用户最大数据范围---仅本人数据
-        maxDataScope = App.GetService<SysCacheService>().Get<int>(CacheConst.KeyRoleMaxDataScope + userId);
+        maxDataScope = App.GetRequiredService<SysCacheService>().Get<int>(CacheConst.KeyRoleMaxDataScope + userId);
         if (maxDataScope != (int)DataScopeEnum.Self) return maxDataScope;
 
         // 配置用户数据范围缓存

+ 3 - 2
Admin.NET/Admin.NET.Web.Core/Handlers/JwtHandler.cs

@@ -93,10 +93,11 @@ namespace Admin.NET.Web.Core
                 ? httpContext.Request.Path.Value[5..].Replace("/", ":")
                 : httpContext.Request.Path.Value[1..].Replace("/", ":");
 
+            var sysMenuService = App.GetRequiredService<SysMenuService>();
             // 获取用户拥有按钮权限集合
-            var ownBtnPermList = await App.GetService<SysMenuService>().GetOwnBtnPermList();
+            var ownBtnPermList = await sysMenuService.GetOwnBtnPermList();
             // 获取系统所有按钮权限集合
-            var allBtnPermList = await App.GetService<SysMenuService>().GetAllBtnPermList();
+            var allBtnPermList = await sysMenuService.GetAllBtnPermList();
 
             // 已拥有该按钮权限或者所有按钮集合里面不存在
             var exist1 = ownBtnPermList.Exists(u => routeName.Equals(u, StringComparison.CurrentCultureIgnoreCase));

+ 1 - 1
Admin.NET/Admin.NET.Web.Entry/wwwroot/Template/Service.cs.vm

@@ -223,7 +223,7 @@ if(@column.EffectType == "Upload"){
     @:[ApiDescriptionSettings(Name = "Upload@(@column.PropertyName)"), HttpPost]
     @:public async Task<SysFile> Upload@(@column.PropertyName)([Required] IFormFile file)
     @:{
-            @:var service = App.GetService<SysFileService>();
+            @:var service = App.GetRequiredService<SysFileService>();
             @:return await service.UploadFile(file, "upload/@(@column.PropertyName)"); 
     @:} 
 }