package com.ruoyi.mall.mapper;

import java.util.List;
import com.ruoyi.mall.domain.MallSchoolBatchLink;
import org.apache.ibatis.annotations.Param;

/**
 * 学校批次关联Mapper接口
 *
 * @author Lsm
 * @date 2023-10-19
 */
public interface MallSchoolBatchLinkMapper
{
    /**
     * 查询学校批次关联
     *
     * @param schoolBatchId 学校批次关联主键
     * @return 学校批次关联
     */
    public MallSchoolBatchLink selectMallSchoolBatchLinkBySchoolBatchId(Long schoolBatchId);

    /**
     * 学校和批次id查询
     * @param schoolId
     * @param batchId
     * @return
     */
    public MallSchoolBatchLink selectMallSchoolBatchLinkBySchoolAndBatch(@Param("schoolId")Long schoolId,
                                                                         @Param("batchId")Long batchId);

    /**
     * 学校批次id

     * @return
     */
    public List<MallSchoolBatchLink> selectSchoolIdByBatchId();


    /**
     * 学校批次id列表
     * @param schoolId
     * @return
     */
    public List<Long> selectMallSchoolBatchLinkBySchoolId(@Param("schoolId") Long schoolId);

    /**
     * 学校和批次id查询信息
     * @param schoolId 学校id
     * @param batchId 批次id
     * @return 结果
     */
    public MallSchoolBatchLink selectSchoolBatchLinkBySchoolIdAndBatchId(@Param("schoolId") Long schoolId,
                                                                  @Param("batchId")Long batchId);

    public List<MallSchoolBatchLink> selectSchoolBatch(@Param("schoolId")Long schoolId);

    /**
     * 查询学校批次关联列表
     *
     * @param mallSchoolBatchLink 学校批次关联
     * @return 学校批次关联集合
     */
    public List<MallSchoolBatchLink> selectMallSchoolBatchLinkList(MallSchoolBatchLink mallSchoolBatchLink);

    /**
     * 新增学校批次关联
     *
     * @param mallSchoolBatchLink 学校批次关联
     * @return 结果
     */
    public int insertMallSchoolBatchLink(MallSchoolBatchLink mallSchoolBatchLink);

    /**
     * 修改学校批次关联
     *
     * @param mallSchoolBatchLink 学校批次关联
     * @return 结果
     */
    public int updateMallSchoolBatchLink(MallSchoolBatchLink mallSchoolBatchLink);

    /**
     * 删除学校批次关联
     *
     * @param schoolBatchId 学校批次关联主键
     * @return 结果
     */
    public int deleteMallSchoolBatchLinkBySchoolBatchId(Long schoolBatchId);

    /**
     * 批量删除学校批次关联
     *
     * @param schoolBatchIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMallSchoolBatchLinkBySchoolBatchIds(Long[] schoolBatchIds);

    /**
     * 删除学校批次信息
     * @param schoolId 学校id
     * @return 结果
     */
    public int deleteSchoolBatchBySchoolId(@Param("schoolId")Long schoolId);

    /**
     * 查询学校批次关联表重复列表
     *
     * @return 学校集合
     */
    public List<MallSchoolBatchLink> selectMallSchoolBatchLinkRepetitionList();

    /**
     * 批量插入
     * @param list
     * @return
     */
    public int batchInsert(@Param("list") List<MallSchoolBatchLink> list);
}
