Browse Source

修复 租户数据字典 关联错误问题 #IDAEEA

夜鹰 7 months ago
parent
commit
6d7a1a4adc

+ 4 - 0
Admin.NET/Admin.NET.Core/Service/Dict/Dto/DictTypeInput.cs

@@ -25,6 +25,10 @@ public class PageDictTypeInput : BasePageInput
 
 public class AddDictTypeInput : SysDictType
 {
+    /// <summary>
+    /// 是否是租户字典(Y-是,N-否)
+    /// </summary>
+    public override YesNoEnum IsTenant { get; set; } = YesNoEnum.Y;
     /// <summary>
     /// 是否是内置字典(Y-是,N-否)
     /// </summary>

+ 3 - 1
Admin.NET/Admin.NET.Core/Service/Dict/SysDictDataService.cs

@@ -29,7 +29,9 @@ public class SysDictDataService : IDynamicApiController, ITransient
         _sysLangTextCacheService = sysLangTextCacheService;
         VSysDictData = _sysDictDataRep.Context.UnionAll(
             _sysDictDataRep.AsQueryable(),
-            _sysDictDataRep.Change<SysDictDataTenant>().AsQueryable().WhereIF(_userManager.SuperAdmin, d => d.TenantId == _userManager.TenantId).Select<SysDictData>());
+            _sysDictDataRep.Change<SysDictDataTenant>().AsQueryable()
+            //.WhereIF(_userManager.SuperAdmin, d => d.TenantId == _userManager.TenantId)
+            .Select<SysDictData>());
     }
 
     /// <summary>

+ 2 - 0
Admin.NET/Admin.NET.Core/Service/Dict/SysDictTypeService.cs

@@ -130,6 +130,8 @@ public class SysDictTypeService : IDynamicApiController, ITransient
         var isExist = await _sysDictTypeRep.IsAnyAsync(u => u.Code == input.Code);
         if (isExist) throw Oops.Oh(ErrorCodeEnum.D3001);
 
+        if (_userManager.SuperAdmin) input.IsTenant = YesNoEnum.N;  // 超级管理员添加的字典类型默认非租户级
+
         await _sysDictTypeRep.InsertAsync(input.Adapt<SysDictType>());
     }