diff --git a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs index d415e0fa..b229f76e 100644 --- a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs @@ -34,7 +34,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient [DisplayName("获取在线用户列表")] public async Task> GetOnlineUserList() { - var userList = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Where(u => u.Value.TenantId == _userManager.TenantId).Select(u => u.Value).ToList(); + var userList = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Values.Where(u => u.TenantId == _userManager.TenantId).ToList(); return await Task.FromResult(userList); } @@ -58,7 +58,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient [NonAction] public async Task ForceOfflineByUserId(long userId) { - var users = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Where(u => u.Value.UserId == userId).Select(u => u.Value).ToList(); + var users = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Values.Where(u => u.UserId == userId).ToList(); foreach (var user in users) { await ForceOffline(user); @@ -74,9 +74,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient [NonAction] public async Task PublicNotice(SysNotice notice, List userIds) { - var userList = SysCacheService.HashGetAll(CacheConst.KeyUserOnline) - .Where(u => userIds.Contains(u.Value.UserId)) - .Select(u => u.Value).ToList(); + var userList = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Values.Where(u => userIds.Contains(u.UserId)).ToList(); if (userList.Count == 0) return; foreach (var item in userList) @@ -96,7 +94,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient { if (!await _sysConfigService.GetConfigValueByCode(ConfigConst.SysSingleLogin)) return; - var users = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Where(u => u.Value.UserId == userId).Select(u => u.Value).ToList(); + var users = SysCacheService.HashGetAll(CacheConst.KeyUserOnline).Values.Where(u => u.UserId == userId).ToList(); foreach (var user in users) { if (user.LoginMode == loginMode)