package beilv.competition.mapper;

import beilv.competition.domain.Competition;
import beilv.stadium.domain.Stadium;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 赛事发布Mapper接口
 *
 * @author LG
 * @date 2024-12-31
 */
public interface CompetitionMapper {
    /**
     * 查询赛事发布
     *
     * @param id 赛事发布主键
     * @return 赛事发布
     */
    public Competition selectCompetitionById(Integer id);

    /**
     * 查询赛事发布列表
     *
     * @param competition 赛事发布
     * @return 赛事发布集合
     */
    public List<Competition> selectCompetitionList(Competition competition);

    /**
     * 新增赛事发布
     *
     * @param competition 赛事发布
     * @return 结果
     */
    public int insertCompetition(Competition competition);

    /**
     * 修改赛事发布
     *
     * @param competition 赛事发布
     * @return 结果
     */
    public int updateCompetition(Competition competition);

    /**
     * 删除赛事发布
     *
     * @param id 赛事发布主键
     * @return 结果
     */
    public int deleteCompetitionById(Integer id);

    /**
     * 批量删除赛事发布
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteCompetitionByIds(String[] ids);

    int publishCompetition(Competition competition);

    List<Competition> getCompetitionList();

    boolean selectStadumIsOpenById(String id);

    void updateBookARace(Stadium stadium);

    Competition getCompetitionInfo(@Param("orderId") String orderId);
}
