From 0b0a52c69918a64d7f2b728c43a46b50520e4232 Mon Sep 17 00:00:00 2001
From: 疯狂的狮子Li <15040126243@163.com>
Date: 星期五, 26 八月 2022 15:21:24 +0800
Subject: [PATCH] !221 hutool版本影响 Merge pull request !221 from 沉浸独/dev
---
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysProfileController.java | 49 ++++++++++++++++++++++++-------------------------
1 files changed, 24 insertions(+), 25 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 6ed8454..5c33168 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,5 +1,7 @@
package com.ruoyi.web.controller.system;
+import cn.dev33.satoken.secure.BCrypt;
+import cn.hutool.core.io.FileUtil;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
@@ -7,21 +9,18 @@
import com.ruoyi.common.core.domain.entity.SysUser;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.helper.LoginHelper;
-import com.ruoyi.common.utils.SecurityUtils;
import com.ruoyi.common.utils.StringUtils;
+import com.ruoyi.common.utils.file.MimeTypeUtils;
import com.ruoyi.system.domain.SysOss;
import com.ruoyi.system.service.ISysOssService;
import com.ruoyi.system.service.ISysUserService;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiImplicitParam;
-import io.swagger.annotations.ApiImplicitParams;
-import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
+import org.springframework.http.MediaType;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
-import java.io.File;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -31,7 +30,6 @@
* @author Lion Li
*/
@Validated
-@Api(value = "涓汉淇℃伅鎺у埗鍣�", tags = {"涓汉淇℃伅绠$悊"})
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/user/profile")
@@ -43,7 +41,6 @@
/**
* 涓汉淇℃伅
*/
- @ApiOperation("涓汉淇℃伅")
@GetMapping
public R<Map<String, Object>> profile() {
SysUser user = userService.selectUserById(getUserId());
@@ -57,7 +54,6 @@
/**
* 淇敼鐢ㄦ埛
*/
- @ApiOperation("淇敼鐢ㄦ埛")
@Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE)
@PutMapping
public R<Void> updateProfile(@RequestBody SysUser user) {
@@ -72,6 +68,8 @@
user.setUserId(getUserId());
user.setUserName(null);
user.setPassword(null);
+ user.setAvatar(null);
+ user.setDeptId(null);
if (userService.updateUserProfile(user) > 0) {
return R.ok();
}
@@ -80,25 +78,24 @@
/**
* 閲嶇疆瀵嗙爜
+ *
+ * @param newPassword 鏃у瘑鐮�
+ * @param oldPassword 鏂板瘑鐮�
*/
- @ApiOperation("閲嶇疆瀵嗙爜")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "oldPassword", value = "鏃у瘑鐮�", paramType = "query", dataTypeClass = String.class),
- @ApiImplicitParam(name = "newPassword", value = "鏂板瘑鐮�", paramType = "query", dataTypeClass = String.class)
- })
@Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE)
@PutMapping("/updatePwd")
public R<Void> updatePwd(String oldPassword, String newPassword) {
SysUser user = userService.selectUserById(LoginHelper.getUserId());
String userName = user.getUserName();
String password = user.getPassword();
- if (!SecurityUtils.matchesPassword(oldPassword, password)) {
+ if (!BCrypt.checkpw(oldPassword, password)) {
return R.fail("淇敼瀵嗙爜澶辫触锛屾棫瀵嗙爜閿欒");
}
- if (SecurityUtils.matchesPassword(newPassword, password)) {
+ if (BCrypt.checkpw(newPassword, password)) {
return R.fail("鏂板瘑鐮佷笉鑳戒笌鏃у瘑鐮佺浉鍚�");
}
- if (userService.resetUserPwd(userName, SecurityUtils.encryptPassword(newPassword)) > 0) {
+
+ if (userService.resetUserPwd(userName, BCrypt.hashpw(newPassword)) > 0) {
return R.ok();
}
return R.fail("淇敼瀵嗙爜寮傚父锛岃鑱旂郴绠$悊鍛�");
@@ -106,17 +103,19 @@
/**
* 澶村儚涓婁紶
+ *
+ * @param avatarfile 鐢ㄦ埛澶村儚
*/
- @ApiOperation("澶村儚涓婁紶")
- @ApiImplicitParams({
- @ApiImplicitParam(name = "avatarfile", value = "鐢ㄦ埛澶村儚", dataTypeClass = File.class, required = true),
- })
@Log(title = "鐢ㄦ埛澶村儚", businessType = BusinessType.UPDATE)
- @PostMapping("/avatar")
- public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile file) {
+ @PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+ public R<Map<String, Object>> avatar(@RequestPart("avatarfile") MultipartFile avatarfile) {
Map<String, Object> ajax = new HashMap<>();
- if (!file.isEmpty()) {
- SysOss oss = iSysOssService.upload(file);
+ if (!avatarfile.isEmpty()) {
+ String extension = FileUtil.extName(avatarfile.getOriginalFilename());
+ if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) {
+ return R.fail("鏂囦欢鏍煎紡涓嶆纭紝璇蜂笂浼�" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "鏍煎紡");
+ }
+ SysOss oss = iSysOssService.upload(avatarfile);
String avatar = oss.getUrl();
if (userService.updateUserAvatar(getUsername(), avatar)) {
ajax.put("imgUrl", avatar);
--
Gitblit v1.9.3