From 51b8f586a2f65c565ddc34e17a95331a98657d49 Mon Sep 17 00:00:00 2001 From: liyawei Date: Tue, 24 May 2022 10:42:16 +0800 Subject: [PATCH] =?UTF-8?q?=E9=83=A8=E9=97=A8=E8=A7=92=E8=89=B2=E5=8F=98?= =?UTF-8?q?=E6=9B=B4:=E5=8F=96=E6=B6=88=E4=BB=8Epeople=E5=AF=B9=E6=8E=A5,?= =?UTF-8?q?=20=E6=B2=BF=E7=94=A8=E7=B3=BB=E7=BB=9F=E4=B9=8B=E5=89=8D?= =?UTF-8?q?=E7=9A=84=E7=BB=84=E7=BB=87=E8=A7=92=E8=89=B2=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E5=85=B3=E7=B3=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SysDepartController.java | 4 +++ .../system/controller/SysRoleController.java | 4 +++ .../system/controller/SysUserController.java | 23 ++----------- .../system/mapper/xml/SysDepartMapper.xml | 33 ++++++++++--------- .../system/mapper/xml/SysPermissionMapper.xml | 5 +-- .../system/mapper/xml/SysUserMapper.xml | 24 ++++---------- .../system/service/ISysDepartRoleService.java | 2 -- .../system/service/ISysUserService.java | 3 +- .../impl/SysDepartRoleServiceImpl.java | 5 --- .../service/impl/SysUserServiceImpl.java | 33 ++++--------------- 10 files changed, 45 insertions(+), 91 deletions(-) diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java index 20c732d18..00968a75d 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysDepartController.java @@ -19,6 +19,8 @@ import com.jero.modules.system.model.DepartIdModel; import com.jero.modules.system.service.ISysDepartService; import com.jero.modules.system.service.ISysUserDepartService; import com.jero.modules.system.service.ISysUserService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; @@ -53,6 +55,7 @@ import java.util.*; @RestController @RequestMapping("/sys/sysDepart") @Slf4j +@Api(tags = "部门管理") public class SysDepartController { @Autowired @@ -94,6 +97,7 @@ public class SysDepartController { * * @return */ + @ApiOperation(value = "部门管理-查询树状结构") @RequiresPermissions("sys:depart:list") @RequestMapping(value = "/queryTreeList", method = RequestMethod.GET) public Result> queryTreeList() { diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java index 868df2ecb..3a693d1fd 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/controller/SysRoleController.java @@ -16,6 +16,8 @@ import com.jero.modules.system.service.ISysPermissionDataRuleService; import com.jero.modules.system.service.ISysPermissionService; import com.jero.modules.system.service.ISysRolePermissionService; import com.jero.modules.system.service.ISysRoleService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.shiro.authz.annotation.RequiresPermissions; import org.jeecgframework.poi.excel.def.NormalExcelConstants; @@ -46,6 +48,7 @@ import java.util.*; @RestController @RequestMapping("/sys/role") @Slf4j +@Api(tags = "角色管理") public class SysRoleController { @Autowired private ISysRoleService sysRoleService; @@ -67,6 +70,7 @@ public class SysRoleController { * @param req * @return */ + @ApiOperation(value = "角色管理-分页查询") @RequiresPermissions("sys:role:list") @RequestMapping(value = "/page", method = RequestMethod.GET) public Result> queryPageList(SysRole role, 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 6fb2a31f2..890e6bc3f 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 @@ -188,25 +188,7 @@ public class SysUserController { user.setPassword(sysUser.getPassword()); String roles = jsonObject.getString("selectedroles"); String departs = jsonObject.getString("selecteddeparts"); - List departRoleList = departRoleService.queryByDepartId(departs); - List roleIdList = departRoleList.stream() - .map(SysDepartRole::getRoleId) - .collect(Collectors.toList()); - String[] targetRoleIdList = roles.split(","); - List droleIdList = new ArrayList<>(); - for(int i = 0; i < targetRoleIdList.length; i++){ - String targetRoleId = targetRoleIdList[i]; - if(!roleIdList.contains(targetRoleId)){ - return result.error500("存在不是用户部门下的角色"); - } - List 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.editUserWithRole(user, roles); // 不允许修改部门 // sysUserService.editUserWithDepart(user, departs); sysUserService.updateNullPhoneEmail(); @@ -366,8 +348,7 @@ public class SysUserController { public Result> getUserDepartsList(@RequestParam(name = "userId", required = true) String userId) { Result> result = new Result<>(); try { -// List depIdModelList = this.sysUserDepartService.queryDepartIdsOfUser(userId); - List depIdModelList = this.sysUserService.getDepIdsByUserId(userId); + List depIdModelList = this.sysUserDepartService.queryDepartIdsOfUser(userId); if (depIdModelList != null && depIdModelList.size() > 0) { result.setSuccess(true); result.setMessage("查找成功"); diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml index 372352fee..5aba347bd 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysDepartMapper.xml @@ -3,33 +3,36 @@ diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysPermissionMapper.xml b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysPermissionMapper.xml index ba35d95ee..94212f3de 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysPermissionMapper.xml +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/mapper/xml/SysPermissionMapper.xml @@ -38,8 +38,9 @@ - + + - SELECT distinct - d.depart_name, - dru.user_id - FROM - sys_depart_role_user dru, - sys_depart_role dr, - sys_depart d - WHERE - d.id = dr.depart_id - and dr.id = dru.drole_id - and dru.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 #{id} @@ -48,20 +38,18 @@ d.depart_name departName, d.id id FROM - sys_depart_role_user dru, - sys_depart_role dr, + sys_user_depart ud, sys_depart d WHERE - d.id = dr.depart_id - and dr.id = dru.drole_id - and dru.user_id = #{userId} + d.id = ud.dep_id + and ud.user_id = #{userId} select * from sys_user where del_flag = 0 - and id in (select dru.user_id from sys_depart_role dr, sys_depart_role_user dru where dr.id = dru.drole_id and dr.depart_id in + and id in (select user_id from sys_user_depart where dep_id in #{id} diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartRoleService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartRoleService.java index 8f6f4b490..1a307ccd5 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartRoleService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysDepartRoleService.java @@ -21,6 +21,4 @@ public interface ISysDepartRoleService extends IService { */ List queryDeptRoleByDeptAndUser(String orgCode, String userId); - List queryByDepartId(String departIds); - } diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java index 35de194fb..6603a5aa5 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/ISysUserService.java @@ -74,7 +74,7 @@ public interface ISysUserService extends IService { * @param user * @param roles */ - public void editUserWithRole(SysUser user,List droleIdList); + public void editUserWithRole(SysUser user,String roles); /** * 获取用户的授权角色 @@ -119,7 +119,6 @@ public interface ISysUserService extends IService { */ public Map getDepNamesByUserIds(List userIds); - public List getDepIdsByUserId(String userId); /** * 根据部门 Id 和 QueryWrapper 查询 * diff --git a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartRoleServiceImpl.java b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartRoleServiceImpl.java index 134eec3ce..4939eb6e6 100644 --- a/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartRoleServiceImpl.java +++ b/jero-boot/jero-boot-module-system/src/main/java/com/jero/modules/system/service/impl/SysDepartRoleServiceImpl.java @@ -24,9 +24,4 @@ public class SysDepartRoleServiceImpl extends ServiceImpl queryByDepartId(String departIds){ - List deoartIdList = StringUtils.stringToList(departIds); - return this.list(new QueryWrapper().lambda().in(SysDepartRole::getDepartId, deoartIdList)); - } } 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 d1e4df365..bade0e7c2 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 @@ -136,24 +136,17 @@ public class SysUserServiceImpl extends ServiceImpl impl @Override @CacheEvict(value= {CacheConstant.SYS_USERS_CACHE}, allEntries=true) @Transactional - public void editUserWithRole(SysUser user,List droleIdList) { + public void editUserWithRole(SysUser user,String roles) { this.updateById(user); //先删后加 - departRoleUserMapper.delete(new QueryWrapper().lambda().eq(SysDepartRoleUser::getUserId, user.getId())); - if(CollectionUtil.isNotEmpty(droleIdList)) { - for (String droleId : droleIdList) { - SysDepartRoleUser departRoleUser = new SysDepartRoleUser(user.getId(), droleId); - departRoleUserMapper.insert(departRoleUser); + sysUserRoleMapper.delete(new QueryWrapper().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); } } -// sysUserRoleMapper.delete(new QueryWrapper().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); -// } -// } } @@ -265,18 +258,6 @@ public class SysUserServiceImpl extends ServiceImpl impl return res; } - @Override - public List getDepIdsByUserId(String userId) { - List departList = this.baseMapper.getDepIdsByUserId(userId); - List depIdModelList = new ArrayList<>(); - if(departList != null || departList.size() > 0) { - for(SysDepart depart : departList) { - depIdModelList.add(new DepartIdModel().convertByUserDepart(depart)); - } - } - return depIdModelList; - } - @Override public IPage getUserByDepartIdAndQueryWrapper(Page page, String departId, QueryWrapper queryWrapper) { LambdaQueryWrapper lambdaQueryWrapper = queryWrapper.lambda();