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

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 java.io.Serializable;

/**
 * 人脸验证记录
 *
 * @Description:
 * @Author: xiatian
 * @Date: 2020-07-31
 */
public class FaceVerifyCacheBean implements Serializable {

    /**
     *
     */
    private static final long serialVersionUID = -3424843813633012427L;

    //主键
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    //考试记录ID
    @JsonSerialize(using = ToStringSerializer.class)
    private Long examRecordId;

    //相似度分数
    private Double similarity;

    //真实性验证结果
    private Double realness;

    //创建时间
    private Long createTime;

    //更新时间
    private Long updateTime;

    //first：初次开考，recover：恢复开考，process：过程中
    private ExamTypeEnum type;

    //图片保存路径
    private String photoUrl;

    //人脸数量
    private Integer faceCount;

    //异常类型
    private VerifyExceptionEnum exception;

    //验证时间戳
    private Long time;

    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 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 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;
    }

    public ExamTypeEnum getType() {
        return type;
    }

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

    public String getPhotoUrl() {
        return photoUrl;
    }

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

    public Integer getFaceCount() {
        return faceCount;
    }

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

    public VerifyExceptionEnum getException() {
        return exception;
    }

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

    public Long getTime() {
        return time;
    }

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