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