package com.qmth.teachcloud.report.business.service;

import com.qmth.teachcloud.report.business.bean.dto.printOpen.*;

import java.io.IOException;
import java.util.List;

/**
 * @Description: 请求知学知考开放接口
 * @Author: CaoZixuan
 * @Date: 2022-06-07
 */
public interface CallPrintOpenApiService {
    /**
     * 请求分布式印刷试卷基础配置查询接口
     *
     * @param schoolId        学校id
     * @param thirdExamId     考试id
     * @param gradeCourseCode 科目编号
     * @return 结果
     */
    PaperConfig callPaperConfig(Long schoolId, Long thirdExamId, String gradeCourseCode) throws IOException;

    /**
     * 请求分布式印刷试卷维度查询接口
     *
     * @param schoolId        学校id
     * @param thirdExamId     考试id
     * @param gradeCourseCode 科目编号
     * @return 结果
     */
    List<PaperDimension> callPaperDimension(Long schoolId, Long thirdExamId, String gradeCourseCode) throws IOException;

    /**
     * 请求分布式印刷试卷蓝图接口
     *
     * @param schoolId        学校id
     * @param thirdExamId     考试id
     * @param gradeCourseCode 科目编号
     * @return 结果
     */
    List<PaperStructure> callPaperStruct(Long schoolId, Long thirdExamId, String gradeCourseCode) throws IOException;

    /**
     * 请求分布式印刷试卷模块接口
     *
     * @param schoolId        学校id
     * @param thirdExamId     考试id
     * @param gradeCourseCode 科目编号
     * @return 结果
     */
    List<PaperEvaluation> callPaperModule(Long schoolId, Long thirdExamId, String gradeCourseCode) throws IOException;

    /**
     * 请求学生成绩数据接口
     *
     * @param schoolId        学校id
     * @param thirdExamId     考试id
     * @param gradeCourseCode 科目编号
     * @return 结果
     */
    List<ExamStudentScore> callExamStudentScore(Long schoolId, Long thirdExamId, String gradeCourseCode) throws IOException;
}
