package com.haha.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.haha.entity.Role;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

/**
 * 角色Mapper接口
 */
@Mapper
public interface RoleMapper extends BaseMapper<Role> {
    
    /**
     * 根据角色编码查询角色
     * @param code 角色编码
     * @return 角色信息
     */
    @Select("SELECT * FROM t_role WHERE code = #{code}")
    Role selectByCode(@Param("code") String code);
    
    /**
     * 统计该角色的用户数量
     * @param roleId 角色ID
     * @return 用户数量
     */
    @Select("SELECT COUNT(*) FROM t_admin WHERE FIND_IN_SET(#{roleId}, role_ids) > 0")
    int countUsersByRoleId(@Param("roleId") Long roleId);
}
