From 9cb3404b2674e17dbd6711f39d436e45ba40654a Mon Sep 17 00:00:00 2001 From: baize <3533151373@qq.com> Date: Fri, 12 Apr 2024 15:43:20 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=AF=86=E7=A0=81=E5=89=94?= =?UTF-8?q?=E9=99=A4=E7=99=BB=E5=BD=95=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../muyu/auth/service/SysPasswordService.java | 2 +- .../system/controller/SysUserController.java | 23 +++++++++++++++---- .../service/impl/SysUserServiceImpl.java | 15 +++++++++--- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java b/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java index 5f3c126..d563411 100644 --- a/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java +++ b/muyu-auth/src/main/java/com/muyu/auth/service/SysPasswordService.java @@ -58,7 +58,7 @@ public class SysPasswordService { retryCount = retryCount + 1; recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount)); redisService.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES); - throw new ServiceException("用户不存在/密码错误"); + throw new ServiceException("用户/邮箱不存在/密码错误"); } else { clearLoginRecordCache(username); } diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java index 9030876..307f02e 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/controller/SysUserController.java @@ -14,6 +14,7 @@ import com.muyu.common.system.domain.SysDept; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; import com.muyu.common.system.domain.LoginUser; +import com.muyu.system.domain.SysUserOnline; import com.muyu.system.domain.resp.AuthRoleResp; import com.muyu.system.domain.resp.UserDetailInfoResp; import com.muyu.system.domain.resp.UserInfoResp; @@ -55,6 +56,8 @@ public class SysUserController extends BaseController { @Autowired private SysConfigService configService; + @Autowired + private SysUserOnlineController sysUserOnlineController; /** * 获取用户列表 @@ -232,15 +235,25 @@ public class SysUserController extends BaseController { /** * 重置密码 */ - @RequiresPermissions("system:user:edit") + @RequiresPermissions("`system:user:edit") @Log(title = "用户管理", businessType = BusinessType.UPDATE) @PutMapping("/resetPwd") public Result resetPwd (@RequestBody SysUser user) { - userService.checkUserAllowed(user); - userService.checkUserDataScope(user.getUserId()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); + SysUser sysUser = userService.selectUserById(user.getUserId()); + userService.checkUserAllowed(sysUser); + userService.checkUserDataScope(sysUser.getUserId()); + user.setPassword(SecurityUtils.encryptPassword(sysUser.getPassword())); user.setUpdateBy(SecurityUtils.getUsername()); - return toAjax(userService.resetPwd(user)); + Result> list = sysUserOnlineController.list(user.getLoginIp(), user.getUserName()); + System.out.println(list); + TableDataInfo data = list.getData(); + List rows = data.getRows(); + for (SysUserOnline row : rows) { + if (row.getUserName().equals(sysUser.getUserName())){ + sysUserOnlineController.forceLogout(row.getTokenId()); + } + } + return toAjax(userService.resetPwd(sysUser)); } /** diff --git a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java index 4a0b856..f89adbf 100644 --- a/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java +++ b/muyu-modules/muyu-system/src/main/java/com/muyu/system/service/impl/SysUserServiceImpl.java @@ -3,10 +3,13 @@ package com.muyu.system.service.impl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.muyu.common.core.constant.UserConstants; import com.muyu.common.core.exception.ServiceException; +import com.muyu.common.core.utils.JwtUtils; import com.muyu.common.core.utils.SpringUtils; import com.muyu.common.core.utils.StringUtils; import com.muyu.common.core.utils.bean.BeanValidators; import com.muyu.common.datascope.annotation.DataScope; +import com.muyu.common.redis.service.RedisService; +import com.muyu.common.security.auth.AuthUtil; import com.muyu.common.security.utils.SecurityUtils; import com.muyu.common.system.domain.SysRole; import com.muyu.common.system.domain.SysUser; @@ -19,10 +22,12 @@ import com.muyu.system.service.SysConfigService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; +import javax.servlet.http.HttpServletRequest; import javax.validation.Validator; import java.util.ArrayList; import java.util.List; @@ -336,9 +341,15 @@ public class SysUserServiceImpl extends ServiceImpl impl * * @return 结果 */ + @Autowired + private RedisService redisService; + @Autowired + private StringRedisTemplate redisTemplate; @Override public int resetPwd (SysUser user) { - return userMapper.updateUser(user); + int i = userMapper.updateUser(user); + + return i; } /** @@ -500,6 +511,4 @@ public class SysUserServiceImpl extends ServiceImpl impl return successMsg.toString(); } - - }