吉安感知网项目-后端
linwei
2026-02-09 0b5742177d3a663435da88c77f21c9a2649b4967
drone-service/drone-system/src/main/java/org/sxkj/system/mapper/RoleMapper.xml
@@ -62,27 +62,28 @@
    <!--角色查询-->
    <select id="getRoleList" resultType="org.sxkj.system.entity.Role">
        WITH RECURSIVE role_hierarchy AS (
            SELECT id, parent_id, role_name, role_alias
            FROM blade_role
            WHERE id = #{roleParam.roleId} AND is_deleted = 0
            UNION ALL
            SELECT r.id, r.parent_id, r.role_name, r.role_alias
            FROM blade_role r
            JOIN role_hierarchy rh ON r.parent_id = rh.id
            WHERE r.is_deleted = 0
        )
        SELECT br.* FROM blade_role br
        inner join (
        SELECT * FROM
        (
        SELECT t1.*,IF( find_in_set( parent_id, @pids ) > 0, @pids := concat( @pids, ',', id ), 0 ) AS ischild FROM
        ( SELECT id, parent_id,role_name,role_alias FROM blade_role t where is_deleted =0 ORDER BY parent_id, id ) t1,
        ( SELECT @pids := #{roleParam.roleId} ) t2
        ) t3
        WHERE id != 1123598816738675201
        INNER JOIN role_hierarchy rh ON br.id = rh.id
        WHERE br.id != 1123598816738675201
        <if test="roleParam.roleName!=null and roleParam.roleName!=''">
            and role_name like concat('%',#{roleParam.roleName},'%')
            AND br.role_name LIKE concat('%',#{roleParam.roleName},'%')
        </if>
        <if test="roleParam.roleAlias!=null and roleParam.roleAlias!=''">
            and role_alias like concat('%',#{roleParam.roleAlias},'%')
            AND br.role_alias LIKE concat('%',#{roleParam.roleAlias},'%')
        </if>
        ) t4 on br.id = t4.id
        <if test="roleParam.isNowLevel==0">
            union all
            (
            SELECT * FROM blade_role where id = #{roleParam.roleId}
            )
            UNION ALL
            SELECT * FROM blade_role WHERE id = #{roleParam.roleId} AND is_deleted = 0
        </if>
    </select>