package com.qmth.jkserver.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.qmth.jkserver.model.ExamSolfegeRecord;
import com.qmth.jkserver.model.ExamStudentAnswer;

import java.util.Collection;
import java.util.List;
import java.util.Map;

public interface ExamStudentAnswerService extends IService<ExamStudentAnswer> {

    public ExamStudentAnswer findAnswerByStudentId(Long studentId);

    public ExamSolfegeRecord findRecordByStudentId(Long studentId);

    public Long findRecordIdByStudentId(Long studentId);

    public Long findAnswerIdByStudentId(Long studentId);

    public ExamStudentAnswer saveService(ExamStudentAnswer examStudentAnswer);

    public ExamStudentAnswer find(String examCode, String ticketNo, String courseCode);

    public Collection<ExamStudentAnswer> save(Collection<ExamStudentAnswer> examStudentAnswers);

    public List<ExamStudentAnswer> findObjectiveAnswerByExamCode(String examCode, int skip, int limit);

    public List<ExamStudentAnswer> findObjectiveAnswerByExamCode(String examCode);

    public List<ExamStudentAnswer> findRecordExistsAnswerByExamCode(String examCode, int skip, int limit);

    public List<ExamStudentAnswer> findByExamCodeAndCourseCode(String examCode, String courseCode);

    public List<ExamStudentAnswer> findByExamCode(String examCode,String courseCode);

    public void deleteById(String id);

    public List<ExamStudentAnswer> findAll();

    public void deleteAnswer(String examCode, String placeCode, String roomCode);

    public void deleteAnswer(String examCode, String ticketNo);

    public void deleteAnswer(List<ExamStudentAnswer> answers);

    //计算优特机考下面 所有科目的客观题题目数量
    public Map<String, Integer> computeCourseObjectiveQuesNumber(String examCode);

}
