From b65cb19874520484f2bb45ee85fb142b6b564a3b Mon Sep 17 00:00:00 2001 From: liyawei Date: Tue, 24 May 2022 16:54:01 +0800 Subject: [PATCH] =?UTF-8?q?=E7=94=A8=E6=88=B7=E7=AE=A1=E7=90=86-=E8=A7=92?= =?UTF-8?q?=E8=89=B2=E9=83=A8=E9=97=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/controller/SysUserController.java | 82 ++++++++++++++++--- .../service/impl/SysUserServiceImpl.java | 32 ++++---- .../system/util/FindsDepartsChildrenUtil.java | 1 - 3 files changed, 88 insertions(+), 27 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java index 890e6bc3f..b32ecc253 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysUserController.java @@ -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 setRole(@RequestBody JSONObject jsonObject) { + Result result = new Result(); + try { + String ids = jsonObject.getString("ids"); + List 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 setDepart(@RequestBody JSONObject jsonObject) { + Result result = new Result(); + try { + String ids = jsonObject.getString("ids"); + List 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> queryUserRole(@RequestParam(name = "userid", required = true) String userid) { Result> result = new Result<>(); List list = new ArrayList(); - List departRoleUserList = departRoleUserService.list(new QueryWrapper().lambda().eq(SysDepartRoleUser::getUserId, userid)); - List dRoleIdList = departRoleUserList.stream().map(SysDepartRoleUser::getDroleId).collect(Collectors.toList()); - List userRole = departRoleService.list(new QueryWrapper().lambda().in(SysDepartRole::getId, dRoleIdList)); -// List userRole = sysUserRoleService.list(new QueryWrapper().lambda().eq(SysUserRole::getUserId, userid)); + List userRole = sysUserRoleService.list(new QueryWrapper().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) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java index bade0e7c2..74bd4bef3 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysUserServiceImpl.java @@ -137,7 +137,7 @@ public class SysUserServiceImpl extends ServiceImpl 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().lambda().eq(SysUserRole::getUserId, user.getId())); if(oConvertUtils.isNotEmpty(roles)) { @@ -328,21 +328,21 @@ public class SysUserServiceImpl extends ServiceImpl impl arr = departs.split(","); } //查询已关联部门 - List userDepartList = sysUserDepartMapper.selectList(new QueryWrapper().lambda().eq(SysUserDepart::getUserId, user.getId())); - if(userDepartList != null && userDepartList.size()>0){ - for(SysUserDepart depart : userDepartList ){ - //修改已关联部门删除部门用户角色关系 - if(!Arrays.asList(arr).contains(depart.getDepId())){ - List sysDepartRoleList = sysDepartRoleMapper.selectList( - new QueryWrapper().lambda().eq(SysDepartRole::getDepartId,depart.getDepId())); - List roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); - if(roleIds != null && roleIds.size()>0){ - departRoleUserMapper.delete(new QueryWrapper().lambda().eq(SysDepartRoleUser::getUserId, user.getId()) - .in(SysDepartRoleUser::getDroleId,roleIds)); - } - } - } - } +// List userDepartList = sysUserDepartMapper.selectList(new QueryWrapper().lambda().eq(SysUserDepart::getUserId, user.getId())); +// if(userDepartList != null && userDepartList.size()>0){ +// for(SysUserDepart depart : userDepartList ){ +// //修改已关联部门删除部门用户角色关系 +// if(!Arrays.asList(arr).contains(depart.getDepId())){ +// List sysDepartRoleList = sysDepartRoleMapper.selectList( +// new QueryWrapper().lambda().eq(SysDepartRole::getDepartId,depart.getDepId())); +// List roleIds = sysDepartRoleList.stream().map(SysDepartRole::getId).collect(Collectors.toList()); +// if(roleIds != null && roleIds.size()>0){ +// departRoleUserMapper.delete(new QueryWrapper().lambda().eq(SysDepartRoleUser::getUserId, user.getId()) +// .in(SysDepartRoleUser::getDroleId,roleIds)); +// } +// } +// } +// } //先删后加 sysUserDepartMapper.delete(new QueryWrapper().lambda().eq(SysUserDepart::getUserId, user.getId())); if(oConvertUtils.isNotEmpty(departs)) { diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java index ec0dff4ea..ce47aa0ab 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/util/FindsDepartsChildrenUtil.java @@ -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());