From c0ac0225d1cb8721c93e3cc17b7bc425eee5bcd7 Mon Sep 17 00:00:00 2001 From: fengshuonan Date: Tue, 3 Oct 2023 23:26:53 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=908.0=E3=80=91=E3=80=90system=E3=80=91?= =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BF=AE=E6=94=B9=E7=94=A8=E6=88=B7=E7=8A=B6?= =?UTF-8?q?=E6=80=81=E7=9A=84=E7=BC=93=E5=AD=98=E7=9A=84=E6=B8=85=E9=99=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/service/impl/SysUserServiceImpl.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java index 1a82d5be5..e8964c079 100644 --- a/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java +++ b/kernel-s-system/system-business-hr/src/main/java/cn/stylefeng/roses/kernel/sys/modular/user/service/impl/SysUserServiceImpl.java @@ -9,6 +9,7 @@ import cn.stylefeng.roses.kernel.auth.api.context.LoginContext; import cn.stylefeng.roses.kernel.auth.api.password.PasswordStoredEncryptApi; import cn.stylefeng.roses.kernel.auth.api.pojo.login.LoginUser; import cn.stylefeng.roses.kernel.auth.api.pojo.password.SaltedEncryptResult; +import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi; import cn.stylefeng.roses.kernel.db.api.factory.PageFactory; import cn.stylefeng.roses.kernel.db.api.factory.PageResultFactory; import cn.stylefeng.roses.kernel.db.api.pojo.entity.BaseEntity; @@ -69,6 +70,9 @@ public class SysUserServiceImpl extends ServiceImpl impl @Resource private TenantCodeGetApi tenantCodeGetApi; + @Resource(name = "loginErrorCountCacheApi") + private CacheOperatorApi loginErrorCountCacheApi; + @Override @Transactional(rollbackFor = Exception.class) public void add(SysUserRequest sysUserRequest) { @@ -218,6 +222,18 @@ public class SysUserServiceImpl extends ServiceImpl impl updateWrapper.eq(SysUser::getUserId, sysUserRequest.getUserId()); this.update(updateWrapper); + // 如果是启用用户,则清除掉用户密码错误次数的缓存 + if (statusFlag.equals(UserStatusEnum.ENABLE.getCode())) { + // 获取用户id对应的账号 + Long userId = sysUserRequest.getUserId(); + LambdaQueryWrapper sysUserLambdaQueryWrapper = new LambdaQueryWrapper<>(); + sysUserLambdaQueryWrapper.eq(SysUser::getUserId, userId); + sysUserLambdaQueryWrapper.select(SysUser::getAccount); + SysUser sysUser = this.getOne(sysUserLambdaQueryWrapper); + if (sysUser != null) { + loginErrorCountCacheApi.remove(sysUser.getAccount()); + } + } } @Override