package cn.iocoder.yudao.module.jx.service;

import cn.iocoder.yudao.module.jx.domain.DriveSchoolExamPass;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * 考试通过Service接口
 *
 * @author ruoyi
 * @date 2024-05-07
 */
public interface IDriveSchoolExamPassService
{
    /**
     * 查询考试通过
     *
     * @param id 考试通过主键
     * @return 考试通过
     */
    public DriveSchoolExamPass selectDriveSchoolExamPassById(Long id);

    /**
     * 查询考试通过列表
     *
     * @param driveSchoolExamPass 考试通过
     * @return 考试通过集合
     */
    public IPage<DriveSchoolExamPass> selectDriveSchoolExamPassList(DriveSchoolExamPass driveSchoolExamPass, Page<DriveSchoolExamPass> page);

    /**
     * 新增考试通过
     *
     * @param driveSchoolExamPass 考试通过
     * @return 结果
     */
    public int insertDriveSchoolExamPass(DriveSchoolExamPass driveSchoolExamPass);

    /**
     * 修改考试通过
     *
     * @param driveSchoolExamPass 考试通过
     * @return 结果
     */
    public int updateDriveSchoolExamPass(DriveSchoolExamPass driveSchoolExamPass);

    /**
     * 批量删除考试通过
     *
     * @param ids 需要删除的考试通过主键集合
     * @return 结果
     */
    public int deleteDriveSchoolExamPassByIds(Long[] ids);

    /**
     * 删除考试通过信息
     *
     * @param id 考试通过主键
     * @return 结果
     */
    public int deleteDriveSchoolExamPassById(Long id);

    IPage<DriveSchoolExamPass> checkList(DriveSchoolExamPass driveSchoolExamPass,Page<DriveSchoolExamPass> page);

    IPage<DriveSchoolExamPass> getBalanceList(DriveSchoolExamPass driveSchoolExamPass,Page<DriveSchoolExamPass> page);

    int pay(DriveSchoolExamPass driveSchoolExamPass);

    DriveSchoolExamPass getTime(DriveSchoolExamPass driveSchoolExamPass);

    DriveSchoolExamPass getBalanceApp(DriveSchoolExamPass driveSchoolExamPass);

    DriveSchoolExamPass getBalanceByCoachId(DriveSchoolExamPass driveSchoolExamPass);
}
