package com.qmth.sop.business.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qmth.sop.business.bean.dto.UserDto;
import com.qmth.sop.business.entity.SysRole;
import com.qmth.sop.business.entity.SysUserRole;
import com.qmth.sop.common.enums.RoleTypeEnum;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 * 用户和角色关联表 Mapper 接口
 * </p>
 *
 * @author wangliang
 * @since 2023-07-17
 */
public interface SysUserRoleMapper extends BaseMapper<SysUserRole> {
    /**
     * 根据用户id查询角色集合
     *
     * @param userId 用户id
     * @return 角色集合
     */
    List<SysRole> listRoleByUserId(@Param("userId") Long userId);

    /**
     * 根据角色id查询用户信息
     *
     * @param roleId
     * @return
     */
    List<SysUserRole> listByRoleId(@Param("roleId") Long roleId);

    /**
     * 根据角色类型查询用户信息
     *
     * @param roleTypes
     * @return
     */
    List<UserDto> userListByRoleType(@Param("roleTypes") List<RoleTypeEnum> roleTypes);
}
