【add】用户列表添加角色字段
This commit is contained in:
+7
-1
@@ -114,16 +114,22 @@ public class SysUserController {
|
||||
|
||||
IPage<SysUser> pageList = sysUserService.queryPage(page, subDepIds, queryWrapper);
|
||||
|
||||
|
||||
//批量查询用户的所属部门
|
||||
//step.1 先拿到全部的 useids
|
||||
//step.2 通过 useids,一次性查询用户的所属部门名字
|
||||
List<String> userIds = pageList.getRecords().stream().map(SysUser::getId).collect(Collectors.toList());
|
||||
if(userIds!=null && userIds.size()>0){
|
||||
//step.2 通过 useids,一次性查询用户的所属部门名字
|
||||
Map<String,String> useDepNames = sysUserService.getDepNamesByUserIds(userIds);
|
||||
//step.3 通过 useids,一次性查询用户的角色名字
|
||||
Map<String,String> useRoleNames = sysUserService.getRoleNamesByUserIds(userIds);
|
||||
//step.4 遍历赋值
|
||||
pageList.getRecords().forEach(item->{
|
||||
item.setOrgCodeTxt(useDepNames.get(item.getId()));
|
||||
item.setRoleTxt(useRoleNames.get(item.getId()));
|
||||
});
|
||||
}
|
||||
|
||||
result.setSuccess(true);
|
||||
result.setResult(pageList);
|
||||
log.info(pageList.toString());
|
||||
|
||||
+3
@@ -105,6 +105,9 @@ public class SysUser implements Serializable {
|
||||
/**部门名称*/
|
||||
private transient String orgCodeTxt;
|
||||
|
||||
/**角色名称*/
|
||||
private transient String roleTxt;
|
||||
|
||||
/**
|
||||
* 状态(1:正常 2:冻结 )
|
||||
*/
|
||||
|
||||
+10
-2
@@ -4,11 +4,12 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Constants;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.jero.modules.system.vo.SysUserRoleNameVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.jero.modules.system.entity.SysUser;
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.jero.modules.system.model.SysUserSysDepartModel;
|
||||
import com.jero.modules.system.vo.SysUserDepVo;
|
||||
import com.jero.modules.system.vo.SysUserDepNameVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -48,7 +49,14 @@ public interface SysUserMapper extends BaseMapper<SysUser> {
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
List<SysUserDepVo> getDepNamesByUserIds(@Param("userIds")List<String> userIds);
|
||||
List<SysUserDepNameVo> getDepNamesByUserIds(@Param("userIds")List<String> userIds);
|
||||
|
||||
/**
|
||||
* 根据用户Ids,查询用户角色名称信息
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
List<SysUserRoleNameVo> getRoleNamesByUserIds(@Param("userIds")List<String> userIds);
|
||||
|
||||
/**
|
||||
* 根据部门Ids,查询部门下用户信息
|
||||
|
||||
+9
-1
@@ -36,13 +36,21 @@
|
||||
</select>
|
||||
|
||||
<!-- 查询用户的所属部门名称信息 -->
|
||||
<select id="getDepNamesByUserIds" resultType="com.jero.modules.system.vo.SysUserDepVo">
|
||||
<select id="getDepNamesByUserIds" resultType="com.jero.modules.system.vo.SysUserDepNameVo">
|
||||
select d.depart_name,ud.user_id from sys_user_depart ud,sys_depart d where d.id = ud.dep_id and ud.user_id in
|
||||
<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 查询用户的角色名称信息 -->
|
||||
<select id="getRoleNamesByUserIds" resultType="com.jero.modules.system.vo.SysUserRoleNameVo">
|
||||
select r.role_name,ur.user_id from sys_user_role ur,sys_role r where r.id = ur.role_id and ur.user_id in
|
||||
<foreach collection="userIds" index="index" item="id" open="(" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</select>
|
||||
|
||||
<!-- 通过多个部门IDS,查询部门下的用户信息 -->
|
||||
<select id="getUserByDepIds" resultType="com.jero.modules.system.entity.SysUser">
|
||||
select * from sys_user where del_flag = 0
|
||||
|
||||
+7
@@ -128,6 +128,13 @@ public interface ISysUserService extends IService<SysUser> {
|
||||
*/
|
||||
public Map<String,String> getDepNamesByUserIds(List<String> userIds);
|
||||
|
||||
/**
|
||||
* 根据 userIds查询,查询用户所属角色的名称(多个角色名逗号隔开)
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
public Map<String,String> getRoleNamesByUserIds(List<String> userIds);
|
||||
|
||||
/**
|
||||
* 根据部门 Id 和 QueryWrapper 查询
|
||||
*
|
||||
|
||||
+25
-7
@@ -1,14 +1,11 @@
|
||||
package com.jero.modules.system.service.impl;
|
||||
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.segments.MergeSegments;
|
||||
import com.baomidou.mybatisplus.core.conditions.segments.NormalSegmentList;
|
||||
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.jero.modules.system.vo.SysUserRoleNameVo;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.constant.CacheConstant;
|
||||
@@ -24,7 +21,7 @@ import com.jero.modules.system.entity.*;
|
||||
import com.jero.modules.system.mapper.*;
|
||||
import com.jero.modules.system.model.SysUserSysDepartModel;
|
||||
import com.jero.modules.system.service.ISysUserService;
|
||||
import com.jero.modules.system.vo.SysUserDepVo;
|
||||
import com.jero.modules.system.vo.SysUserDepNameVo;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.cache.annotation.CacheEvict;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -248,10 +245,10 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
|
||||
@Override
|
||||
public Map<String, String> getDepNamesByUserIds(List<String> userIds) {
|
||||
List<SysUserDepVo> list = this.baseMapper.getDepNamesByUserIds(userIds);
|
||||
List<SysUserDepNameVo> userDeplist = this.baseMapper.getDepNamesByUserIds(userIds);
|
||||
|
||||
Map<String, String> res = new HashMap<String, String>();
|
||||
list.forEach(item -> {
|
||||
userDeplist.forEach(item -> {
|
||||
if (res.get(item.getUserId()) == null) {
|
||||
res.put(item.getUserId(), item.getDepartName());
|
||||
} else {
|
||||
@@ -262,6 +259,27 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
||||
return res;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据用id列表查出对应的角色名称
|
||||
* @param userIds
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
public Map<String, String> getRoleNamesByUserIds(List<String> userIds) {
|
||||
List<SysUserRoleNameVo> userRolelist = this.baseMapper.getRoleNamesByUserIds(userIds);
|
||||
|
||||
Map<String, String> res = new HashMap<String, String>();
|
||||
userRolelist.forEach(item -> {
|
||||
if (res.get(item.getUserId()) == null) {
|
||||
res.put(item.getUserId(), item.getRoleName());
|
||||
} else {
|
||||
res.put(item.getUserId(), res.get(item.getUserId()) + "," + item.getRoleName());
|
||||
}
|
||||
}
|
||||
);
|
||||
return res;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IPage<SysUser> getUserByDepartIdAndQueryWrapper(Page<SysUser> page, String departId, QueryWrapper<SysUser> queryWrapper) {
|
||||
LambdaQueryWrapper<SysUser> lambdaQueryWrapper = queryWrapper.lambda();
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@ import lombok.Data;
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class SysUserDepVo {
|
||||
public class SysUserDepNameVo {
|
||||
private String userId;
|
||||
private String departName;
|
||||
}
|
||||
+15
@@ -0,0 +1,15 @@
|
||||
package com.jero.modules.system.vo;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @Author zer0Black
|
||||
* @Date 2022/12/22 211:58
|
||||
* @Description:
|
||||
* @Version 1.0
|
||||
*/
|
||||
@Data
|
||||
public class SysUserRoleNameVo {
|
||||
private String userId;
|
||||
private String roleName;
|
||||
}
|
||||
+1
-1
@@ -9,7 +9,7 @@ import java.util.List;
|
||||
public class SysUserRoleVO implements Serializable{
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**部门id*/
|
||||
/**角色id*/
|
||||
private String roleId;
|
||||
/**对应的用户id集合*/
|
||||
private List<String> userIdList;
|
||||
|
||||
@@ -272,6 +272,12 @@
|
||||
width: 180,
|
||||
dataIndex: 'orgCodeTxt'
|
||||
},
|
||||
{
|
||||
title: '角色',
|
||||
align: "center",
|
||||
width: 180,
|
||||
dataIndex: 'roleTxt'
|
||||
},
|
||||
// {
|
||||
// title: '生日',
|
||||
// align: "center",
|
||||
|
||||
Reference in New Issue
Block a user