xieb
2023-05-23 6a11dec5cdd0690359ff23c31dba9154741508ce
解决多角色用户管理报错问题
3 files modified
26 ■■■■ changed files
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml 22 ●●●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java 2 ●●● patch | view | raw | blame | history
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.java
@@ -48,7 +48,7 @@
     */
    List<RoleVO> tree(String tenantId, String excludeRole);
    List<RoleVO> treeByParentId(String parentId);
    List<RoleVO> treeByParentId(String [] parentId);
    /**
     * 获取角色名
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/mapper/RoleMapper.xml
@@ -39,8 +39,26 @@
        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}
                (
                    <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>
                    )
                ) or role_alias like '%zrr'
            )
        </if>
skjcmanager/skjcmanager-service/skjcmanager-system/src/main/java/cn/gistack/system/service/impl/RoleServiceImpl.java
@@ -84,7 +84,7 @@
        if (AuthUtil.isAdministrator() || AuthUtil.isAdmin()) {
            return ForestNodeMerger.merge(baseMapper.tree(null, RoleConstant.ADMINISTRATOR));
        }
        return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId));
        return ForestNodeMerger.merge(baseMapper.treeByParentId(parentId.split(",")));
    }
    @Override