package cn.com.qmth.examcloud.tool.enums;

import cn.com.qmth.examcloud.tool.service.TaskService;
import cn.com.qmth.examcloud.tool.service.batch_import_exam_student.BatchImportExamStudentTask;
import cn.com.qmth.examcloud.tool.service.batch_create_user.BatchCreateUserTask;
import cn.com.qmth.examcloud.tool.service.config_exam_paper.ConfigExamPaperTask;
import cn.com.qmth.examcloud.tool.service.create_random_paper_template.CreateRandomPaperTemplateTask;
import cn.com.qmth.examcloud.tool.service.export_student_answer_and_score_detail.ExportStudentAnswerAndScoreDetailTask;
import cn.com.qmth.examcloud.tool.service.update_correct_answer_and_re_fix_score.UpdateCorrectAnswerAndReFixScoreTask;

/**
 * 任务类型
 */
public enum TaskType {

    EXPORT_STUDENT_ANSWER_AND_SCORE_DETAIL("导出考生试题作答和得分明细", ExportStudentAnswerAndScoreDetailTask.class),

    UPDATE_CORRECT_ANSWER_AND_RE_FIX_SCORE("重新算分", UpdateCorrectAnswerAndReFixScoreTask.class),

    CONFIG_EXAM_PAPER("批量配置考试调卷规则", ConfigExamPaperTask.class),

    CREATE_RANDOM_PAPER_TEMPLATE("批量创建随机抽卷模板", CreateRandomPaperTemplateTask.class),

    BATCH_CREATE_USER("批量创建用户", BatchCreateUserTask.class),

    BATCH_IMPORT_EXAM_STUDENT("批量导入考生", BatchImportExamStudentTask.class);

    TaskType(String description, Class<? extends TaskService> impl) {
        this.description = description;
        this.impl = impl;
    }

    private String description;

    private Class<? extends TaskService> impl;

    public String getDescription() {
        return description;
    }

    public Class<? extends TaskService> getImpl() {
        return impl;
    }

}
