😎优化清理在线用户逻辑
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;
|
if (await _sysConfigService.GetConfigValueByCode<bool>(ConfigConst.SysSingleLogin)) return;
|
||||||
|
|
||||||
// 相同账号最后登录的用户Id集合
|
// 相同账号最后登录的用户Id集合
|
||||||
var onlineUserIds = await _sysOnlineUerRep.AsQueryable().GroupBy(u => u.UserId)
|
var onlineUsers = await _sysOnlineUerRep.AsQueryable().GroupBy(u => u.UserId)
|
||||||
.Select(u => new
|
.Select(u => new
|
||||||
{
|
{
|
||||||
UserId = u.UserId,
|
UserId = u.UserId,
|
||||||
Count = SqlFunc.AggregateCount(u.UserId),
|
Count = SqlFunc.AggregateCount(u.UserId),
|
||||||
Id = SqlFunc.AggregateMax(u.Id)
|
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();
|
var offlineUsers = await _sysOnlineUerRep.AsQueryable().Where(u => !onlineUserIds.Contains(u.Id)).ToListAsync();
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user