package com.sundot.airport.exam.common.service;

import com.github.pagehelper.PageInfo;
import com.sundot.airport.exam.common.model.result.QuesCatPageResult;
import com.sundot.airport.exam.domain.QuesCat;
import com.sundot.airport.exam.logic.manage.model.params.QuesCatPageParam;

import java.util.List;
import java.util.Optional;

/**
 * <b>功能名：</b>QuesCatService<br>
 * <b>说明：</b> 题目分类表 <br>
 * <b>著作权：</b> Copyright (C) 2021 HUIFANEDU  CORPORATION<br>
 * <b>修改履历：
 *
 * @author 2021-06-17 liangxiao
 */
public interface QuesCatService extends BaseService<QuesCat> {

    /**
     * <b>方法名: </b> pageList <br>
     * <b>说明: </b> 分页查询 <br>
     *
     * @param param com.sundot.airport.logic.manage.model.params.QuesCatPageParam 分页查询条件
     * @return com.github.pagehelper.PageInfo<com.sundot.airport.exam.domain.QuesCatPageResult><br>
     * <b>修改履历: </b>
     * @author 2021/6/21 liangxiao
     */
    PageInfo<QuesCatPageResult> pageList(QuesCatPageParam param);

    /**
     * <b>方法名: </b> byNameCheckExistsGet <br>
     * <b>说明: </b> 根据名称检查是否存在记录 <br>
     *
     * @param qcName java.lang.String 试题分类名称
     * @return java.util.Optional<com.sundot.airport.exam.domain.QuesCat><br>
     * <b>修改履历: </b>
     * @author 2021/6/21 liangxiao
     */
    Optional<QuesCat> byNameCheckExistsGet(String qcName);

    /**
     * <b>方法名: </b> byQcIds <br>
     * <b>说明: </b> 通过题目分类ID列表查询 <br>
     *
     * @param qcIds List<String> 题目分类ID列表
     * @return List<QuesCat>
     * <b>修改履历: </b>
     * @author 2021/7/8 Mokou
     */
    List<QuesCat> byQcIds(List<String> qcIds);
}
