Procházet zdrojové kódy

修复超级管理员添加机构时机构缓存没有清理

林海波 před 2 roky
rodič
revize
61a187b399

+ 6 - 5
Admin.NET/Admin.NET.Core/Service/Org/SysOrgService.cs

@@ -110,12 +110,13 @@ public class SysOrgService : IDynamicApiController, ITransient
             // 新增机构的父机构不在自己的数据范围内
             // 新增机构的父机构不在自己的数据范围内
             if (orgIdList.Count < 1 || !orgIdList.Contains(input.Pid))
             if (orgIdList.Count < 1 || !orgIdList.Contains(input.Pid))
                 throw Oops.Oh(ErrorCodeEnum.D2003);
                 throw Oops.Oh(ErrorCodeEnum.D2003);
-
-            // 删除与此父机构有关的用户机构缓存
-            var pOrg = await _sysOrgRep.GetFirstAsync(u => u.Id == input.Pid);
-            DeleteUserOrgCache(pOrg.Id, pOrg.Pid);
         }
         }
-
+        
+        // 删除与此父机构有关的用户机构缓存
+        var pOrg = await _sysOrgRep.GetFirstAsync(u => u.Id == input.Pid);
+        if (pOrg != null)
+            DeleteUserOrgCache(pOrg.Id, pOrg.Pid);
+        
         var newOrg = await _sysOrgRep.AsInsertable(input.Adapt<SysOrg>()).ExecuteReturnEntityAsync();
         var newOrg = await _sysOrgRep.AsInsertable(input.Adapt<SysOrg>()).ExecuteReturnEntityAsync();
         return newOrg.Id;
         return newOrg.Id;
     }
     }