<select id="findMenusByUserName" resultType="com.open.capacity.model.system.SysMenu">
SELECT e.* from sys_user a
LEFT JOIN sys_role_user b on a.id=b.userId
LEFT JOIN sys_role c on c.id=b.roleId
LEFT JOIN sys_role_menu d on d.roleId=c.id
LEFT JOIN sys_menu e ON e.id=d.menuId
LEFT JOIN sys_role_permission f ON f.roleId=c.id
LEFT JOIN sys_permission g ON f.permissionId=g.id
LEFT JOIN sys_system h ON h.id=g.systemId
WHERE 1=1
<if test="username!=null and username!=''">
AND a.username=#{username}
</if>
<if test="systemName!=null and systemName!=''">
AND h.name=#{systemName}
</if>
<if test="parentId == null"><!-- 如果父id没有值,默认查询第一层 -->
AND e.parentId=-1
</if>
<if test="parentId != null and parentId != ''"><!-- 如果父id有值,则查询该父id下面的子id -->
AND e.parentId=#{parentId}
</if>
AND e.id IS NOT NULL GROUP BY e.id
</select>