From 596f1112d4bdf72f98520e54c4cba80f050de958 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:49:07 +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 | 48 ------------------- .../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(+), 75 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 e9db64c75..d339a813c 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,16 +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.apache.dubbo.config.annotation.DubboReference; -import org.apache.seata.spring.annotation.GlobalTransactional; 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; @@ -18,20 +13,13 @@ import org.dromara.common.mybatis.helper.DataPermissionHelper; import org.dromara.common.redis.annotation.RepeatSubmit; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.common.web.core.BaseController; -import org.dromara.resource.api.RemoteFileService; -import org.dromara.resource.api.domain.RemoteFile; 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.SysUserVo; 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.io.IOException; -import java.util.Arrays; /** * 个人信息 业务处理 @@ -46,9 +34,6 @@ public class SysProfileController extends BaseController { private final ISysUserService userService; - @DubboReference - private RemoteFileService remoteFileService; - /** * 个人信息 */ @@ -111,39 +96,6 @@ public class SysProfileController extends BaseController { return R.fail("修改密码异常,请联系管理员"); } - /** - * 头像上传 - * - * @param avatarfile 用户头像 - */ - @RepeatSubmit - @GlobalTransactional(rollbackFor = Exception.class) - @Log(title = "用户头像", businessType = BusinessType.UPDATE) - @PostMapping(value = "/avatar", consumes = MediaType.MULTIPART_FORM_DATA_VALUE) - public R avatar(@RequestPart("avatarfile") MultipartFile avatarfile) throws IOException { - if (ObjectUtil.isNotNull(avatarfile) && !avatarfile.isEmpty()) { - String extension = FileUtil.extName(avatarfile.getOriginalFilename()); - if (!StringUtils.equalsAnyIgnoreCase(extension, MimeTypeUtils.IMAGE_EXTENSION)) { - return R.fail("文件格式不正确,请上传" + Arrays.toString(MimeTypeUtils.IMAGE_EXTENSION) + "格式"); - } - RemoteFile oss = remoteFileService.upload(avatarfile.getName(), avatarfile.getOriginalFilename(), avatarfile.getContentType(), avatarfile.getBytes()); - 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 1b1bca40f..aa5fe835e 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 @@ -55,6 +55,11 @@ 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 ba7ee6692..d411a0b86 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 @@ -185,15 +185,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 0ff30ae9d..d400c5470 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 @@ -370,28 +370,14 @@ public class SysUserServiceImpl implements ISysUserService { 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(); - } - /** * 重置用户密码 *