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


import com.testor.module.train.exam.model.domain.TTrainQuestionBank;
import com.testor.module.train.exam.model.dto.TTrainQuestionBankDelParam;
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;

/**
 * 题库——安全培训教育Service接口
 *
 * @author testor-framework
 * @date 2022-07-13 15:19:22
 */
public interface TTrainQuestionBankService extends SuperService<TTrainQuestionBank> {

    BaseResponse<TTrainQuestionBank> addEntity(TTrainQuestionBank addRequest) throws Exception;

    BaseResponse<TTrainQuestionBank> getByIds(String id) throws Exception;

    BaseResponse<BizGeneralResponse> updateEntity(TTrainQuestionBank updateRequest) throws Exception;

    BaseResponse<BizGeneralResponse> deleteEntity(TTrainQuestionBankDelParam deleteRequest) throws Exception;

    void joinLearnBank(TTrainQuestionBank addRequest) throws Exception;

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