package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.ScoreRoomUser;
import org.apache.ibatis.annotations.Param;

/**
 * 【请填写功能名称】Mapper接口
 *
 * @author ruoyi
 * @date 2025-10-30
 */
public interface ScoreRoomUserMapper
{
    /**
     * 查询【请填写功能名称】
     *
     * @param roomUserId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public ScoreRoomUser selectScoreRoomUserByRoomUserId(Long roomUserId);


    /**
     * 查询【请填写功能名称】
     *
     * @param UserId 【请填写功能名称】主键
     * @return 【请填写功能名称】
     */
    public ScoreRoomUser selectScoreRoomUserByUserId(Long UserId);



    public ScoreRoomUser selectScoreRoomUserPrescore(@Param("userId") Long UserId, @Param("roomId") Long RoomId);


    /**
     * 查询【请填写功能名称】列表
     *
     * @param scoreRoomUser 【请填写功能名称】
     * @return 【请填写功能名称】集合
     */
    public List<ScoreRoomUser> selectScoreRoomUserList(ScoreRoomUser scoreRoomUser);


    /**
     * 新增【请填写功能名称】
     *
     * @param scoreRoomUser 【请填写功能名称】
     * @return 结果
     */
    public int insertScoreRoomUser(ScoreRoomUser scoreRoomUser);

    public int updateScoreRoomUser(@Param("scoreRoomUsers") List<ScoreRoomUser> scoreRoomUsers);

    /**
     * 删除【请填写功能名称】
     *
     * @param roomUserId 【请填写功能名称】主键
     * @return 结果
     */
    public int deleteScoreRoomUserByRoomUserId(Long roomUserId);

    /**
     * 批量删除【请填写功能名称】
     *
     * @param roomUserIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteScoreRoomUserByRoomUserIds(Long[] roomUserIds);

    /**
     * 通过JOIN查询获取房间内所有用户及其详细对局记录
     */
    public List<ScoreRoomUser> selectUserScoresWithDetails(Long roomId);

}
