From 26d2bee4f58927578d69be18c8936567a99a1b1c Mon Sep 17 00:00:00 2001 From: ShiJiuZhou <15315423958@163.com> Date: Fri, 27 Feb 2026 17:18:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=99=BB=E5=BD=95=E6=AC=A1?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../auth/handler/BladeAuthorizationHandler.java | 8 ++++++++ .../springblade/core/log/pojo/dto/UserLoginStatsDTO.java | 5 +++++ .../core/log/service/impl/LogApiServiceImpl.java | 4 +++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/blade-auth/src/main/java/org/springblade/auth/handler/BladeAuthorizationHandler.java b/blade-auth/src/main/java/org/springblade/auth/handler/BladeAuthorizationHandler.java index 939d2fc8..c48d9a0a 100644 --- a/blade-auth/src/main/java/org/springblade/auth/handler/BladeAuthorizationHandler.java +++ b/blade-auth/src/main/java/org/springblade/auth/handler/BladeAuthorizationHandler.java @@ -172,6 +172,14 @@ public class BladeAuthorizationHandler extends AbstractAuthorizationHandler { // 4. 更新最后一次登录时间 long lastLoginTime = System.currentTimeMillis(); hashOps.put(key, "lastLoginTime", lastLoginTime); + + // 新增:登录次数递增 + Object countObj = hashOps.get(key, "loginCount"); + long loginCount = 1; + if (countObj != null) { + loginCount = (Long) countObj + 1; + } + hashOps.put(key, "loginCount", loginCount); } /** * 认证失败回调 diff --git a/blade-ops/blade-log/src/main/java/org/springblade/core/log/pojo/dto/UserLoginStatsDTO.java b/blade-ops/blade-log/src/main/java/org/springblade/core/log/pojo/dto/UserLoginStatsDTO.java index 279eab47..9f28a8ea 100644 --- a/blade-ops/blade-log/src/main/java/org/springblade/core/log/pojo/dto/UserLoginStatsDTO.java +++ b/blade-ops/blade-log/src/main/java/org/springblade/core/log/pojo/dto/UserLoginStatsDTO.java @@ -36,4 +36,9 @@ public class UserLoginStatsDTO { * 最后一次登录时间 */ private Long lastLoginTime; + + /** + * 登录次数 + */ + private Long loginCount; } diff --git a/blade-ops/blade-log/src/main/java/org/springblade/core/log/service/impl/LogApiServiceImpl.java b/blade-ops/blade-log/src/main/java/org/springblade/core/log/service/impl/LogApiServiceImpl.java index 407f230e..1fb6cdbe 100644 --- a/blade-ops/blade-log/src/main/java/org/springblade/core/log/service/impl/LogApiServiceImpl.java +++ b/blade-ops/blade-log/src/main/java/org/springblade/core/log/service/impl/LogApiServiceImpl.java @@ -63,6 +63,7 @@ public class LogApiServiceImpl extends ServiceImpl impleme String userId = key.replace("user:login:", ""); String currentUsername = (String) hashOps.get(key, "username"); String currentDeptId = (String) hashOps.get(key, "deptId"); + Long loginCount = (Long) hashOps.get(key, "loginCount"); // 过滤条件:根据 username 和 deptId 筛选 boolean matchUsername = username == null || currentUsername != null && currentUsername.contains(username); boolean matchDept = deptId == null || currentDeptId != null && currentDeptId.equals(deptId); @@ -75,7 +76,8 @@ public class LogApiServiceImpl extends ServiceImpl impleme currentUsername, loginIp, currentDeptId, - lastLoginTime + lastLoginTime, + loginCount )); } }