修复定时清理在线用户的错误

This commit is contained in:
suncaomei 2025-02-20 01:30:31 +08:00
parent 3c57430bfb
commit 3f5b4b159c

View File

@ -119,14 +119,16 @@ public class SysOnlineUserService : IDynamicApiController, ITransient
if (await _sysConfigService.GetConfigValueByCode<bool>(ConfigConst.SysSingleLogin)) return;
// 相同账号最后登录的用户Id集合
var onlineUserIds = await _sysOnlineUerRep.AsQueryable().GroupBy(u => u.UserId)
var onlineUserRecords = 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 = onlineUserRecords.Select(x => x.Id).ToList();
// 无效登录用户集合
var offlineUsers = await _sysOnlineUerRep.AsQueryable().Where(u => !onlineUserIds.Contains(u.Id)).ToListAsync();