😎优化清理在线用户逻辑
This commit is contained in:
parent
08ae183e56
commit
8adfd623d4
@ -119,14 +119,15 @@ public class SysOnlineUserService : IDynamicApiController, ITransient
|
||||
if (await _sysConfigService.GetConfigValueByCode<bool>(ConfigConst.SysSingleLogin)) return;
|
||||
|
||||
// 相同账号最后登录的用户Id集合
|
||||
var onlineUserIds = await _sysOnlineUerRep.AsQueryable().GroupBy(u => u.UserId)
|
||||
var onlineUsers = await _sysOnlineUerRep.AsQueryable().GroupBy(u => u.UserId)
|
||||
.Select(u => new
|
||||
{
|
||||
UserId = u.UserId,
|
||||
Count = SqlFunc.AggregateCount(u.UserId),
|
||||
Id = SqlFunc.AggregateMax(u.Id)
|
||||
})
|
||||
.ToListAsync(u => u.Id);
|
||||
.ToListAsync();
|
||||
var onlineUserIds = onlineUsers.Select(u => u.Id).ToList();
|
||||
|
||||
// 无效登录用户集合
|
||||
var offlineUsers = await _sysOnlineUerRep.AsQueryable().Where(u => !onlineUserIds.Contains(u.Id)).ToListAsync();
|
||||
|
||||
Loading…
Reference in New Issue
Block a user