package com.ruoyi.mall.mapper;

import java.util.List;
import com.ruoyi.mall.domain.MallMemberExpect;
import com.ruoyi.mall.domain.Vo.SchoolVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

/**
 * 我的意愿学校记录Mapper接口
 *
 * @author ruoyi
 * @date 2023-11-03
 */
public interface MallMemberExpectMapper
{
    /**
     * 查询我的意愿学校记录
     *
     * @param expectId 我的意愿学校记录主键
     * @return 我的意愿学校记录
     */
    public MallMemberExpect selectMallMemberExpectByExpectId(Long expectId);

    /**
     * 查询意向学校
     * @param id 用户id
     * @param schoolId 学校id
     * @param batchId 批次id
     * @return 结果
     */
    public MallMemberExpect selectMallMemberExpectBySchoolId(@Param("id") Long id, @Param("schoolId") Long schoolId,@Param("batchId") Long batchId);

    /**
     * 查询用户意向记录
     * @param id 用户id
     * @param batchId 批次id
     * @param schoolId 学校id
     * @return 结果
     */
    public MallMemberExpect selectMallMemberExpectByUserId(@Param("id") Long id,
                                                           @Param("schoolId") Long schoolId,
                                                           @Param("batchId") Long batchId);

    /**
     * 查询我的意愿学校记录列表
     *
     * @param mallMemberExpect 我的意愿学校记录
     * @return 我的意愿学校记录集合
     */
    public List<MallMemberExpect> selectMallMemberExpectList(MallMemberExpect mallMemberExpect);

    /**
     * 新增我的意愿学校记录
     *
     * @param mallMemberExpect 我的意愿学校记录
     * @return 结果
     */
    public int insertMallMemberExpect(MallMemberExpect mallMemberExpect);

    /**
     * 修改我的意愿学校记录
     *
     * @param mallMemberExpect 我的意愿学校记录
     * @return 结果
     */
    public int updateMallMemberExpect(MallMemberExpect mallMemberExpect);

    /**
     * 删除我的意愿学校记录
     *
     * @param expectId 我的意愿学校记录主键
     * @return 结果
     */
    public int deleteMallMemberExpectByExpectId(Long expectId);

    /**
     * 批量删除我的意愿学校记录
     *
     * @param expectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMallMemberExpectByExpectIds(Long[] expectIds);

    /**
     * 意向学校列表
     * @param id 用户id
     * @param batchId 批次id
     * @return 结果
     */
    public List<SchoolVO> selectExpectSchoolList(@Param("id")Long id, @Param("batchId")Long batchId);
}
