用户管理-角色配置修改
This commit is contained in:
+26
-5
@@ -19,7 +19,6 @@ import com.jero.common.system.util.JwtUtil;
|
|||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.system.vo.SysDepartTreeModel;
|
import com.jero.common.system.vo.SysDepartTreeModel;
|
||||||
import com.jero.common.system.vo.SysDepartUserTreeModel;
|
import com.jero.common.system.vo.SysDepartUserTreeModel;
|
||||||
import com.jero.common.system.vo.SysUserTreeModel;
|
|
||||||
import com.jero.common.util.ImportExcelUtil;
|
import com.jero.common.util.ImportExcelUtil;
|
||||||
import com.jero.common.util.PasswordUtil;
|
import com.jero.common.util.PasswordUtil;
|
||||||
import com.jero.common.util.RedisUtil;
|
import com.jero.common.util.RedisUtil;
|
||||||
@@ -187,8 +186,27 @@ public class SysUserController {
|
|||||||
user.setPassword(sysUser.getPassword());
|
user.setPassword(sysUser.getPassword());
|
||||||
String roles = jsonObject.getString("selectedroles");
|
String roles = jsonObject.getString("selectedroles");
|
||||||
String departs = jsonObject.getString("selecteddeparts");
|
String departs = jsonObject.getString("selecteddeparts");
|
||||||
sysUserService.editUserWithRole(user, roles);
|
List<SysDepartRole> departRoleList = departRoleService.queryByDepartId(departs);
|
||||||
sysUserService.editUserWithDepart(user, departs);
|
List<String> roleIdList = departRoleList.stream()
|
||||||
|
.map(SysDepartRole::getRoleId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
String[] targetRoleIdList = roles.split(",");
|
||||||
|
List<String> droleIdList = new ArrayList<>();
|
||||||
|
for(int i = 0; i < targetRoleIdList.length; i++){
|
||||||
|
String targetRoleId = targetRoleIdList[i];
|
||||||
|
if(!roleIdList.contains(targetRoleId)){
|
||||||
|
return result.error500("存在不是用户部门下的角色");
|
||||||
|
}
|
||||||
|
List<String> droleIds = departRoleList.stream()
|
||||||
|
.filter(e->e.getRoleId().equals(targetRoleId))
|
||||||
|
.map(SysDepartRole::getId)
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
droleIdList.addAll(droleIds);
|
||||||
|
}
|
||||||
|
droleIdList = droleIdList.stream().distinct().collect(Collectors.toList());
|
||||||
|
sysUserService.editUserWithRole(user, droleIdList);
|
||||||
|
// 不允许修改部门
|
||||||
|
// sysUserService.editUserWithDepart(user, departs);
|
||||||
sysUserService.updateNullPhoneEmail();
|
sysUserService.updateNullPhoneEmail();
|
||||||
result.success("修改成功!");
|
result.success("修改成功!");
|
||||||
}
|
}
|
||||||
@@ -272,11 +290,14 @@ public class SysUserController {
|
|||||||
public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
|
public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
|
||||||
Result<List<String>> result = new Result<>();
|
Result<List<String>> result = new Result<>();
|
||||||
List<String> list = new ArrayList<String>();
|
List<String> list = new ArrayList<String>();
|
||||||
List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userid));
|
List<SysDepartRoleUser> departRoleUserList = departRoleUserService.list(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, userid));
|
||||||
|
List<String> dRoleIdList = departRoleUserList.stream().map(SysDepartRoleUser::getDroleId).collect(Collectors.toList());
|
||||||
|
List<SysDepartRole> userRole = departRoleService.list(new QueryWrapper<SysDepartRole>().lambda().in(SysDepartRole::getId, dRoleIdList));
|
||||||
|
// List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userid));
|
||||||
if (userRole == null || userRole.size() <= 0) {
|
if (userRole == null || userRole.size() <= 0) {
|
||||||
result.error500("未找到用户相关角色信息");
|
result.error500("未找到用户相关角色信息");
|
||||||
} else {
|
} else {
|
||||||
for (SysUserRole sysUserRole : userRole) {
|
for (SysDepartRole sysUserRole : userRole) {
|
||||||
list.add(sysUserRole.getRoleId());
|
list.add(sysUserRole.getRoleId());
|
||||||
}
|
}
|
||||||
result.setSuccess(true);
|
result.setSuccess(true);
|
||||||
|
|||||||
+2
@@ -21,4 +21,6 @@ public interface ISysDepartRoleService extends IService<SysDepartRole> {
|
|||||||
*/
|
*/
|
||||||
List<SysDepartRole> queryDeptRoleByDeptAndUser(String orgCode, String userId);
|
List<SysDepartRole> queryDeptRoleByDeptAndUser(String orgCode, String userId);
|
||||||
|
|
||||||
|
List<SysDepartRole> queryByDepartId(String departIds);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -73,7 +73,7 @@ public interface ISysUserService extends IService<SysUser> {
|
|||||||
* @param user
|
* @param user
|
||||||
* @param roles
|
* @param roles
|
||||||
*/
|
*/
|
||||||
public void editUserWithRole(SysUser user,String roles);
|
public void editUserWithRole(SysUser user,List<String> droleIdList);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取用户的授权角色
|
* 获取用户的授权角色
|
||||||
|
|||||||
+9
-2
@@ -1,12 +1,13 @@
|
|||||||
package com.jero.modules.system.service.impl;
|
package com.jero.modules.system.service.impl;
|
||||||
|
|
||||||
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||||
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||||
import com.jero.modules.system.entity.SysDepartRole;
|
import com.jero.modules.system.entity.SysDepartRole;
|
||||||
import com.jero.modules.system.mapper.SysDepartRoleMapper;
|
import com.jero.modules.system.mapper.SysDepartRoleMapper;
|
||||||
import com.jero.modules.system.service.ISysDepartRoleService;
|
import com.jero.modules.system.service.ISysDepartRoleService;
|
||||||
|
import com.jero.modules.system.util.StringUtils;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -22,4 +23,10 @@ public class SysDepartRoleServiceImpl extends ServiceImpl<SysDepartRoleMapper, S
|
|||||||
public List<SysDepartRole> queryDeptRoleByDeptAndUser(String orgCode, String userId) {
|
public List<SysDepartRole> queryDeptRoleByDeptAndUser(String orgCode, String userId) {
|
||||||
return this.baseMapper.queryDeptRoleByDeptAndUser(orgCode,userId);
|
return this.baseMapper.queryDeptRoleByDeptAndUser(orgCode,userId);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<SysDepartRole> queryByDepartId(String departIds){
|
||||||
|
List<String> deoartIdList = StringUtils.stringToList(departIds);
|
||||||
|
return this.list(new QueryWrapper<SysDepartRole>().lambda().in(SysDepartRole::getDepartId, deoartIdList));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-9
@@ -1,26 +1,27 @@
|
|||||||
package com.jero.modules.system.service.impl;
|
package com.jero.modules.system.service.impl;
|
||||||
|
|
||||||
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
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.metadata.IPage;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
||||||
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 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;
|
||||||
import com.jero.common.constant.CommonConstant;
|
import com.jero.common.constant.CommonConstant;
|
||||||
import com.jero.common.system.api.ISysBaseAPI;
|
import com.jero.common.system.api.ISysBaseAPI;
|
||||||
import com.jero.modules.base.service.BaseCommonService;
|
|
||||||
import com.jero.common.system.vo.LoginUser;
|
import com.jero.common.system.vo.LoginUser;
|
||||||
import com.jero.common.system.vo.SysUserCacheInfo;
|
import com.jero.common.system.vo.SysUserCacheInfo;
|
||||||
import com.jero.common.util.PasswordUtil;
|
import com.jero.common.util.PasswordUtil;
|
||||||
import com.jero.common.util.UUIDGenerator;
|
import com.jero.common.util.UUIDGenerator;
|
||||||
import com.jero.common.util.oConvertUtils;
|
import com.jero.common.util.oConvertUtils;
|
||||||
|
import com.jero.modules.base.service.BaseCommonService;
|
||||||
import com.jero.modules.system.entity.*;
|
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.SysUserDepVo;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
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;
|
||||||
@@ -134,17 +135,24 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
|
|||||||
@Override
|
@Override
|
||||||
@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true)
|
||||||
@Transactional
|
@Transactional
|
||||||
public void editUserWithRole(SysUser user, String roles) {
|
public void editUserWithRole(SysUser user,List<String> droleIdList) {
|
||||||
this.updateById(user);
|
this.updateById(user);
|
||||||
//先删后加
|
//先删后加
|
||||||
sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
|
departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId()));
|
||||||
if(oConvertUtils.isNotEmpty(roles)) {
|
if(CollectionUtil.isNotEmpty(droleIdList)) {
|
||||||
String[] arr = roles.split(",");
|
for (String droleId : droleIdList) {
|
||||||
for (String roleId : arr) {
|
SysDepartRoleUser departRoleUser = new SysDepartRoleUser(user.getId(), droleId);
|
||||||
SysUserRole userRole = new SysUserRole(user.getId(), roleId);
|
departRoleUserMapper.insert(departRoleUser);
|
||||||
sysUserRoleMapper.insert(userRole);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
|
||||||
|
// if(oConvertUtils.isNotEmpty(roles)) {
|
||||||
|
// String[] arr = roles.split(",");
|
||||||
|
// for (String roleId : arr) {
|
||||||
|
// SysUserRole userRole = new SysUserRole(user.getId(), roleId);
|
||||||
|
// sysUserRoleMapper.insert(userRole);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user