用户管理-角色部门配置

This commit is contained in:
liyawei
2022-05-24 16:54:01 +08:00
parent 78815fd1d7
commit b65cb19874
3 changed files with 88 additions and 27 deletions
@@ -184,13 +184,13 @@ public class SysUserController {
} else {
SysUser user = JSON.parseObject(jsonObject.toJSONString(), SysUser.class);
user.setUpdateTime(new Date());
//String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
user.setPassword(sysUser.getPassword());
String passwordEncode = PasswordUtil.encrypt(user.getUsername(), user.getPassword(), sysUser.getSalt());
user.setPassword(passwordEncode);
// user.setPassword(sysUser.getPassword());
String roles = jsonObject.getString("selectedroles");
String departs = jsonObject.getString("selecteddeparts");
sysUserService.editUserWithRole(user, roles);
// 不允许修改部门
// sysUserService.editUserWithDepart(user, departs);
sysUserService.editUserWithDepart(user, departs);
sysUserService.updateNullPhoneEmail();
result.success("修改成功!");
}
@@ -201,6 +201,70 @@ public class SysUserController {
return result;
}
@ApiOperation(value = "用户管理-角色配置")
@RequiresPermissions("user:role")
@RequestMapping(value = "/setRole", method = RequestMethod.POST)
public Result<SysUser> setRole(@RequestBody JSONObject jsonObject) {
Result<SysUser> result = new Result<SysUser>();
try {
String ids = jsonObject.getString("ids");
List<String> idList = Arrays.asList(ids.split(","));
for (String id : idList) {
SysUser sysUser = sysUserService.getById(id);
baseCommonService.addLog("编辑用户角色,id " + id, CommonConstant.LOG_TYPE_2, 2);
if (sysUser == null) {
result.error500("未找到对应实体");
} else {
SysUser user = new SysUser();
user.setId(id);
user.setUpdateTime(new Date());
String roles = jsonObject.getString("selectedroles");
sysUserService.editUserWithRole(user, roles);
result.success("修改成功!");
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
return result;
}
@ApiOperation(value = "用户管理-部门配置")
@RequiresPermissions("user:depart")
@RequestMapping(value = "/setDepart", method = RequestMethod.POST)
public Result<SysUser> setDepart(@RequestBody JSONObject jsonObject) {
Result<SysUser> result = new Result<SysUser>();
try {
String ids = jsonObject.getString("ids");
List<String> idList = Arrays.asList(ids.split(","));
for (String id : idList) {
SysUser sysUser = sysUserService.getById(id);
baseCommonService.addLog("编辑用户部门,id " + id, CommonConstant.LOG_TYPE_2, 2);
if (sysUser == null) {
result.error500("未找到对应实体");
} else {
SysUser user = new SysUser();
user.setId(id);
user.setUpdateTime(new Date());
String departCodes = jsonObject.getString("selecteddepartCodes");
user.setOrgCode(departCodes);
String departs = jsonObject.getString("selecteddeparts");
sysUserService.editUserWithDepart(user, departs);
result.success("修改成功!");
}
}
} catch (Exception e) {
log.error(e.getMessage(), e);
result.error500("操作失败");
}
return result;
}
/**
* 删除用户
*/
@@ -274,14 +338,11 @@ public class SysUserController {
public Result<List<String>> queryUserRole(@RequestParam(name = "userid", required = true) String userid) {
Result<List<String>> result = new Result<>();
List<String> list = new ArrayList<String>();
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));
List<SysUserRole> userRole = sysUserRoleService.list(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, userid));
if (userRole == null || userRole.size() <= 0) {
result.error500("未找到用户相关角色信息");
} else {
for (SysDepartRole sysUserRole : userRole) {
for (SysUserRole sysUserRole : userRole) {
list.add(sysUserRole.getRoleId());
}
result.setSuccess(true);
@@ -326,6 +387,7 @@ public class SysUserController {
* 修改密码
*/
//@RequiresRoles({"admin"})
@ApiOperation(value = "用户管理-修改密码")
@RequiresPermissions("user:edit")
@RequestMapping(value = "/changePassword", method = RequestMethod.PUT)
public Result<?> changePassword(@RequestBody SysUser sysUser) {
@@ -1540,7 +1602,7 @@ public class SysUserController {
* 根据用户id查询用户接口 - 工作流服务专用
*
* @param id:用户id
* @param reqFlag:请求标识 0 工作流服务请求
* @param reqFlag:请求标识 0-工作流服务请求
* @return
*/
@RequestMapping(value = "/getUserById", method = RequestMethod.GET)
@@ -137,7 +137,7 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
@CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true)
@Transactional
public void editUserWithRole(SysUser user,String roles) {
this.updateById(user);
// this.updateById(user);
//先删后加
sysUserRoleMapper.delete(new QueryWrapper<SysUserRole>().lambda().eq(SysUserRole::getUserId, user.getId()));
if(oConvertUtils.isNotEmpty(roles)) {
@@ -328,21 +328,21 @@ public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> impl
arr = departs.split(",");
}
//查询已关联部门
List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
if(userDepartList != null && userDepartList.size()>0){
for(SysUserDepart depart : userDepartList ){
//修改已关联部门删除部门用户角色关系
if(!Arrays.asList(arr).contains(depart.getDepId())){
List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId()));
List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
if(roleIds != null && roleIds.size()>0){
departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
.in(SysDepartRoleUser::getDroleId,roleIds));
}
}
}
}
// List<SysUserDepart> userDepartList = sysUserDepartMapper.selectList(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
// if(userDepartList != null && userDepartList.size()>0){
// for(SysUserDepart depart : userDepartList ){
// //修改已关联部门删除部门用户角色关系
// if(!Arrays.asList(arr).contains(depart.getDepId())){
// List<SysDepartRole> sysDepartRoleList = sysDepartRoleMapper.selectList(
// new QueryWrapper<SysDepartRole>().lambda().eq(SysDepartRole::getDepartId,depart.getDepId()));
// List<String> roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList());
// if(roleIds != null && roleIds.size()>0){
// departRoleUserMapper.delete(new QueryWrapper<SysDepartRoleUser>().lambda().eq(SysDepartRoleUser::getUserId, user.getId())
// .in(SysDepartRoleUser::getDroleId,roleIds));
// }
// }
// }
// }
//先删后加
sysUserDepartMapper.delete(new QueryWrapper<SysUserDepart>().lambda().eq(SysUserDepart::getUserId, user.getId()));
if(oConvertUtils.isNotEmpty(departs)) {
@@ -158,7 +158,6 @@ public class FindsDepartsChildrenUtil {
sysDepartTreeModel.setOrgCategory(sysDepart.getOrgCategory());
sysDepartTreeModel.setOrgType(sysDepart.getOrgType());
sysDepartTreeModel.setOrgCode(sysDepart.getOrgCode());
sysDepartTreeModel.setOrgCode(sysDepart.getParentCode());
sysDepartTreeModel.setMobile(sysDepart.getMobile());
sysDepartTreeModel.setFax(sysDepart.getFax());
sysDepartTreeModel.setAddress(sysDepart.getAddress());