linwe
2024-09-03 764d883b5ea3bdc06abbec548b6df0511e567978
src/main/java/org/springblade/modules/system/mapper/RoleMapper.xml
@@ -26,6 +26,7 @@
    <select id="tree" resultMap="treeNodeResultMap">
        select id, parent_id, role_name as title, id as "value", id as "key" from blade_role where is_deleted = 0
        and id!=1123598816738675201
        <if test="param1!=null">
            and tenant_id = #{param1}
        </if>
@@ -52,12 +53,66 @@
        role_alias
        FROM
        blade_role
        WHERE
        id IN
        <foreach collection="array" item="ids" index="index" open="(" close=")" separator=",">
            #{ids}
        WHERE is_deleted = 0
        <choose>
            <when test="array!=null and array.length>0">
                and id IN
                <foreach collection="array" item="ids" index="index" open="(" close=")" separator=",">
                    #{ids}
                </foreach>
            </when>
            <otherwise>
                and id IN ('')
            </otherwise>
        </choose>
    </select>
    <select id="getRoleListByIds" resultType="org.springblade.modules.system.entity.Role">
        SELECT * FROM BLADE_ROLE
        WHERE id IN
        <foreach collection="ids.split(',')" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
        and is_deleted = 0
    </select>
    <!--查询对应的角色id-->
    <select id="getRoleIdStrByRoleIdAndType" resultType="java.lang.String">
        SELECT id FROM BLADE_ROLE
        WHERE id IN
        <foreach collection="ids.split(',')" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
        <if test="types!=null and types.size()>0">
            and type in
            <foreach collection="types" item="type" open="(" separator="," close=")">
                #{type}
            </foreach>
        </if>
    </select>
    <!--角色查询-->
    <select id="getRoleList" resultType="org.springblade.modules.system.entity.Role">
        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
        <if test="roleParam.roleName!=null and roleParam.roleName!=''">
            and role_name like concat('%',#{roleParam.roleName},'%')
        </if>
        <if test="roleParam.roleAlias!=null and roleParam.roleAlias!=''">
            and 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}
            )
        </if>
    </select>
</mapper>