package com.qmth.distributed.print.business.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.distributed.print.business.bean.dto.BasicExamDto;
import com.qmth.teachcloud.common.entity.BasicExam;

import java.util.List;

/**
 * <p>
 * 考试表 服务类
 * </p>
 */
public interface BasicExamService extends IService<BasicExam> {

    /**
     * 考试编辑
     *
     * @param basicExam 编辑参数
     * @return 编辑后该学期id
     */
    BasicExam saveBasicExam(BasicExam basicExam) throws IllegalAccessException;

    /**
     * 考试删除
     *
     * @param id 考试主键
     * @return 是否删除成功
     */
    boolean deleteBasicExamById(Long id);

    /**
     * 查询学期
     *
     * @param semesterId
     * @param inUsed 是否当前使用考试
     */
    List<BasicExam> query(Long semesterId, Boolean inUsed);

    /**
     * 设置当前使用考试
     *
     * @param id 考试ID
     */
    boolean setInUsed(Long id);

    /**
     * 分页查询
     *
     * @param semesterId 学期ID
     * @param enable     是否启用
     * @param pageNumber 分页参数
     * @param pageSize   分页参数
     */
    IPage<BasicExamDto> basicExamPage(Long semesterId, Boolean enable, Integer pageNumber, Integer pageSize);

    /**
     * 启用/禁用
     *
     */
    boolean enable(Long id, Boolean enable);
}
