diff --git a/ruoyi-service/src/main/java/com/ruoyi/system/user/utils/UserUtil.java b/ruoyi-service/src/main/java/com/ruoyi/system/user/utils/UserUtil.java new file mode 100644 index 0000000..4061d34 --- /dev/null +++ b/ruoyi-service/src/main/java/com/ruoyi/system/user/utils/UserUtil.java @@ -0,0 +1,21 @@ +package com.ruoyi.system.user.utils; + +public class UserUtil { + + /** + * 生成6位随机密码 + * @return 随机密码 + */ + public static String randomPassword() { + // 定义密码字符集 + String chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + StringBuilder password = new StringBuilder(); + // 生成6位随机密码 + for (int i = 0; i < 6; i++) { + int index = (int) (Math.random() * chars.length()); + password.append(chars.charAt(index)); + } + return password.toString(); + } + +} diff --git a/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java b/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java index 20c84fe..516a99a 100644 --- a/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java +++ b/ruoyi-web/src/main/java/com/ruoyi/web/system/SysUserController.java @@ -18,6 +18,7 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import com.alibaba.fastjson2.JSONObject; import com.ruoyi.common.annotation.Log; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; @@ -39,6 +40,7 @@ import com.ruoyi.system.user.domain.UserQuery; import com.ruoyi.system.user.service.UserAssembler; import com.ruoyi.system.user.service.UserConverter; import com.ruoyi.system.user.service.UserService; +import com.ruoyi.system.user.utils.UserUtil; /** * 用户信息 @@ -191,13 +193,25 @@ public class SysUserController extends BaseController @PreAuthorize("@ss.hasPermi('system:user:resetPwd')") @Log(title = "重置用户密码", businessType = BusinessType.UPDATE, bizIdName = "arg0", bizType = LogBizType.USER) @PutMapping("/resetPwd") - public AjaxResult resetPwd(@RequestBody User user) + public AjaxResult resetPwd(Long userId) { + UserVO user = userService.selectUserById(userId); userService.checkUserAllowed(user); userService.checkUserDataScope(user.getUserId()); - user.setPassword(SecurityUtils.encryptPassword(user.getPassword())); - user.setUpdateBy(getUsername()); - return toAjax(userService.resetPwd(user)); + + String password = UserUtil.randomPassword(); + User data = new User(); + data.setUserId(userId); + data.setPassword(SecurityUtils.encryptPassword(password)); + data.setUpdateBy(getNickName()); + int rows = userService.resetPwd(data); + if (rows > 0) { + JSONObject json = new JSONObject(); + json.put("password", password); + json.put("userName", user.getUserName()); + return AjaxResult.success("重置密码成功", json); + } + return error("重置密码失败"); } /**