diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java index e1e868a6e..d961a5d74 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/controller/system/SysUserController.java @@ -297,4 +297,15 @@ public class SysUserController extends BaseController { return R.ok(userService.selectUserListByDept(deptId)); } + /** + * 获取用户简略信息,包括部门信息 + * + * @param userId 用户ID + * @return 用户简略信息 + */ + @GetMapping("/getUserBriefInfo/{userId}") + public R getUserBriefInfo(@PathVariable(value = "userId") Long userId) { + return R.ok(userService.getUserBriefInfo(userId)); + } + } diff --git a/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/UserBriefInfoVo.java b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/UserBriefInfoVo.java new file mode 100644 index 000000000..1288b8b64 --- /dev/null +++ b/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/vo/UserBriefInfoVo.java @@ -0,0 +1,98 @@ +package org.dromara.system.domain.vo; + +import lombok.Data; +import org.dromara.common.sensitive.annotation.Sensitive; +import org.dromara.common.sensitive.core.SensitiveStrategy; +import org.dromara.common.translation.annotation.Translation; +import org.dromara.common.translation.constant.TransConstant; + +/** + * 用户简略信息 + * + * @author AprilWind + */ +@Data +public class UserBriefInfoVo { + + /** + * 用户ID + */ + private Long userId; + + /** + * 用户账号 + */ + @Sensitive(strategy = SensitiveStrategy.FIRST_MASK, perms = "system:user:edit") + private String userName; + + /** + * 用户昵称 + */ + private String nickName; + + /** + * 租户ID + */ + private String tenantId; + + /** + * 部门ID + */ + private Long deptId; + + /** + * 部门名 + */ + private String deptName; + + /** + * 祖级列表 + */ + private String ancestors; + + /** + * 部门祖级列表名称 + */ + @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "ancestors") + private String ancestorsName; + + /** + * 负责人ID + */ + private Long leader; + + /** + * 负责人昵称 + */ + @Translation(type = TransConstant.USER_ID_TO_NICKNAME, mapper = "leader") + private String leaderName; + + /** + * 用户类型(sys_user系统用户) + */ + private String userType; + + /** + * 用户邮箱 + */ + @Sensitive(strategy = SensitiveStrategy.EMAIL, perms = "system:user:edit") + private String email; + + /** + * 手机号码 + */ + @Sensitive(strategy = SensitiveStrategy.PHONE, perms = "system:user:edit") + private String phonenumber; + + /** + * 用户性别(0男 1女 2未知) + */ + private String sex; + + /** + * 头像地址 + */ + @Translation(type = TransConstant.OSS_ID_TO_URL) + 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 0325a2558..6af142ebc 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 @@ -5,6 +5,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.system.domain.bo.SysUserBo; import org.dromara.system.domain.vo.SysUserExportVo; import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.domain.vo.UserBriefInfoVo; import java.util.List; @@ -219,4 +220,13 @@ public interface ISysUserService { * @return 结果 */ List selectUserListByDept(Long deptId); + + /** + * 获取用户简略信息,包括部门信息 + * + * @param userId 用户ID + * @return 用户简略信息 + */ + UserBriefInfoVo getUserBriefInfo(Long userId); + } 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 40811707b..a54a4668b 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 @@ -24,10 +24,7 @@ import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.satoken.utils.LoginHelper; import org.dromara.system.domain.*; import org.dromara.system.domain.bo.SysUserBo; -import org.dromara.system.domain.vo.SysPostVo; -import org.dromara.system.domain.vo.SysRoleVo; -import org.dromara.system.domain.vo.SysUserExportVo; -import org.dromara.system.domain.vo.SysUserVo; +import org.dromara.system.domain.vo.*; import org.dromara.system.mapper.*; import org.dromara.system.service.ISysUserService; import org.springframework.cache.annotation.CacheEvict; @@ -551,6 +548,29 @@ public class SysUserServiceImpl implements ISysUserService, UserService { return baseMapper.selectVoList(lqw); } + /** + * 获取用户简略信息,包括部门信息 + * + * @param userId 用户ID + * @return 用户简略信息 + */ + @Override + public UserBriefInfoVo getUserBriefInfo(Long userId) { + SysUserVo user = baseMapper.selectVoById(userId); + if (ObjectUtil.isNull(user)) { + return null; + } + UserBriefInfoVo briefInfo = BeanUtil.toBean(user, UserBriefInfoVo.class); + SysDept dept = deptMapper.selectById(briefInfo.getDeptId()); + if (ObjectUtil.isNotNull(dept)) { + briefInfo.setDeptId(dept.getDeptId()); + briefInfo.setDeptName(dept.getDeptName()); + briefInfo.setAncestors(dept.getAncestors()); + briefInfo.setLeader(dept.getLeader()); + } + return briefInfo; + } + /** * 通过用户ID查询用户账户 *