package org.jeecg.modules.system.app.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.app.dto.SearchDTO;
import org.jeecg.modules.app.vo.SearchVO;
import org.jeecg.modules.app.vo.game.FindByGameIdPriceVo;
import org.jeecg.modules.app.vo.game.FindByIdResponse;
import org.jeecg.modules.app.vo.game.FindPagResponse;
import org.jeecg.modules.system.app.dto.AppGameDTO;
import org.jeecg.modules.system.app.dto.AppGamePageDTO;
import org.jeecg.modules.system.app.entity.AppGame;

/**
 * @Description: 赛事表
 * @Author: jeecg-boot
 * @Date:   2025-07-03
 * @Version: V1.0
 */
public interface AppGameMapper extends BaseMapper<AppGame> {
    /**
     * @Author SheepHy
     * @Description 赛事分页查询
     * @Date 14:04 2025/7/7
     * @Param searchDTO {@link SearchDTO}
     * @return Page<SearchVO.SearchRaceVO>
     **/
    Page<SearchVO.SearchRaceVO> convertSearchCompetitionVOPage(@Param("page")Page<SearchVO.SearchRaceVO> page,@Param("searchDTO")SearchDTO searchDTO);

    IPage<AppGameDTO> findPage(@Param("page")Page<AppGame> page, @Param("appGamePageDTO")AppGamePageDTO appGamePageDTO);

    IPage<FindPagResponse> findConcerts(@Param("page") Page<FindPagResponse> page,@Param("longitude")  double longitude,@Param("latitude")  double latitude);


    FindByIdResponse findById(@Param("id") String id,@Param("longitude")  double longitude,@Param("latitude")  double latitude);

    FindByGameIdPriceVo findByGameId(@Param("id") String id);
}
