|
|
@@ -109,6 +109,29 @@ public class SysProfileController extends BaseController
|
|
|
LoginUser loginUser = getLoginUser();
|
|
|
Long userId = loginUser.getUserId();
|
|
|
String password = loginUser.getPassword();
|
|
|
+
|
|
|
+ // 如果缓存中的密码为空,从数据库重新查询用户信息获取密码
|
|
|
+ if (StringUtils.isEmpty(password))
|
|
|
+ {
|
|
|
+ SysUser dbUser = userService.selectUserById(userId);
|
|
|
+ if (dbUser == null)
|
|
|
+ {
|
|
|
+ return error("用户不存在");
|
|
|
+ }
|
|
|
+ password = dbUser.getPassword();
|
|
|
+ // 更新缓存中的用户密码信息
|
|
|
+ if (loginUser.getUser() != null)
|
|
|
+ {
|
|
|
+ loginUser.getUser().setPassword(password);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 验证旧密码是否为空
|
|
|
+ if (StringUtils.isEmpty(password))
|
|
|
+ {
|
|
|
+ return error("修改密码失败,无法获取用户密码信息");
|
|
|
+ }
|
|
|
+
|
|
|
if (!SecurityUtils.matchesPassword(oldPassword, password))
|
|
|
{
|
|
|
return error("修改密码失败,旧密码错误");
|