SELECT
ru.id AS relationId,
r.id AS roleId,
r.`name` AS roleName,
r.role_type AS roleType,
r.workspace_id AS workspaceId,
ru.identity_id AS identityId,
ru.identity_type AS identityType,
ru.natural_person_id AS naturalPersonId,
ru.ou_id AS ouId,
ru.workspace_id AS relationWorkspaceId
FROM
saas_role r,
saas_role_user_relation ru
WHERE
ru.role_id = r.id
AND r.is_delete = 0
AND ru.is_delete = 0
AND ru.identity_id = #{identityId}
AND ru.identity_type = #{identityType}
SELECT
ru.id AS relationId,
r.id AS roleId,
r.`name` AS roleName,
r.role_type AS roleType,
r.workspace_id AS workspaceId,
ru.identity_id AS identityId,
ru.identity_type AS identityType,
ru.natural_person_id AS naturalPersonId,
ru.ou_id AS ouId,
ru.workspace_id AS relationWorkspaceId
FROM
saas_role r,
saas_role_user_relation ru
WHERE
ru.role_id = r.id
AND r.is_delete = 0
AND ru.is_delete = 0
AND r.role_type='super_admin'
AND r.workspace_id IN
#{item, jdbcType=NUMERIC}
SELECT DISTINCT
ru.id AS relationId,
r.id AS roleId,
r.`name` AS roleName,
r.role_type AS roleType,
r.workspace_id AS workspaceId,
ru.identity_id AS identityId,
ru.identity_type AS identityType,
ru.natural_person_id AS naturalPersonId,
ru.ou_id AS ouId,
ru.workspace_id AS relationWorkspaceId
FROM
saas_pgroup_role_relation rg,
saas_role_user_relation ru,
saas_role r
WHERE
rg.role_id = ru.role_id
AND ru.role_id = r.id
AND rg.is_delete = 0
AND ru.is_delete = 0
AND r.is_delete = 0
AND rg.group_id IN
#{item, jdbcType=NUMERIC}
AND r.workspace_id IN
#{item, jdbcType=NUMERIC}
SELECT
r.*
FROM
saas_role r
LEFT JOIN saas_role_group_relation rg ON r.id = rg.role_id
LEFT JOIN saas_role_group g ON rg.saas_role_group_id = g.id
WHERE
r.is_delete = 0
AND (
( r.workspace_id = #{workspaceId} AND r.owner_ou_id = #{ouId} AND (r.role_type = 'common' OR r.role_type = 'super_admin') )
OR
( r.owner_ou_id = - 1 AND FIND_IN_SET( #{workspaceJoinType},g.ou_type_code) > 0)
)