package cn.hnthyy.thmz.service.thmz;

import cn.hnthyy.thmz.entity.MzException;
import cn.hnthyy.thmz.entity.thmz.RoleMenuRelation;
import cn.hnthyy.thmz.entity.thmz.UserRoleRelation;
import cn.hnthyy.thmz.vo.RoleMenuRelationVo;
import cn.hnthyy.thmz.vo.UserRoleRelationVo;

import java.util.List;

/**
 * 角色与用户关系表服务接口
 */
public interface UserRoleRelationService {


    /**
     * 根据userId查询用户角色
     *
     * @param userId
     * @return
     */
    List<UserRoleRelation> queryByUserId(Long userId);

    /**
     * 根据roleId查询用户角色
     * @param roleId
     * @return
     */
    List<UserRoleRelation> queryByRoleId(Long roleId);


    /**
     * 新增用户角色关系
     * @param userRoleRelationVo
     * @param createId
     * @return
     * @throws MzException
     */
    int saveUserRoleRelation(UserRoleRelationVo userRoleRelationVo, Long createId) throws MzException;


    /**
     * 删除角色对应的所有用户关系
     *
     * @param roleId
     * @return
     */
    int removeByRoleId(Long roleId);


    /**
     * 删除单个用户对应的角色关系
     *
     * @param userId
     * @return
     */
    int removeByUserId(Long userId);


}
