😎优化在线用户处理
This commit is contained in:
parent
7879c315cb
commit
55f887752f
@ -34,7 +34,7 @@ public class SysOnlineUserService : IDynamicApiController, ITransient
|
||||
[DisplayName("获取在线用户列表")]
|
||||
public async Task<List<OnlineUser>> GetOnlineUserList()
|
||||
{
|
||||
var userList = SysCacheService.HashGetAll<OnlineUser>(CacheConst.KeyUserOnline).Where(u => u.Value.TenantId == _userManager.TenantId).Select(u => u.Value).ToList();
|
||||
var userList = SysCacheService.HashGetAll<OnlineUser>(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<OnlineUser>(CacheConst.KeyUserOnline).Where(u => u.Value.UserId == userId).Select(u => u.Value).ToList();
|
||||
var users = SysCacheService.HashGetAll<OnlineUser>(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<long> userIds)
|
||||
{
|
||||
var userList = SysCacheService.HashGetAll<OnlineUser>(CacheConst.KeyUserOnline)
|
||||
.Where(u => userIds.Contains(u.Value.UserId))
|
||||
.Select(u => u.Value).ToList();
|
||||
var userList = SysCacheService.HashGetAll<OnlineUser>(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<bool>(ConfigConst.SysSingleLogin)) return;
|
||||
|
||||
var users = SysCacheService.HashGetAll<OnlineUser>(CacheConst.KeyUserOnline).Where(u => u.Value.UserId == userId).Select(u => u.Value).ToList();
|
||||
var users = SysCacheService.HashGetAll<OnlineUser>(CacheConst.KeyUserOnline).Values.Where(u => u.UserId == userId).ToList();
|
||||
foreach (var user in users)
|
||||
{
|
||||
if (user.LoginMode == loginMode)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user