package com.qmth.themis.business.dto.response;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.themis.business.enums.ExamRecordStatusEnum;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * @Description: 学生考试记录 dto
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/8/3
 */
public class TEStudentExamRecordDto implements Serializable {

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "考试批次id")
    private Long examId;//考试批次id

    @ApiModelProperty(name = "考试名称")
    private String examName;//考试名称

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "考生id")
    private Long examStudentId;//考生id

    @JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(name = "考试记录id")
    private Long examRecordId;//考试记录id

    @ApiModelProperty(name = "科目编码")
    private String courseCode;//科目编码

    @ApiModelProperty(name = "科目名称")
    private String courseName;//科目名称

    @ApiModelProperty(name = "证件号")
    private String identity;//证件号

    @ApiModelProperty(name = "姓名")
    private String name;//姓名

    @ApiModelProperty(name = "客观分数")
    private Double objectiveScore;//客观分数

    @ApiModelProperty(name = "考试状态")
    private ExamRecordStatusEnum status;//考试状态

    @ApiModelProperty(name = "视频数量")
    private Integer videoCount = 0;

    @ApiModelProperty(name = "首次开考时间")
    private Long firstStartTime;

    @ApiModelProperty(name = "交卷时间")
    private Long finishTime;

    @ApiModelProperty(name = "开启转录的视频源")
    private String monitorRecord;

    @ApiModelProperty(name = "视频分段视频源")
    private String videoSource;

    @ApiModelProperty(name = "非分段视频源")
    private String tencentVideoUrl;

    @ApiModelProperty(value = "视频删除状态，false：未删除，true：已删除")
    private Boolean videoStatus;

    public Boolean getVideoStatus() {
        return videoStatus;
    }

    public void setVideoStatus(Boolean videoStatus) {
        this.videoStatus = videoStatus;
    }

    public String getVideoSource() {
        return videoSource;
    }

    public void setVideoSource(String videoSource) {
        this.videoSource = videoSource;
    }

    public String getTencentVideoUrl() {
        return tencentVideoUrl;
    }

    public void setTencentVideoUrl(String tencentVideoUrl) {
        this.tencentVideoUrl = tencentVideoUrl;
    }

    public String getMonitorRecord() {
        return monitorRecord;
    }

    public void setMonitorRecord(String monitorRecord) {
        this.monitorRecord = monitorRecord;
    }

    public Long getFinishTime() {
        return finishTime;
    }

    public void setFinishTime(Long finishTime) {
        this.finishTime = finishTime;
    }

    public Long getFirstStartTime() {
        return firstStartTime;
    }

    public void setFirstStartTime(Long firstStartTime) {
        this.firstStartTime = firstStartTime;
    }

    public Integer getVideoCount() {
        return videoCount;
    }

    public void setVideoCount(Integer videoCount) {
        this.videoCount = videoCount;
    }

    public Long getExamId() {
        return examId;
    }

    public void setExamId(Long examId) {
        this.examId = examId;
    }

    public String getExamName() {
        return examName;
    }

    public void setExamName(String examName) {
        this.examName = examName;
    }

    public Long getExamStudentId() {
        return examStudentId;
    }

    public void setExamStudentId(Long examStudentId) {
        this.examStudentId = examStudentId;
    }

    public Long getExamRecordId() {
        return examRecordId;
    }

    public void setExamRecordId(Long examRecordId) {
        this.examRecordId = examRecordId;
    }

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getIdentity() {
        return identity;
    }

    public void setIdentity(String identity) {
        this.identity = identity;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Double getObjectiveScore() {
        return objectiveScore;
    }

    public void setObjectiveScore(Double objectiveScore) {
        this.objectiveScore = objectiveScore;
    }

    public ExamRecordStatusEnum getStatus() {
        return status;
    }

    public void setStatus(ExamRecordStatusEnum status) {
        this.status = status;
    }
}
