package cn.com.qmth.examcloud.core.questions.service;

import cn.com.qmth.examcloud.api.commons.security.bean.User;
import cn.com.qmth.examcloud.core.questions.dao.entity.ExportStructure;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * @author chenken
 * @date 2017年7月12日 下午4:26:36
 * @company QMTH
 * @description ExportStructureService.java
 */
public interface ExportStructureService {

    /**
     * 保存导出结构
     *
     * @param exportStructure
     */
    public void saveExportStructure(ExportStructure exportStructure, User user);

    /**
     * 查询导出结构
     *
     * @param exportStructure
     * @return
     */
    public ExportStructure findByExportStructure(String orgId, String examId);

    /**
     * 分页查询
     *
     * @param exportStructure
     * @param curPage
     * @param pageSize
     * @return
     */
    public Page<ExportStructure> findPageByExportStructure(ExportStructure exportStructure, int curPage, int pageSize);

    /**
     * 根据考试ID查询结构
     * 如果结构存在、判断结构设置是否完整
     * 是否完整是指 客观题题数是否都设置过了
     *
     * @param examId
     * @param examType
     * @return
     */
    public ExportStructure findStructureByExamId(String examId);

    /**
     * 根据考试类型查询考试id
     *
     * @param examType
     * @return
     */
    public List<String> findExportStructureByExamType(String examType, User user);

    /**
     * 根据导出结构id删除
     *
     * @param id
     */
    public void deleteExportStructure(String id);
}

