From cd4e26608b01cbc376760d96e2eab5d0a796f0b0 Mon Sep 17 00:00:00 2001
From: longz <longzhaoz@qq.com>
Date: 星期二, 28 七月 2026 10:14:04 +0800
Subject: [PATCH] 合并监控

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java |   22 ++++++++++++++++++++--
 1 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
index 1aea58e..9788e50 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/SysUserController.java
@@ -638,8 +638,16 @@
     @ApiOperation(value = "重置操作密码", tags = {"管理后台-系统用户管理"})
     public AjaxResult resetOperationPwd(@RequestBody Map<String, Object> params) {
         Long userId = parseLong(params.get("userId"));
+        String operationPassword = parseString(params.get("operationPassword"));
+        String code = parseString(params.get("code"));
         if (userId == null) {
             return AjaxResult.error("用户不存在");
+        }
+        if (StringUtils.isEmpty(operationPassword)) {
+            return AjaxResult.error("请输入新操作密码");
+        }
+        if (StringUtils.isEmpty(code)) {
+            return AjaxResult.error("请输入验证码");
         }
 
         SysUser user = userService.selectUserById(userId);
@@ -649,9 +657,19 @@
         userService.checkUserAllowed(user);
         userService.checkUserDataScope(userId);
 
-        user.setOperationPassword(SecurityUtils.encryptPassword("123456"));
+        String cacheCode = redisService.getCacheObject(RESET_PWD_CODE_KEY + userId);
+        if (StringUtils.isEmpty(cacheCode)) {
+            return AjaxResult.error("验证码已过期,请重新获取验证码");
+        }
+        if (!code.equals(cacheCode)) {
+            return AjaxResult.error("验证码错误");
+        }
+
+        user.setOperationPassword(SecurityUtils.encryptPassword(operationPassword));
         user.setUpdateBy(SecurityUtils.getUsername());
-        return toAjax(userService.updateUser(user));
+        int result = userService.updateUser(user);
+        redisService.deleteObject(RESET_PWD_CODE_KEY + userId);
+        return toAjax(result);
     }
     private Long parseLong(Object value) {
         if (value == null || StringUtils.isEmpty(String.valueOf(value))) {

--
Gitblit v1.7.1