package com.ruoyi.mall.mapper;

import java.util.List;
import com.ruoyi.mall.domain.ContrastRecord;
import com.ruoyi.mall.domain.Vo.ContrastRecordVo;
import org.apache.ibatis.annotations.Param;

/**
 * 添加对比记录Mapper接口
 *
 * @author ruoyi
 * @date 2023-10-27
 */
public interface ContrastRecordMapper
{
    /**
     * 查询已添加对比记录列表 vo 大学对比 已添加学校列表展示
     * @param contrastRecordVo 添加对比记录
     * @return 添加对比记录集合（含学校详细信息）
     */
    List<ContrastRecordVo>  selectVoListForContrast(ContrastRecordVo contrastRecordVo);
    /**
     * 查询添加对比记录
     *
     * @param recordId 添加对比记录主键
     * @return 添加对比记录
     */
    public ContrastRecord selectContrastRecordByRecordId(Long recordId);

    /**
     * 查询添加对比记录列表
     *
     * @param contrastRecord 添加对比记录
     * @return 添加对比记录集合
     */
    public List<ContrastRecord> selectContrastRecordList(ContrastRecord contrastRecord);

    /**
     * 新增添加对比记录
     *
     * @param contrastRecord 添加对比记录
     * @return 结果
     */
    public int insertContrastRecord(ContrastRecord contrastRecord);

    /**
     * 修改添加对比记录
     *
     * @param contrastRecord 添加对比记录
     * @return 结果
     */
    public int updateContrastRecord(ContrastRecord contrastRecord);

    /**
     * 删除添加对比记录
     *
     * @param recordId 添加对比记录主键
     * @return 结果
     */
    public int deleteContrastRecordByRecordId(Long recordId);

    /**
     * 批量删除添加对比记录
     *
     * @param recordIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteContrastRecordByRecordIds(Long[] recordIds);

    /**
     * 查询用户学校加入对比状态
     * @param userId 用户id
     * @param schoolId 学校id
     * @param batchId 批次id
     * @return 结果
     */
    public List<Long> selectSchoolContrastStatus(@Param("userId")Long userId,
                                          @Param("schoolId")Long schoolId,
                                          @Param("batchId") Long batchId);
}
