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

import com.sundot.airport.exam.common.model.params.GetExamRecordParam;
import com.sundot.airport.exam.common.model.result.GetExamRecordResult;
import com.sundot.airport.exam.common.model.result.sub.ExamRecordOption;
import com.sundot.airport.exam.enums.CorrectStatusEnum;

import java.util.List;

/**
 * <b>功能名：ExamRecordManager</b><br>
 * <b>说明：</b> 测试记录通用业务处理层 <br>
 * <b>著作权：</b> Copyright (C) 2021 HUIFANEDU  CORPORATION<br>
 * <b>修改履历：</b><br>
 *
 * @author 2021-07-06 Mokou
 */
public interface ExamRecordManager {
    /**
     * <b>方法名: </b> getExamRecord <br>
     * <b>说明: </b> 查询测试记录及用户答案 <br>
     *
     * @param param GetExamRecordParam 参数类
     * @return GetExamRecordResult
     * <b>修改履历: </b>
     * @author 2021/7/6 Mokou
     */
    GetExamRecordResult getExamRecord(GetExamRecordParam param);

    /**
     * <b>方法名: </b> getCorrectStatusByOpts <br>
     * <b>说明: </b> 通过冗余的选项快照返回问题的正确情况 <br>
     *
     * @param optionList List<ExamRecordOption> 选项列表
     * @return CorrectStatusEnum<br>
     * <b>修改履历: </b>
     * @author 2021/8/2 Mokou
     */
    CorrectStatusEnum getCorrectStatusByOpts(List<ExamRecordOption> optionList);
}
