package com.keao.edu.user.api.entity;

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

import java.util.Date;

/**
 * 对应数据库表(exam_room):
 */
public class ExamRoom{

	private Long id;

	@ApiModelProperty(value = "考场名称")
	private String name;

	@ApiModelProperty(value = "考级项目编号")
	private Long examinationBasicId;
	
	@ApiModelProperty(value = "考试模式")
	private ExamModeEnum examMode;
	
	@ApiModelProperty(value = "考点编号")
	private Integer examLocationId;

	@ApiModelProperty(value = "考试专业名称")
	private String subjectNameList;

	@ApiModelProperty(value = "考试专业")
	private String subjectIdList;
	
	@ApiModelProperty(value = "主考老师编号")
	private Integer mainTeacherUserId;

	@ApiModelProperty(value = "主考老师名称")
	private String mainTeacherName;
	
	@ApiModelProperty(value = "助考老师（多个用逗号分隔）")
	private String assistantTeacherUserIdList;

	@ApiModelProperty(value = "助考老师名称")
	private String assistantTeacherUserNameList;

	@ApiModelProperty(value = "考试时间:[{'examStartTime':'','examEndTime':''}]")
	private String examTimeJson;
	
	@ApiModelProperty(value = "考试开始时间")
	private Date examStartTime;

	@ApiModelProperty(value = "考试结束时间")
	private Date examEndTime;

	private Integer organId;

	@ApiModelProperty(value = "考场状态0关闭1开启")
	private Integer openFlag;

	@ApiModelProperty(value = "考试状态1开始0关闭")
	private Integer examFlag;

	private Integer examPlanPushFlag;

	private Integer examRoomStudentNum;

	private boolean delFlag;
	
	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;
	
	/**  */
	private String tenantId;

	@ApiModelProperty(value = "需要屏蔽音频流的用户")
	private String shieldUserId;

	public String getShieldUserId() {
		return shieldUserId;
	}

	public void setShieldUserId(String shieldUserId) {
		this.shieldUserId = shieldUserId;
	}

	public Integer getExamFlag() {
		return examFlag;
	}

	public void setExamFlag(Integer examFlag) {
		this.examFlag = examFlag;
	}

	public ExamRoom() {
	}

	public ExamRoom(Long id, Integer examPlanPushFlag) {
		this.id = id;
		this.examPlanPushFlag = examPlanPushFlag;
	}

	public Integer getOpenFlag() {
		return openFlag;
	}

	public void setOpenFlag(Integer openFlag) {
		this.openFlag = openFlag;
	}

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

	public String getName() {
		return name;
	}

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

	public Long getExaminationBasicId() {
		return examinationBasicId;
	}

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

	public ExamModeEnum getExamMode() {
		return examMode;
	}

	public void setExamMode(ExamModeEnum examMode) {
		this.examMode = examMode;
	}

	public void setExamLocationId(Integer examLocationId){
		this.examLocationId = examLocationId;
	}
	
	public Integer getExamLocationId(){
		return this.examLocationId;
	}

	public String getMainTeacherName() {
		return mainTeacherName;
	}

	public void setMainTeacherName(String mainTeacherName) {
		this.mainTeacherName = mainTeacherName;
	}

	public String getAssistantTeacherUserNameList() {
		return assistantTeacherUserNameList;
	}

	public void setAssistantTeacherUserNameList(String assistantTeacherUserNameList) {
		this.assistantTeacherUserNameList = assistantTeacherUserNameList;
	}

	public String getSubjectNameList() {
		return subjectNameList;
	}

	public void setSubjectNameList(String subjectNameList) {
		this.subjectNameList = subjectNameList;
	}

	public void setSubjectIdList(String subjectIdList){
		this.subjectIdList = subjectIdList;
	}
	
	public String getSubjectIdList(){
		return this.subjectIdList;
	}
			
	public void setMainTeacherUserId(Integer mainTeacherUserId){
		this.mainTeacherUserId = mainTeacherUserId;
	}
	
	public Integer getMainTeacherUserId(){
		return this.mainTeacherUserId;
	}
			
	public void setAssistantTeacherUserIdList(String assistantTeacherUserIdList){
		this.assistantTeacherUserIdList = assistantTeacherUserIdList;
	}
	
	public String getAssistantTeacherUserIdList(){
		return this.assistantTeacherUserIdList;
	}

	public Integer getOrganId() {
		return organId;
	}

	public void setOrganId(Integer organId) {
		this.organId = organId;
	}

	public void setDelFlag(boolean delFlag){
		this.delFlag = delFlag;
	}
	
	public boolean isDelFlag(){
		return this.delFlag;
	}
			
	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}

	public String getExamTimeJson() {
		return examTimeJson;
	}

	public void setExamTimeJson(String examTimeJson) {
		this.examTimeJson = examTimeJson;
	}

	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}


	public Date getExamStartTime() {
		return examStartTime;
	}

	public void setExamStartTime(Date examStartTime) {
		this.examStartTime = examStartTime;
	}

	public Date getExamEndTime() {
		return examEndTime;
	}

	public void setExamEndTime(Date examEndTime) {
		this.examEndTime = examEndTime;
	}

	public Integer getExamPlanPushFlag() {
		return examPlanPushFlag;
	}

	public void setExamPlanPushFlag(Integer examPlanPushFlag) {
		this.examPlanPushFlag = examPlanPushFlag;
	}

	public Integer getExamRoomStudentNum() {
		return examRoomStudentNum;
	}

	public void setExamRoomStudentNum(Integer examRoomStudentNum) {
		this.examRoomStudentNum = examRoomStudentNum;
	}

	public void setTenantId(String tenantId){
		this.tenantId = tenantId;
	}
	
	public String getTenantId(){
		return this.tenantId;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
