skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
@@ -102,6 +102,14 @@ return R.data(tree); } @GetMapping("/treeByParentId") @ApiOperationSupport(order = 3) @ApiOperation(value = "树形结构", notes = "树形结构") public R<List<RoleVO>> treeByParentId(String parentId) { List<RoleVO> tree = roleService.treeByParentId(parentId); return R.data(tree); } /** * 获取指定角色树形结构 */ skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java
@@ -48,6 +48,8 @@ */ List<RoleVO> tree(String tenantId, String excludeRole); List<RoleVO> treeByParentId(String parentId); /** * 获取角色名 * skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
@@ -34,6 +34,18 @@ </if> </select> <select id="treeByParentId" resultMap="treeNodeResultMap"> select id, parent_id, role_name as title, id as "value", id as "key" from blade_role where is_deleted = 0 <if test="_parameter!=null and _parameter!=''"> and ( id = #{_parameter} or parent_id = #{_parameter} or parent_id in ( select b.id from blade_role b where b.is_deleted = 0 and b.PARENT_ID = #{_parameter} ) or role_alias = 'appxczrr' or role_alias = 'gldwzrr' or role_alias = 'jszrr' or role_alias = 'zgbmzrr' or role_alias = 'xzzrr' ) </if> ORDER BY sort </select> <select id="getRoleNames" resultType="java.lang.String"> SELECT role_name skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java
@@ -48,6 +48,8 @@ */ List<RoleVO> tree(String tenantId); List<RoleVO> treeByParentId(String parentId); /** * 权限配置 * skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java
@@ -37,6 +37,7 @@ import org.springblade.core.tool.node.ForestNodeMerger; import org.springblade.core.tool.utils.CollectionUtil; import org.springblade.core.tool.utils.Func; import org.springblade.core.tool.utils.StringPool; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; @@ -79,6 +80,14 @@ } @Override public List<RoleVO> treeByParentId(String parentId) { if (AuthUtil.isAdministrator()) { return ForestNodeMerger.merge(baseMapper.tree(StringPool.EMPTY, RoleConstant.ADMINISTRATOR)); } return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId)); } @Override @Transactional(rollbackFor = Exception.class) public boolean grant(@NotEmpty List<Long> roleIds, List<Long> menuIds, List<Long> dataScopeIds, List<Long> apiScopeIds) { return grantRoleMenu(roleIds, menuIds) && grantDataScope(roleIds, dataScopeIds) && grantApiScope(roleIds, apiScopeIds);