update 获取用户简略信息,祖级部门列表,部门负责人等

This commit is contained in:
AprilWind 2024-12-20 16:42:13 +08:00
parent 5c009962a1
commit e47319597a
4 changed files with 143 additions and 4 deletions

View File

@ -297,4 +297,15 @@ public class SysUserController extends BaseController {
return R.ok(userService.selectUserListByDept(deptId));
}
/**
* 获取用户简略信息包括部门信息
*
* @param userId 用户ID
* @return 用户简略信息
*/
@GetMapping("/getUserBriefInfo/{userId}")
public R<UserBriefInfoVo> getUserBriefInfo(@PathVariable(value = "userId") Long userId) {
return R.ok(userService.getUserBriefInfo(userId));
}
}

View File

@ -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;
}

View File

@ -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<SysUserVo> selectUserListByDept(Long deptId);
/**
* 获取用户简略信息包括部门信息
*
* @param userId 用户ID
* @return 用户简略信息
*/
UserBriefInfoVo getUserBriefInfo(Long userId);
}

View File

@ -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查询用户账户
*