package cn.com.qmth.examcloud.core.questions.service;

import java.util.List;

import org.springframework.data.domain.Page;

import cn.com.qmth.examcloud.api.commons.security.bean.User;
import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.PaperQuestionViewQuery;
import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperDomain;
import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperListVo;
import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.RandomPaperQuery;
import cn.com.qmth.examcloud.core.questions.service.bean.randompaper.StructInfo;
import cn.com.qmth.examcloud.question.commons.core.paper.DefaultPaper;

public interface RandomPaperService {

	Page<RandomPaperListVo> getPage(RandomPaperQuery query);

	void toggle(String id, Boolean enable, User accessUser);

	StructInfo getStructQuestionInfo(String structId);

	StructInfo saveRandomPaper(RandomPaperDomain domain);

	StructInfo getPaperQuestionViewInfo(PaperQuestionViewQuery query);

	RandomPaperListVo getInfo(String id);

	DefaultPaper getRandomPaper(String randomPaperId, Integer playTime);

	boolean existStruct(String id);

	boolean existPaper(Long courseId,String id);

	List<RandomPaperListVo> getList(Long rootOrgId, Long courseId);


}