Przeglądaj źródła

😉优化租户相关

zuohuaijun 2 lat temu
rodzic
commit
75ca45ab8f

+ 3 - 6
Admin.NET/Admin.NET.Core/Service/Tenant/SysTenantService.cs

@@ -18,7 +18,6 @@ public class SysTenantService : IDynamicApiController, ITransient
     private readonly SysRoleMenuService _sysRoleMenuService;
     private readonly SysRoleMenuService _sysRoleMenuService;
     private readonly SysConfigService _sysConfigService;
     private readonly SysConfigService _sysConfigService;
     private readonly SysCacheService _sysCacheService;
     private readonly SysCacheService _sysCacheService;
-    private readonly ISqlSugarClient _sqlSugarClient;
 
 
     public SysTenantService(SqlSugarRepository<SysTenant> sysTenantRep,
     public SysTenantService(SqlSugarRepository<SysTenant> sysTenantRep,
         SqlSugarRepository<SysOrg> sysOrgRep,
         SqlSugarRepository<SysOrg> sysOrgRep,
@@ -31,8 +30,7 @@ public class SysTenantService : IDynamicApiController, ITransient
         SysUserRoleService sysUserRoleService,
         SysUserRoleService sysUserRoleService,
         SysRoleMenuService sysRoleMenuService,
         SysRoleMenuService sysRoleMenuService,
         SysConfigService sysConfigService,
         SysConfigService sysConfigService,
-        SysCacheService sysCacheService,
-        ISqlSugarClient sqlSugarClient)
+        SysCacheService sysCacheService)
     {
     {
         _sysTenantRep = sysTenantRep;
         _sysTenantRep = sysTenantRep;
         _sysOrgRep = sysOrgRep;
         _sysOrgRep = sysOrgRep;
@@ -46,7 +44,6 @@ public class SysTenantService : IDynamicApiController, ITransient
         _sysRoleMenuService = sysRoleMenuService;
         _sysRoleMenuService = sysRoleMenuService;
         _sysConfigService = sysConfigService;
         _sysConfigService = sysConfigService;
         _sysCacheService = sysCacheService;
         _sysCacheService = sysCacheService;
-        _sqlSugarClient = sqlSugarClient;
     }
     }
 
 
     /// <summary>
     /// <summary>
@@ -339,7 +336,7 @@ public class SysTenantService : IDynamicApiController, ITransient
     {
     {
         _sysCacheService.Remove(CacheConst.KeyTenant);
         _sysCacheService.Remove(CacheConst.KeyTenant);
 
 
-        var iTenant = _sqlSugarClient.AsTenant();
+        var iTenant = _sysTenantRep.AsTenant();
         var tenantList = await _sysTenantRep.GetListAsync();
         var tenantList = await _sysTenantRep.GetListAsync();
         var defaultTenant = tenantList.FirstOrDefault(u => u.Id.ToString() == SqlSugarConst.ConfigId);
         var defaultTenant = tenantList.FirstOrDefault(u => u.Id.ToString() == SqlSugarConst.ConfigId);
         foreach (var tenant in tenantList)
         foreach (var tenant in tenantList)
@@ -347,7 +344,7 @@ public class SysTenantService : IDynamicApiController, ITransient
             var tenantId = tenant.Id.ToString();
             var tenantId = tenant.Id.ToString();
             if (tenantId == SqlSugarConst.ConfigId) continue;
             if (tenantId == SqlSugarConst.ConfigId) continue;
 
 
-            // Id模式隔离的租户数据库与主租户一致
+            // Id模式隔离的租户数据库与宿主一致
             if (tenant.TenantType == TenantTypeEnum.Id)
             if (tenant.TenantType == TenantTypeEnum.Id)
             {
             {
                 tenant.ConfigId = tenantId;
                 tenant.ConfigId = tenantId;

+ 1 - 4
Admin.NET/Admin.NET.Core/SqlSugar/SqlSugarRepository.cs

@@ -36,11 +36,8 @@ public class SqlSugarRepository<T> : SimpleClient<T> where T : class, new()
             var tenant = App.GetRequiredService<SysCacheService>().Get<List<SysTenant>>(CacheConst.KeyTenant)
             var tenant = App.GetRequiredService<SysCacheService>().Get<List<SysTenant>>(CacheConst.KeyTenant)
                 .FirstOrDefault(u => u.Id == tenantId);
                 .FirstOrDefault(u => u.Id == tenantId);
 
 
-            var connectionString = tenant.Connection;
             // 如果是Id隔离,使用默认的连接字符串
             // 如果是Id隔离,使用默认的连接字符串
-            if (tenant.TenantType == TenantTypeEnum.Id)
-                connectionString = iTenant.GetConnectionScope(SqlSugarConst.ConfigId).CurrentConnectionConfig.ConnectionString;
-
+            var connectionString = tenant.TenantType == TenantTypeEnum.Id ? iTenant.GetConnectionScope(SqlSugarConst.ConfigId).CurrentConnectionConfig.ConnectionString : tenant.Connection;
             iTenant.AddConnection(new ConnectionConfig()
             iTenant.AddConnection(new ConnectionConfig()
             {
             {
                 ConfigId = tenant.Id,
                 ConfigId = tenant.Id,

+ 1 - 1
Web/src/views/system/role/index.vue

@@ -72,7 +72,7 @@
 		</el-card>
 		</el-card>
 
 
 		<EditRole ref="editRoleRef" :title="state.editRoleTitle" @handleQuery="handleQuery" />
 		<EditRole ref="editRoleRef" :title="state.editRoleTitle" @handleQuery="handleQuery" />
-		<GrantData ref="grantDataRef" @handleQuery="handleQuery"/>
+		<GrantData ref="grantDataRef" @handleQuery="handleQuery" />
 	</div>
 	</div>
 </template>
 </template>