瀏覽代碼

Merge remote-tracking branch 'origin/master_20240722' into master_20240722

dongpo 6 月之前
父節點
當前提交
e259d1a5b8

+ 1 - 1
yudao-module-personnel/yudao-module-attendance-biz/src/main/java/cn/iocoder/yudao/module/attendance/controller/admin/out/vo/AttendanceOutRespVO.java

@@ -56,7 +56,7 @@ public class AttendanceOutRespVO {
     private String endDate;
 
     @Schema(description = "外出时长,单位(小时)")
-    @ExcelProperty("外出时长,单位(小时)")
+    @ExcelProperty("外出时长")
     private String hour;
 
     @Schema(description = "创建人员工姓名", example = "芋艿")

+ 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())) {

+ 1 - 1
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/permission/PermissionServiceImpl.java

@@ -288,7 +288,7 @@ public class PermissionServiceImpl implements PermissionService {
         }
 
         // 获得用户的部门编号的缓存,通过 Guava 的 Suppliers 惰性求值,即有且仅有第一次发起 DB 的查询
-        Supplier<Long> userDept = Suppliers.memoize(() -> userService.getUser(userId).getDeptId());
+        Supplier<Long> userDept = Suppliers.memoize(() -> userService.getUserById(userId).getDeptId());
         Long userDeptId = userDept.get();
         // 设置为用户对应员工的部门
         EmployeeRespDTO employee = employeeApi.getEmployeeByUserId(userId);

+ 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)) {