From 88c2e4979a53621db8b00b8e11a7c499febcd2da Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Sat, 21 Mar 2026 23:29:22 +0800
Subject: [PATCH] 新增锁定屏幕功能

---
 ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java |   30 ++++++++++++++++++++++++++++++
 1 files changed, 30 insertions(+), 0 deletions(-)

diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
index ffd79e1..907ffdf 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -113,9 +113,38 @@
         remoteUserService.recordUserLogin(sysUser, SecurityConstants.INNER);
     }
 
+    /**
+     * 退出
+     */
     public void logout(String loginName)
     {
         recordLogService.recordLogininfor(loginName, Constants.LOGOUT, "退出成功");
+    }
+
+    /**
+     * 解锁
+     */
+    public void unlock(String password)
+    {
+        String username = SecurityUtils.getUsername();
+        // 或密码为空 错误
+        if (StringUtils.isEmpty(password))
+        {
+            throw new ServiceException("密码不能为空");
+        }
+        // 查询用户信息
+        R<LoginUser> userResult = remoteUserService.getUserInfo(username, SecurityConstants.INNER);
+
+        if (R.FAIL == userResult.getCode())
+        {
+            throw new ServiceException(userResult.getMsg());
+        }
+
+        SysUser user = userResult.getData().getSysUser();
+        if (!SecurityUtils.matchesPassword(password, user.getPassword()))
+        {
+            throw new ServiceException("密码错误,请重新输入");
+        }
     }
 
     /**
@@ -143,6 +172,7 @@
         SysUser sysUser = new SysUser();
         sysUser.setUserName(username);
         sysUser.setNickName(username);
+        sysUser.setPwdUpdateDate(DateUtils.getNowDate());
         sysUser.setPassword(SecurityUtils.encryptPassword(password));
         R<?> registerResult = remoteUserService.registerUserInfo(sysUser, SecurityConstants.INNER);
 

--
Gitblit v1.9.3