From dd25573ebce3450d90d0012a30b12a5185bc7310 Mon Sep 17 00:00:00 2001 From: 疯狂的狮子li <15040126243@163.com> Date: 星期五, 08 七月 2022 15:49:15 +0800 Subject: [PATCH] update 使用 @param 注释替换 @Parameter 注解 fix 修复 token 无法传递 与 无法持久化问题 --- 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..ee45ac2 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,19 @@ 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 io.swagger.v3.oas.annotations.tags.Tag; 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 +31,7 @@ * @author Lion Li */ @Validated -@Api(value = "涓汉淇℃伅鎺у埗鍣�", tags = {"涓汉淇℃伅绠$悊"}) +@Tag(name = "涓汉淇℃伅鎺у埗鍣�", description = "涓汉淇℃伅绠$悊") @RequiredArgsConstructor @RestController @RequestMapping("/system/user/profile") @@ -43,7 +43,6 @@ /** * 涓汉淇℃伅 */ - @ApiOperation("涓汉淇℃伅") @GetMapping public R<Map<String, Object>> profile() { SysUser user = userService.selectUserById(getUserId()); @@ -57,7 +56,6 @@ /** * 淇敼鐢ㄦ埛 */ - @ApiOperation("淇敼鐢ㄦ埛") @Log(title = "涓汉淇℃伅", businessType = BusinessType.UPDATE) @PutMapping public R<Void> updateProfile(@RequestBody SysUser user) { @@ -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