From 8adfd623d4d8ec434146759d66792d67a5e3d743 Mon Sep 17 00:00:00 2001 From: zuohuaijun Date: Thu, 20 Feb 2025 02:35:44 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=F0=9F=98=8E=E4=BC=98=E5=8C=96=E6=B8=85?= =?UTF-8?q?=E7=90=86=E5=9C=A8=E7=BA=BF=E7=94=A8=E6=88=B7=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Service/OnlineUser/SysOnlineUserService.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs index d2068f89..46683ba3 100644 --- a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs @@ -119,14 +119,15 @@ public class SysOnlineUserService : IDynamicApiController, ITransient if (await _sysConfigService.GetConfigValueByCode(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(); From efeb9f843ee4c1f8fe46bcc5a99b3ca8abce3ee6 Mon Sep 17 00:00:00 2001 From: zuohuaijun Date: Thu, 20 Feb 2025 03:42:45 +0800 Subject: [PATCH 2/9] =?UTF-8?q?=F0=9F=98=8E=E8=B0=83=E6=95=B4=E5=AD=97?= =?UTF-8?q?=E5=85=B8=E7=9B=B8=E5=85=B3=E5=AF=B9=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../OnlineUser/SysOnlineUserService.cs | 3 +- .../wwwroot/template/web_views_List.vue.vm | 6 +-- .../template/web_views_editDialog.vue.vm | 2 - .../template/web_views_el_table_index.vue.vm | 6 +-- Web/package.json | 4 +- Web/src/stores/userInfo.ts | 42 +++++++++---------- .../codeGen/component/genConfigDialog.vue | 4 +- .../views/system/org/component/editOrg.vue | 2 +- Web/src/views/system/org/index.vue | 2 +- 9 files changed, 35 insertions(+), 36 deletions(-) diff --git a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs index 46683ba3..c6441b0f 100644 --- a/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs +++ b/Admin.NET/Admin.NET.Core/Service/OnlineUser/SysOnlineUserService.cs @@ -127,9 +127,10 @@ public class SysOnlineUserService : IDynamicApiController, ITransient Id = SqlFunc.AggregateMax(u.Id) }) .ToListAsync(); - var onlineUserIds = onlineUsers.Select(u => u.Id).ToList(); + if (onlineUsers.Count < 1) return; // 无效登录用户集合 + var onlineUserIds = onlineUsers.Select(u => u.Id).ToList(); var offlineUsers = await _sysOnlineUerRep.AsQueryable().Where(u => !onlineUserIds.Contains(u.Id)).ToListAsync(); foreach (var user in offlineUsers) { diff --git a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_List.vue.vm b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_List.vue.vm index 19957ec7..171b618e 100644 --- a/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_List.vue.vm +++ b/Admin.NET/Admin.NET.Web.Entry/wwwroot/template/web_views_List.vue.vm @@ -165,7 +165,7 @@ @: } else if(@column.EffectType == "DictSelector") { @: } else if(@column.EffectType == "EnumSelector") { @: @@ -43,7 +43,7 @@