package com.keao.edu.user.entity;

import com.keao.edu.user.api.enums.ExamEvaluationResultEnum;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;

/**
 * 对应数据库表(student_exam_result):
 */
public class StudentExamResult {

	private Long id;

	@ApiModelProperty(value = "学员报考编号")
	private Long examRegistrationId;

	@ApiModelProperty(value = "考场编号")
	private Long examRoomId;
	
	@ApiModelProperty(value = "考级项目编号")
	private Long examinationBasicId;

	@ApiModelProperty(value = "考级项目")
	private ExaminationBasic examinationBasic;
	
	@ApiModelProperty(value = "学员编号")
	private Integer studentId;

	@ApiModelProperty(value = "学员注册信息")
	private ExamRegistration examRegistration;

	@ApiModelProperty(value = "考试结果")
	private ExamEvaluationResultEnum result;

	@ApiModelProperty(value = "教师评审均分")
	private Float avgScore;

	@ApiModelProperty(value = "考试结果确认")
	private Integer confirmStatus;
	
	@ApiModelProperty(value = "备注")
	private String memo;
	
	@ApiModelProperty(value = "操作者")
	private Integer operatorId;

	@ApiModelProperty(value = "学员考试状态 0考试中,1呼叫中,2已签到,3未签到,4录播中,5已完成")
	private Integer isFinishedExam;

	@ApiModelProperty(value = "视频连接")
	private String videoUrl;

	private java.util.Date createTime;

	private java.util.Date updateTime;

	private String tenantId;

	@ApiModelProperty(value = "录制开始时间")
	private Date recordStartTime;

	@ApiModelProperty(value = "录制提交时间")
	private Date recordEndTime;

	@ApiModelProperty(value = "是否录制")
	private Integer recordFlag;

	public Date getRecordEndTime() {
		return recordEndTime;
	}

	public void setRecordEndTime(Date recordEndTime) {
		this.recordEndTime = recordEndTime;
	}

	public Long getExamRoomId() {
		return examRoomId;
	}

	public void setExamRoomId(Long examRoomId) {
		this.examRoomId = examRoomId;
	}

	public Date getRecordStartTime() {
		return recordStartTime;
	}

	public void setRecordStartTime(Date recordStartTime) {
		this.recordStartTime = recordStartTime;
	}

	public Integer getRecordFlag() {
		return recordFlag;
	}

	public void setRecordFlag(Integer recordFlag) {
		this.recordFlag = recordFlag;
	}

	public ExaminationBasic getExaminationBasic() {
		return examinationBasic;
	}

	public void setExaminationBasic(ExaminationBasic examinationBasic) {
		this.examinationBasic = examinationBasic;
	}

	public Long getExamRegistrationId() {
		return examRegistrationId;
	}

	public void setExamRegistrationId(Long examRegistrationId) {
		this.examRegistrationId = examRegistrationId;
	}

	public void setId(Long id){
		this.id = id;
	}
	
	public Long getId(){
		return this.id;
	}

	public ExamRegistration getExamRegistration() {
		return examRegistration;
	}

	public void setExamRegistration(ExamRegistration examRegistration) {
		this.examRegistration = examRegistration;
	}

	public Integer getConfirmStatus() {
		return confirmStatus;
	}

	public void setConfirmStatus(Integer confirmStatus) {
		this.confirmStatus = confirmStatus;
	}

	public void setIsFinishedExam(Integer isFinishedExam) {
		this.isFinishedExam = isFinishedExam;
	}

	public Long getExaminationBasicId() {
		return examinationBasicId;
	}

	public void setExaminationBasicId(Long examinationBasicId) {
		this.examinationBasicId = examinationBasicId;
	}

	public void setStudentId(Integer studentId){
		this.studentId = studentId;
	}
	
	public Integer getStudentId(){
		return this.studentId;
	}

	public ExamEvaluationResultEnum getResult() {
		return result;
	}

	public void setResult(ExamEvaluationResultEnum result) {
		this.result = result;
	}

	public String getVideoUrl() {
		return videoUrl;
	}

	public void setVideoUrl(String videoUrl) {
		this.videoUrl = videoUrl;
	}

	public void setMemo(String memo){
		this.memo = memo;
	}
	
	public String getMemo(){
		return this.memo;
	}
			
	public void setOperatorId(Integer operatorId){
		this.operatorId = operatorId;
	}
	
	public Integer getOperatorId(){
		return this.operatorId;
	}
			
	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}
			
	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}

	public Float getAvgScore() {
		return avgScore;
	}

	public void setAvgScore(Float avgScore) {
		this.avgScore = avgScore;
	}

	public void setTenantId(String tenantId){
		this.tenantId = tenantId;
	}
	
	public String getTenantId(){
		return this.tenantId;
	}

	public Integer getIsFinishedExam() {
		return isFinishedExam;
	}

	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
