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