package com.ruoyi.mall.mapper;

import java.util.List;

import com.ruoyi.mall.domain.Bo.CheckingOutParamBo;
import com.ruoyi.mall.domain.MallMemberRateSchool;
import com.ruoyi.mall.domain.Vo.RateTypeSchoolMajorVo;
import org.apache.ibatis.annotations.Param;

/**
 * 用户学校录取率Mapper接口
 *
 * @author ruoyi
 * @date 2024-07-15
 */
public interface MallMemberRateSchoolMapper
{
    /**
     * 查询用户学校录取率
     *
     * @param rateSchoolId 用户学校录取率主键
     * @return 用户学校录取率
     */
    public MallMemberRateSchool selectMallMemberRateSchoolByRateSchoolId(Long rateSchoolId);

    /**
     * 学校分类数量统计
     * @param bo
     * @return
     */
    public RateTypeSchoolMajorVo selectCounts(CheckingOutParamBo bo);

    /**
     * 学校录取率记录
     * @param schoolId
     * @param batchId
     * @param subjectType
     * @return
     */
    public MallMemberRateSchool selectRateSchoolBySchoolIdAndBatchId(@Param("schoolId") Long schoolId,
                                                                     @Param("batchId")Long batchId,
                                                                     @Param("subjectType")String subjectType,
                                                                     @Param("userId")Long userId);

    /**
     * 查询用户学校录取率列表
     *
     * @param mallMemberRateSchool 用户学校录取率
     * @return 用户学校录取率集合
     */
    public List<MallMemberRateSchool> selectMallMemberRateSchoolList(MallMemberRateSchool mallMemberRateSchool);

    /**
     * 新增用户学校录取率
     *
     * @param mallMemberRateSchool 用户学校录取率
     * @return 结果
     */
    public int insertMallMemberRateSchool(MallMemberRateSchool mallMemberRateSchool);

    /**
     * 修改用户学校录取率
     *
     * @param mallMemberRateSchool 用户学校录取率
     * @return 结果
     */
    public int updateMallMemberRateSchool(MallMemberRateSchool mallMemberRateSchool);

    /**
     * 删除用户学校录取率
     *
     * @param rateSchoolId 用户学校录取率主键
     * @return 结果
     */
    public int deleteMallMemberRateSchoolByRateSchoolId(Long rateSchoolId);

    /**
     * 批量删除用户学校录取率
     *
     * @param rateSchoolIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMallMemberRateSchoolByRateSchoolIds(Long[] rateSchoolIds);

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

    public int updateBatch(@Param("list")List<MallMemberRateSchool> list);
}
