From 553c29ab8a46c9a07e3657fdd36a81a6bfde1afe Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期四, 23 九月 2021 19:13:58 +0800 Subject: [PATCH] update 整合 satoken 权限、鉴权一体化框架 --- ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java | 63 +++++++++++++------------------ 1 files changed, 26 insertions(+), 37 deletions(-) diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java index 7c65a9b..cf63ea6 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java @@ -1,28 +1,27 @@ package com.ruoyi.web.controller.system; -import cn.hutool.core.util.StrUtil; import com.ruoyi.common.annotation.Log; -import com.ruoyi.common.config.RuoYiConfig; import com.ruoyi.common.constant.UserConstants; import com.ruoyi.common.core.controller.BaseController; import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.common.core.domain.entity.SysUser; -import com.ruoyi.common.core.domain.model.LoginUser; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.SecurityUtils; -import com.ruoyi.common.utils.ServletUtils; -import com.ruoyi.common.utils.file.FileUploadUtils; -import com.ruoyi.framework.web.service.TokenService; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.SysOss; +import com.ruoyi.system.service.ISysOssService; import com.ruoyi.system.service.ISysUserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import java.io.IOException; +import java.util.HashMap; +import java.util.Map; /** * 涓汉淇℃伅 涓氬姟澶勭悊 - * + * * @author ruoyi */ @RestController @@ -33,7 +32,7 @@ private ISysUserService userService; @Autowired - private TokenService tokenService; + private ISysOssService iSysOssService; /** * 涓汉淇℃伅 @@ -41,12 +40,12 @@ @GetMapping public AjaxResult profile() { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - SysUser user = loginUser.getUser(); - AjaxResult ajax = AjaxResult.success(user); - ajax.put("roleGroup", userService.selectUserRoleGroup(loginUser.getUsername())); - ajax.put("postGroup", userService.selectUserPostGroup(loginUser.getUsername())); - return ajax; + SysUser user = userService.getById(getUserId()); + Map<String,Object> ajax = new HashMap<>(); + ajax.put("user", user); + ajax.put("roleGroup", userService.selectUserRoleGroup(user.getUserName())); + ajax.put("postGroup", userService.selectUserPostGroup(user.getUserName())); + return AjaxResult.success(ajax); } /** @@ -56,25 +55,20 @@ @PutMapping public AjaxResult updateProfile(@RequestBody SysUser user) { - if (StrUtil.isNotEmpty(user.getPhonenumber()) + if (StringUtils.isNotEmpty(user.getPhonenumber()) && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUnique(user))) { return AjaxResult.error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛屾墜鏈哄彿鐮佸凡瀛樺湪"); } - if (StrUtil.isNotEmpty(user.getEmail()) + if (StringUtils.isNotEmpty(user.getEmail()) && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUnique(user))) { return AjaxResult.error("淇敼鐢ㄦ埛'" + user.getUserName() + "'澶辫触锛岄偖绠辫处鍙峰凡瀛樺湪"); } + user.setUserId(getUserId()); + user.setPassword(null); if (userService.updateUserProfile(user) > 0) { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - // 鏇存柊缂撳瓨鐢ㄦ埛淇℃伅 - loginUser.getUser().setNickName(user.getNickName()); - loginUser.getUser().setPhonenumber(user.getPhonenumber()); - loginUser.getUser().setEmail(user.getEmail()); - loginUser.getUser().setSex(user.getSex()); - tokenService.setLoginUser(loginUser); return AjaxResult.success(); } return AjaxResult.error("淇敼涓汉淇℃伅寮傚父锛岃鑱旂郴绠$悊鍛�"); @@ -87,9 +81,9 @@ @PutMapping("/updatePwd") public AjaxResult updatePwd(String oldPassword, String newPassword) { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - String userName = loginUser.getUsername(); - String password = loginUser.getPassword(); + SysUser user = SecurityUtils.getUser(); + String userName = user.getUserName(); + String password = user.getPassword(); if (!SecurityUtils.matchesPassword(oldPassword, password)) { return AjaxResult.error("淇敼瀵嗙爜澶辫触锛屾棫瀵嗙爜閿欒"); @@ -100,9 +94,6 @@ } if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0) { - // 鏇存柊缂撳瓨鐢ㄦ埛瀵嗙爜 - loginUser.getUser().setPassword(SecurityUtils.encryptPassword(newPassword)); - tokenService.setLoginUser(loginUser); return AjaxResult.success(); } return AjaxResult.error("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�"); @@ -117,16 +108,14 @@ { if (!file.isEmpty()) { - LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); - String avatar = FileUploadUtils.upload(RuoYiConfig.getAvatarPath(), file); - if (userService.updateUserAvatar(loginUser.getUsername(), avatar)) + SysUser user = SecurityUtils.getUser(); + SysOss oss = iSysOssService.upload(file); + String avatar = oss.getUrl(); + if (userService.updateUserAvatar(user.getUserName(), avatar)) { - AjaxResult ajax = AjaxResult.success(); + Map<String,Object> ajax = new HashMap<>(); ajax.put("imgUrl", avatar); - // 鏇存柊缂撳瓨鐢ㄦ埛澶村儚 - loginUser.getUser().setAvatar(avatar); - tokenService.setLoginUser(loginUser); - return ajax; + return AjaxResult.success(ajax); } } return AjaxResult.error("涓婁紶鍥剧墖寮傚父锛岃鑱旂郴绠$悊鍛�"); -- Gitblit v1.9.3