diff --git a/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs b/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs index 42ebbb7d..59eb1319 100644 --- a/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs +++ b/Src/Dlhis.Sys/Identity/Services/Implements/TenantService.cs @@ -69,18 +69,17 @@ public class TenantService : ITenantService public async Task> GetMyTenantsAsync() { - var userId = _currentUser.GetIntSubjectId(); var tenantId = _currentUser.GetStringTenantId(); + var tenantIds = _currentUser.GetUserClaim("tenants").Split(",").ToList(); - var myTenants = await _dbContext.Queryable() - .LeftJoin((ut, t) => ut.TenantCode == t.Code) - .Where(ut => ut.UserId == userId) - .Select((ut, t) => new TenantResponse + var myTenants = await _dbContext.Queryable() + .Where(x => tenantIds.Contains(x.Code)) + .Select(x => new TenantResponse { - Id = t.Id, - PCode = t.PCode, - Code = t.Code, - Name = t.Name, + Id = x.Id, + PCode = x.PCode, + Code = x.Code, + Name = x.Name, }) .ToListAsync();