package com.community.huiju.service;

import com.community.huiju.dto.MenuDTO;
import com.community.huiju.dto.RoleDTO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

public interface IRoleService {

    /**
     * 根据用户ID获取web端 运营 用户角色
     * @param userId
     * @return
     */
    List<RoleDTO> getWebOperateUserRoleByUserId(Integer userId);

    /**
     * 根据用户ID获取web端 物业 用户角色
     * @param userId
     * @return
     */
    List<RoleDTO> getWebPropertyUserRoleUserId(Integer userId);

    /**
     * 根据用户ID获取app端 用户角色
     * @param userId
     * @return
     */
    List<RoleDTO> getAppUserRoleByUserId(Integer userId);

    /**
     * 根据角色ID获取web端 运营 角色所有菜单url
     * @param roleId
     * @return
     */
    List<MenuDTO> getWebOperateMenuUrlByRoleId(Integer roleId);

    /**
     * 根据角色ID获取web端 物业 角色所有菜单url
     * @param roleId
     * @return
     */
    List<MenuDTO> getWebPropertyMenuUrlRoleId(Integer roleId);

    /**
     * 根据用户ID获取app端 角色所有菜单url
     * @param roleId
     * @return
     */
    List<MenuDTO> getAppMenuUrlByRoleId(Integer roleId);


    /**
     * 判断是否拥有这个权限
     * @param request
     * @return
     */
    boolean hasPermission(HttpServletRequest request);
}
