Browse Source

修复bug

zhaopeiqing 6 months ago
parent
commit
31cf9f543a

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/auth/AuthController.java

@@ -118,7 +118,7 @@ public class AuthController {
             // 设置员工昵称
             dto.setNickname(employee.getName());
             // 设置员工头像
-            dto.setAvatar(employee.getAvatar());
+//            dto.setAvatar(employee.getAvatar());
             // 设置员工部门ID
             dto.setDeptId(employee.getDeptId());
             // 设置员工部门名称

+ 10 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/user/UserProfileController.java

@@ -3,10 +3,13 @@ package cn.iocoder.yudao.module.system.controller.admin.user;
 import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
 import cn.iocoder.yudao.framework.common.pojo.CommonResult;
+import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.framework.datapermission.core.annotation.DataPermission;
+import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
 import cn.iocoder.yudao.framework.web.core.util.WebFrameworkUtils;
 import cn.iocoder.yudao.module.employee.api.EmployeeApi;
 import cn.iocoder.yudao.module.employee.api.dto.EmployeeRespDTO;
+import cn.iocoder.yudao.module.employee.api.dto.EmployeeSaveReqDTO;
 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileResetPasswordReqVO;
 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileRespVO;
 import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdatePasswordReqVO;
@@ -114,6 +117,13 @@ public class UserProfileController {
             throw exception(FILE_IS_EMPTY);
         }
         String avatar = userService.updateUserAvatar(getLoginUserId(), file.getInputStream());
+        // 同时更换员工头像
+        // 根据用户ID获取当前登录员工的信息
+        EmployeeRespDTO employee = employeeApi.getEmployeeByUserId(getLoginUserId());
+        employee.setAvatar(avatar);
+        // 创建一个DTO来更新员工信息
+        EmployeeSaveReqDTO updateObj = BeanUtils.toBean(employee, EmployeeSaveReqDTO.class);
+        employeeApi.updateEmployee(updateObj);
         return success(avatar);
     }
 

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImpl.java

@@ -199,7 +199,7 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService {
      */
     private Map<String, String> buildUserInfo(Long userId, Integer userType) {
         if (userType.equals(UserTypeEnum.ADMIN.getValue())) {
-            AdminUserDO user = adminUserService.getUser(userId);
+            AdminUserDO user = adminUserService.getUserById(userId);
             return MapUtil.builder(LoginUser.INFO_KEY_NICKNAME, user.getNickname())
                     .put(LoginUser.INFO_KEY_DEPT_ID, StrUtil.toStringOrNull(user.getDeptId())).build();
         } else if (userType.equals(UserTypeEnum.MEMBER.getValue())) {

+ 8 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserService.java

@@ -139,6 +139,14 @@ public interface AdminUserService {
      */
     AdminUserDO getUser(Long id);
 
+    /**
+     * 通过用户 ID 查询用户(忽略租户)
+     *
+     * @param id 用户ID
+     * @return 用户对象信息
+     */
+    AdminUserDO getUserById(Long id);
+
     /**
      * 获得指定部门的用户数组
      *

+ 6 - 0
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/user/AdminUserServiceImpl.java

@@ -294,6 +294,12 @@ public class AdminUserServiceImpl implements AdminUserService {
         return userMapper.selectById(id);
     }
 
+    @Override
+    @TenantIgnore
+    public AdminUserDO getUserById(Long id) {
+        return userMapper.selectById(id);
+    }
+
     @Override
     public List<AdminUserDO> getUserListByDeptIds(Collection<Long> deptIds) {
         if (CollUtil.isEmpty(deptIds)) {