update 优化 使用翻译注解简化用户查询 调整用户查询逻辑
update 优化 使用翻译注解简化用户查询 调整用户查询逻辑
| | |
| | | private final ISysPermissionService permissionService; |
| | | private final ISysSocialService sysSocialService; |
| | | private final ISysRoleService roleService; |
| | | private final SysDeptMapper deptMapper; |
| | | private final ISysDeptService deptService; |
| | | private final SysUserMapper userMapper; |
| | | |
| | | |
| | |
| | | loginUser.setUserType(user.getUserType()); |
| | | loginUser.setMenuPermission(permissionService.getMenuPermission(user.getUserId())); |
| | | loginUser.setRolePermission(permissionService.getRolePermission(user.getUserId())); |
| | | SysDeptVo dept = deptMapper.selectVoById(user.getDeptId()); |
| | | SysDeptVo dept = deptService.selectDeptById(user.getDeptId()); |
| | | loginUser.setDeptName(ObjectUtil.isNull(dept) ? "" : dept.getDeptName()); |
| | | List<SysRoleVo> roles = DataPermissionHelper.ignore(() -> { |
| | | return roleService.selectRolesByUserId(user.getUserId()); |
| | | }); |
| | | List<SysRoleVo> roles = roleService.selectRolesByUserId(user.getUserId()); |
| | | loginUser.setRoles(BeanUtil.copyToList(roles, RoleDTO.class)); |
| | | return loginUser; |
| | | } |
| | |
| | | public class SysProfileController extends BaseController { |
| | | |
| | | private final ISysUserService userService; |
| | | private final ISysRoleService roleService; |
| | | private final ISysOssService ossService; |
| | | |
| | | /** |
| | |
| | | @GetMapping |
| | | public R<ProfileVo> profile() { |
| | | SysUserVo user = userService.selectUserById(LoginHelper.getUserId()); |
| | | user.setRoles(roleService.selectRolesByUserId(user.getUserId())); |
| | | ProfileVo profileVo = new ProfileVo(); |
| | | profileVo.setUser(user); |
| | | profileVo.setRoleGroup(userService.selectUserRoleGroup(user.getUserId())); |
| | |
| | | @SaCheckPermission("system:user:export") |
| | | @PostMapping("/export") |
| | | public void export(SysUserBo user, HttpServletResponse response) { |
| | | List<SysUserVo> list = userService.selectUserList(user); |
| | | List<SysUserExportVo> listVo = MapstructUtils.convert(list, SysUserExportVo.class); |
| | | ExcelUtil.exportExcel(listVo, "用户数据", SysUserExportVo.class, response); |
| | | List<SysUserExportVo> list = userService.selectUserExportList(user); |
| | | ExcelUtil.exportExcel(list, "用户数据", SysUserExportVo.class, response); |
| | | } |
| | | |
| | | /** |
| | |
| | | if (ObjectUtil.isNull(user)) { |
| | | return R.fail("没有权限访问用户数据!"); |
| | | } |
| | | user.setRoles(roleService.selectRolesByUserId(user.getUserId())); |
| | | userInfoVo.setUser(user); |
| | | userInfoVo.setPermissions(loginUser.getMenuPermission()); |
| | | userInfoVo.setRoles(loginUser.getRolePermission()); |
| | |
| | | |
| | | @Data |
| | | @NoArgsConstructor |
| | | @AutoMapper(target = SysUserVo.class, convertGenerate = false) |
| | | public class SysUserExportVo implements Serializable { |
| | | |
| | | @Serial |
| | |
| | | /** |
| | | * 部门名称 |
| | | */ |
| | | @ReverseAutoMapping(target = "deptName", source = "dept.deptName") |
| | | @ExcelProperty(value = "部门名称") |
| | | private String deptName; |
| | | |
| | | /** |
| | | * 负责人 |
| | | */ |
| | | @ReverseAutoMapping(target = "leaderName", source = "dept.leaderName") |
| | | @ExcelProperty(value = "部门负责人") |
| | | private String leaderName; |
| | | |
| | |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * 部门对象 |
| | | * 部门名 |
| | | */ |
| | | private SysDeptVo dept; |
| | | @Translation(type = TransConstant.DEPT_ID_TO_NAME, mapper = "deptId") |
| | | private String deptName; |
| | | |
| | | /** |
| | | * 角色对象 |
| | |
| | | import org.dromara.common.mybatis.annotation.DataPermission; |
| | | import org.dromara.common.mybatis.core.mapper.BaseMapperPlus; |
| | | import org.dromara.system.domain.SysUser; |
| | | import org.dromara.system.domain.vo.SysUserExportVo; |
| | | import org.dromara.system.domain.vo.SysUserVo; |
| | | |
| | | import java.util.List; |
| | |
| | | public interface SysUserMapper extends BaseMapperPlus<SysUser, SysUserVo> { |
| | | |
| | | @DataPermission({ |
| | | @DataColumn(key = "deptName", value = "d.dept_id"), |
| | | @DataColumn(key = "deptName", value = "u.dept_id"), |
| | | @DataColumn(key = "userName", value = "u.user_id") |
| | | }) |
| | | Page<SysUserVo> selectPageUserList(@Param("page") Page<SysUser> page, @Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); |
| | |
| | | @DataColumn(key = "deptName", value = "d.dept_id"), |
| | | @DataColumn(key = "userName", value = "u.user_id") |
| | | }) |
| | | List<SysUserVo> selectUserList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); |
| | | List<SysUserExportVo> selectUserExportList(@Param(Constants.WRAPPER) Wrapper<SysUser> queryWrapper); |
| | | |
| | | /** |
| | | * 根据条件分页查询已配用户角色列表 |
| | |
| | | import org.dromara.common.mybatis.core.page.PageQuery; |
| | | 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 java.util.List; |
| | |
| | | * @param user 用户信息 |
| | | * @return 用户信息集合信息 |
| | | */ |
| | | List<SysUserVo> selectUserList(SysUserBo user); |
| | | List<SysUserExportVo> selectUserExportList(SysUserBo user); |
| | | |
| | | /** |
| | | * 根据条件分页查询已分配用户角色列表 |
| | |
| | | .between(params.get("beginTime") != null && params.get("endTime") != null, |
| | | "r.create_time", params.get("beginTime"), params.get("endTime")) |
| | | .orderByAsc("r.role_sort").orderByAsc("r.create_time"); |
| | | ; |
| | | return wrapper; |
| | | } |
| | | |
| | |
| | | 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.mapper.*; |
| | | import org.dromara.system.service.ISysUserService; |
| | |
| | | * @return 用户信息集合信息 |
| | | */ |
| | | @Override |
| | | public List<SysUserVo> selectUserList(SysUserBo user) { |
| | | return baseMapper.selectUserList(this.buildQueryWrapper(user)); |
| | | public List<SysUserExportVo> selectUserExportList(SysUserBo user) { |
| | | return baseMapper.selectUserExportList(this.buildQueryWrapper(user)); |
| | | } |
| | | |
| | | private Wrapper<SysUser> buildQueryWrapper(SysUserBo user) { |
| | |
| | | */ |
| | | @Override |
| | | public SysUserVo selectUserById(Long userId) { |
| | | return baseMapper.selectVoById(userId); |
| | | SysUserVo user = baseMapper.selectVoById(userId); |
| | | if (ObjectUtil.isNull(user)) { |
| | | return user; |
| | | } |
| | | user.setRoles(roleMapper.selectRolesByUserId(user.getUserId())); |
| | | return user; |
| | | } |
| | | |
| | | /** |
| | |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="org.dromara.system.mapper.SysUserMapper"> |
| | | |
| | | <!-- 多结构嵌套自动映射需带上每个实体的主键id 否则映射会失败 --> |
| | | <resultMap type="org.dromara.system.domain.vo.SysUserVo" id="SysUserResult"> |
| | | <id property="userId" column="user_id"/> |
| | | <result property="deptId" column="dept_id"/> |
| | | <association property="dept" column="dept_id" resultMap="deptResult"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="deptResult" type="org.dromara.system.domain.vo.SysDeptVo"> |
| | | <id property="deptId" column="dept_id"/> |
| | | <result property="email" column="dept_email"/> |
| | | <result property="status" column="dept_status"/> |
| | | <result property="createTime" column="dept_create_time"/> |
| | | <resultMap type="org.dromara.system.domain.vo.SysUserExportVo" id="SysUserExportResult"> |
| | | <id property="userId" column="user_id"/> |
| | | </resultMap> |
| | | |
| | | <select id="selectPageUserList" resultMap="SysUserResult"> |
| | | select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, |
| | | u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, |
| | | d.dept_name, d.leader, u1.user_name as leaderName |
| | | u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark |
| | | from sys_user u |
| | | left join sys_dept d on u.dept_id = d.dept_id |
| | | left join sys_user u1 on u1.user_id = d.leader |
| | | ${ew.getCustomSqlSegment} |
| | | </select> |
| | | |
| | | <select id="selectUserList" resultMap="SysUserResult"> |
| | | <select id="selectUserExportList" resultMap="SysUserExportResult"> |
| | | select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, |
| | | u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, |
| | | d.dept_name, d.leader, u1.user_name as leaderName |