From c64fb7a16aaa5b939f8699f7eb1ad24abb7fae90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=96=AF=E7=8B=82=E7=9A=84=E7=8B=AE=E5=AD=90Li?= <15040126243@163.com> Date: Fri, 5 Jun 2026 16:41:12 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E9=87=8D=E6=9E=84=20=E5=A4=B4?= =?UTF-8?q?=E5=83=8F=E4=B8=8A=E4=BC=A0=E6=94=B9=E4=B8=BA=E5=85=88=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0oss=E5=90=8E=E6=9B=B4=E6=96=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/SysProfileController.java | 43 ------------------- .../dromara/system/domain/bo/SysUserBo.java | 5 +++ .../system/domain/bo/SysUserProfileBo.java | 5 +++ .../system/service/ISysUserService.java | 9 ---- .../service/impl/SysUserServiceImpl.java | 22 ++-------- 5 files changed, 14 insertions(+), 70 deletions(-) diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java index 62b0ece0d..05ed5e3f8 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysProfileController.java @@ -1,14 +1,11 @@ package org.dromara.system.controller.system; import cn.hutool.core.bean.BeanUtil; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.util.ObjectUtil; import cn.hutool.crypto.digest.BCrypt; import jakarta.validation.constraints.NotBlank; import lombok.RequiredArgsConstructor; import org.dromara.common.core.domain.R; import org.dromara.common.core.utils.StringUtils; -import org.dromara.common.core.utils.file.MimeTypeUtils; import org.dromara.common.encrypt.annotation.ApiEncrypt; import org.dromara.common.log.annotation.Log; import org.dromara.common.log.enums.BusinessType; @@ -19,16 +16,10 @@ import org.dromara.common.web.core.BaseController; import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.bo.SysUserProfileBo; import org.dromara.system.domain.vo.ProfileUserVo; -import org.dromara.system.domain.vo.SysOssVo; import org.dromara.system.domain.vo.SysUserVo; -import org.dromara.system.service.ISysOssService; import org.dromara.system.service.ISysUserService; -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.util.Arrays; /** * 个人信息 业务处理 @@ -42,7 +33,6 @@ import java.util.Arrays; public class SysProfileController extends BaseController { private final ISysUserService userService; - private final ISysOssService ossService; /** * 获取当前登录用户的个人中心信息。 @@ -112,39 +102,6 @@ public class SysProfileController extends BaseController { return R.fail("修改密码异常,请联系管理员"); } - /** - * 头像上传 - * - * @param avatarfile 用户头像 - * @return 头像上传结果 - */ - @RepeatSubmit - @Log(title = "用户头像", businessType = BusinessType.UPDATE) - @PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R avatar(@RequestPart("avatarfile") MultipartFile avatarfile) { - if (ObjectUtil.isNotNull(avatarfile) && !avatarfile.isEmpty()) { - String extension = FileUtil.extName(avatarfile.getOriginalFilename()); - if (!MimeTypeUtils.isImage(extension)) { - return R.fail("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式"); - } - SysOssVo oss = ossService.upload(avatarfile); - String avatar = oss.getUrl(); - boolean updateSuccess = DataPermissionHelper.ignore(() -> userService.updateUserAvatar(LoginHelper.getUserId(), oss.getOssId())); - if (updateSuccess) { - return R.ok(new AvatarVo(avatar)); - } - } - return R.fail("上传图片异常,请联系管理员"); - } - - /** - * 用户头像信息 - * - * @param imgUrl 头像地址 - */ - public record AvatarVo(String imgUrl) { - } - /** * 用户个人信息 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java index 0df98c26a..93ce15029 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserBo.java @@ -77,6 +77,11 @@ public class SysUserBo implements Serializable { */ private String gender; + /** + * 头像 OSS ID + */ + private Long avatar; + /** * 密码 */ diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProfileBo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProfileBo.java index 2513f30b7..2b6ee093b 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProfileBo.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/bo/SysUserProfileBo.java @@ -53,4 +53,9 @@ public class SysUserProfileBo implements Serializable { */ private String gender; + /** + * 头像 OSS ID + */ + private Long avatar; + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java index 106e903a7..623374267 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ISysUserService.java @@ -188,15 +188,6 @@ public interface ISysUserService { */ int updateUserProfile(SysUserBo user); - /** - * 修改用户头像 - * - * @param userId 用户ID - * @param avatar 头像地址 - * @return 是否修改成功 - */ - boolean updateUserAvatar(Long userId, Long avatar); - /** * 重置用户密码 * diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java index f49086482..770796762 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/SysUserServiceImpl.java @@ -386,28 +386,14 @@ public class SysUserServiceImpl implements ISysUserService, UserService { public int updateUserProfile(SysUserBo user) { return userMapper.lambda() .setIfPresent(SysUser::getNickName, user.getNickName()) - .set(SysUser::getPhoneNumber, user.getPhoneNumber()) - .set(SysUser::getEmail, user.getEmail()) - .set(SysUser::getGender, user.getGender()) + .setIfPresent(SysUser::getAvatar, user.getAvatar()) + .setIfPresent(SysUser::getPhoneNumber, user.getPhoneNumber()) + .setIfPresent(SysUser::getEmail, user.getEmail()) + .setIfPresent(SysUser::getGender, user.getGender()) .eq(SysUser::getUserId, user.getUserId()) .updateCount(); } - /** - * 修改用户头像 - * - * @param userId 用户ID - * @param avatar 头像地址 - * @return 结果 - */ - @Override - public boolean updateUserAvatar(Long userId, Long avatar) { - return userMapper.lambda() - .set(SysUser::getAvatar, avatar) - .eq(SysUser::getUserId, userId) - .update(); - } - /** * 重置用户密码 *