package com.qmth.themis.business.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.qmth.themis.business.enums.ExamTypeEnum;
import com.qmth.themis.business.enums.VerifyExceptionEnum;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * @Description: 人脸验证记录
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/6/25
 */
@ApiModel(value = "t_oe_face_verify_history", description = "人脸验证记录")
public class TOeFaceVerifyHistory implements Serializable {

    /**
	 * 
	 */
	private static final long serialVersionUID = 5187591142938085509L;

	@JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(value = "主键")
    @TableId(value = "id")
    private Long id;

	@JsonSerialize(using = ToStringSerializer.class)
    @ApiModelProperty(value = "考试记录ID")
    @TableField(value = "exam_record_id")
    private Long examRecordId;

    @ApiModelProperty(value = "人脸数量")
    @TableField(value = "face_count")
    private Integer faceCount;
    
    @ApiModelProperty(value = "相似度分数")
    @TableField(value = "similarity")
    private Double similarity;

    @ApiModelProperty(value = "真实性验证结果")
    @TableField(value = "realness")
    private Double realness;

    @ApiModelProperty(value = "创建时间")
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Long createTime;

    @ApiModelProperty(value = "更新时间")
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Long updateTime;

    @ApiModelProperty(value = "first：初次开考，recover：恢复开考，process：过程中")
    @TableField(value = "type")
    private ExamTypeEnum type;
    
    @ApiModelProperty(value = "异常类型")
    @TableField(value = "exception")
    private VerifyExceptionEnum exception;

    @ApiModelProperty(value = "图片保存路径")
    @TableField(value = "photo_url")
    private String photoUrl;
    
    @ApiModelProperty(value = "验证时间戳")
    @TableField(value = "time")
    private Long time;

	@ApiModelProperty(value = "批次号")
	@TableField(value = "batch_no")
	private String batchNo;

	public String getBatchNo() {
		return batchNo;
	}

	public void setBatchNo(String batchNo) {
		this.batchNo = batchNo;
	}

	public Long getId() {
		return id;
	}

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

	public Long getExamRecordId() {
		return examRecordId;
	}

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

	public Integer getFaceCount() {
		return faceCount;
	}

	public void setFaceCount(Integer faceCount) {
		this.faceCount = faceCount;
	}

	public Double getSimilarity() {
		return similarity;
	}

	public void setSimilarity(Double similarity) {
		this.similarity = similarity;
	}

	public Double getRealness() {
		return realness;
	}

	public void setRealness(Double realness) {
		this.realness = realness;
	}

	public ExamTypeEnum getType() {
		return type;
	}

	public void setType(ExamTypeEnum type) {
		this.type = type;
	}

	public VerifyExceptionEnum getException() {
		return exception;
	}

	public void setException(VerifyExceptionEnum exception) {
		this.exception = exception;
	}

	public String getPhotoUrl() {
		return photoUrl;
	}

	public void setPhotoUrl(String photoUrl) {
		this.photoUrl = photoUrl;
	}

	public Long getTime() {
		return time;
	}

	public void setTime(Long time) {
		this.time = time;
	}

	public static long getSerialVersionUID() {
		return serialVersionUID;
	}

	public Long getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Long createTime) {
		this.createTime = createTime;
	}

	public Long getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Long updateTime) {
		this.updateTime = updateTime;
	}
}
