gonglilong
2024-06-14 5689de6e4902a48d0fce8822adf520b69b3650a5
根据父级角色查询子角色
5 files modified
49 ■■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java 12 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml 30 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/IRoleService.java 1 ●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java 5 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/controller/RoleController.java
@@ -116,6 +116,18 @@
    }
    /**
     * 根据父级角色查询子角色
     * @param parentId
     * @return
     */
    @GetMapping("/treeByParentIdNew")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "树形结构", notes = "树形结构")
    public R<List<RoleVO>> treeByParentIdNew(String parentId) {
        List<RoleVO> tree = roleService.treeByParentIdNew(parentId);
        return R.data(tree);
    }
    /**
     * 获取指定角色树形结构
     */
    @GetMapping("/tree-by-id")
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java
@@ -49,6 +49,7 @@
    List<RoleVO> tree(String tenantId, String excludeRole);
    List<RoleVO> treeByParentId(String [] parentId);
    List<RoleVO> treeByParentIdNew(String [] parentId);
    /**
     * 获取角色名
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
@@ -65,6 +65,36 @@
        ORDER BY sort
    </select>
    <select id="treeByParentIdNew" 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 (
            (
            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
                id = #{parentId}
            </foreach>
            )
            or
            (
            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
                parent_id = #{parentId}
            </foreach>
            )
            or parent_id in (
            select b.id from blade_role b where b.is_deleted = 0 and
            (
            <foreach collection="array" item="parentId" index="index" open="(" close=")" separator="or">
                b.PARENT_ID = #{parentId}
            </foreach>
            )
            )
            )
        </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
@@ -111,4 +111,5 @@
     */
    boolean removeRole(String ids);
    List<RoleVO> treeByParentIdNew(String parentId);
}
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java
@@ -86,6 +86,11 @@
        }
        return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId.split(",")));
    }
    @Override
    public List<RoleVO> treeByParentIdNew(String parentId) {
        return ForestNodeMerger.merge(baseMapper.treeByParentIdNew(parentId.split(",")));
    }
    @Override
    @Transactional(rollbackFor = Exception.class)