package com.testor.module.train.myManagement.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.testor.module.train.myManagement.model.domain.TTrainTestQuestionsExercise;
import com.testor.module.train.myManagement.model.dto.TTrainTestQuestionsExerciseParam;
import com.testor.module.train.paper.model.dto.ReturnTrainPaper;
import com.testor.module.train.paper.model.dto.TestQuestionsContent;
import com.testor.module.train.project.model.dto.Exercise;
import com.tongtech.tfw.backend.common.biz.models.BaseResponse;
import com.tongtech.tfw.backend.common.biz.models.BaseResponseList;
import com.tongtech.tfw.backend.common.biz.models.BizGeneralResponse;
import com.tongtech.tfw.backend.common.models.supers.SuperService;

import java.util.List;

/**
 * 我的试题练习、考试—安全培训教育Service接口
 * 
 * @author testor-framework
 * @date 2022-08-08 10:16:57
 */
public interface TTrainTestQuestionsExerciseService extends SuperService<TTrainTestQuestionsExercise> {

    BaseResponse<TTrainTestQuestionsExercise> saveClose(List<TTrainTestQuestionsExercise> questBody)throws Exception;

    BaseResponse<BizGeneralResponse> againExercise(List<String> id);


    IPage<TTrainTestQuestionsExercise> errorRecord(TTrainTestQuestionsExerciseParam param,String userId);

    BaseResponse<BaseResponseList<TestQuestionsContent>> getTestQuestions(Exercise exercise) throws Exception;

    BaseResponse<ReturnTrainPaper> startExamine(String id)throws Exception;

    BaseResponse<TTrainTestQuestionsExercise> submitTestPaper(List<TTrainTestQuestionsExercise> questBody) throws Exception;

    BaseResponse<ReturnTrainPaper> getTestPaperDetail(String id) throws Exception;
}
