package com.qmth.themis.business.bean.exam;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

import com.qmth.themis.business.cache.bean.ExamStudentAnswerCacheBean;

import com.qmth.themis.business.dto.response.TEExamActivityDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

@ApiModel("断点恢复返回信息")
public class ExamResumeBean extends TEExamActivityDto implements Serializable {

	@ApiModelProperty("考试时长(秒)")
	private Integer durationSeconds;

//	@ApiModelProperty("试卷数据包下载地址")
//	private String paperUrl;

//	@ApiModelProperty("试卷结构下载地址")
//	private String structUrl;

	@ApiModelProperty("是否包含音频")
	private Boolean hasAudio;
	
	@ApiModelProperty("音频播放次数")
	private Integer audioPlayCount;
	
	@ApiModelProperty("监控标识")
	private String monitorKey;

	@ApiModelProperty("个人试卷结构")
	private String studentPaperStruct;

	@ApiModelProperty("已上传作答")
	private List<ExamStudentAnswerCacheBean> answerList;

	@ApiModelProperty("若未上传或不开启乱序则无此字段；开启乱序情况下必须上传，否则无法交卷")
	private Map<String, Integer> audioLeftPlayCount;

	@ApiModelProperty("加入房间用户ID")
	private String monitorUserId;

	@ApiModelProperty("用户认证签名")
	private String monitorUserSig;

	@ApiModelProperty("腾讯云SDK APP ID")
	private String monitorAppId;

    @ApiModelProperty(value = "是否允许考生发起语音通话，0：否，1：是")
    private Integer examStudentCallEnable = 1;

    public Integer getExamStudentCallEnable() {
        return examStudentCallEnable;
    }

    public void setExamStudentCallEnable(Integer examStudentCallEnable) {
        this.examStudentCallEnable = examStudentCallEnable;
    }

    public String getMonitorAppId() {
		return monitorAppId;
	}

	public void setMonitorAppId(String monitorAppId) {
		this.monitorAppId = monitorAppId;
	}

	public String getMonitorUserId() {
		return monitorUserId;
	}

	public void setMonitorUserId(String monitorUserId) {
		this.monitorUserId = monitorUserId;
	}

	public String getMonitorUserSig() {
		return monitorUserSig;
	}

	public void setMonitorUserSig(String monitorUserSig) {
		this.monitorUserSig = monitorUserSig;
	}

	public Integer getDurationSeconds() {
		return durationSeconds;
	}

	public void setDurationSeconds(Integer durationSeconds) {
		this.durationSeconds = durationSeconds;
	}

//	public String getPaperUrl() {
//		return paperUrl;
//	}
//
//	public void setPaperUrl(String paperUrl) {
//		this.paperUrl = paperUrl;
//	}
//
//	public String getStructUrl() {
//		return structUrl;
//	}
//
//	public void setStructUrl(String structUrl) {
//		this.structUrl = structUrl;
//	}

	public Boolean getHasAudio() {
		return hasAudio;
	}

	public void setHasAudio(Boolean hasAudio) {
		this.hasAudio = hasAudio;
	}

	public String getMonitorKey() {
		return monitorKey;
	}

	public void setMonitorKey(String monitorKey) {
		this.monitorKey = monitorKey;
	}

	public String getStudentPaperStruct() {
		return studentPaperStruct;
	}

	public void setStudentPaperStruct(String studentPaperStruct) {
		this.studentPaperStruct = studentPaperStruct;
	}

	public List<ExamStudentAnswerCacheBean> getAnswerList() {
		return answerList;
	}

	public void setAnswerList(List<ExamStudentAnswerCacheBean> answerList) {
		this.answerList = answerList;
	}

	public Map<String, Integer> getAudioLeftPlayCount() {
		return audioLeftPlayCount;
	}

	public void setAudioLeftPlayCount(Map<String, Integer> audioLeftPlayCount) {
		this.audioLeftPlayCount = audioLeftPlayCount;
	}

	public Integer getAudioPlayCount() {
		return audioPlayCount;
	}

	public void setAudioPlayCount(Integer audioPlayCount) {
		this.audioPlayCount = audioPlayCount;
	}
}
