package com.qmth.themis.business.entity;

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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;

/**
 * @Description: 全局配置
 * @Param:
 * @return:
 * @Author: wangliang
 * @Date: 2020/6/25
 */
@ApiModel(value = "t_e_config", description = "全局配置")
public class TEConfig implements Serializable {
    private static final long serialVersionUID = 1L;

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

    @ApiModelProperty(value = "相似度比较阀值")
    @TableField(value = "similarity_threshold")
    private Double similarityThreshold;

    @ApiModelProperty(value = "活体动作个数")
    @TableField(value = "liveness_action_count")
    private Integer livenessActionCount;

    @ApiModelProperty(value = "活体单个动作重试次数")
    @TableField(value = "liveness_action_retry_count")
    private Integer livenessActionRetryCount;

    @ApiModelProperty(value = "活体单个动作限时秒数")
    @TableField(value = "liveness_action_limit_seconds")
    private Integer livenessActionLimitSeconds;

    @ApiModelProperty(value = "一个考试场次中未检测到人脸或有违规动作（左顾右盼、低头、转身、离开座位、人脸移除、遮挡等）次数超过3次（持续30秒连续帧画面违规记为次数1次）")
    @TableField(value = "no_face_count_error")
    private Integer noFaceCountError;

    @ApiModelProperty(value = "一个考试场次中检测到人脸与底照不符次数超过3次（持续30秒连续帧画面90%比对底照不符记为次数1次）")
    @TableField(value = "match_face_compare_error_count")
    private Integer matchFaceCompareErrorCount;

    @ApiModelProperty(value = "真实性检测数量")
    @TableField(value = "realness_count")
    private Integer realnessCount;

    @ApiModelProperty(value = "一个考试场次中检测到多张人脸超过3次（持续15秒连续帧画面90%存在多张人脸记为次数1次）")
    @TableField(value = "multiple_face_count_error")
    private Integer multipleFaceCountError;

    @ApiModelProperty(value = "一个考试场次中检测到人脸与底照不符次数超过3次（1分钟内80%检测到人脸与底照不符为1次）")
    @TableField(value = "total_face_compare_error_count")
    private Integer totalFaceCompareErrorCount;

    @ApiModelProperty(value = "过程人脸验证参数配置")
    @TableField(value = "in_process_face_verify_config")
    private String inProcessFaceVerifyConfig;

    @ApiModelProperty(value = "一个考试场次内人脸抓拍检测（D13：1分钟内进行连续人脸抓拍检测不到闭眼动作）失败累计次数超过6次")
    @TableField(value = "total_eye_close_error_count")
    private Integer totalEyeCloseErrorCount;

    public Integer getTotalEyeCloseErrorCount() {
        return totalEyeCloseErrorCount;
    }

    public void setTotalEyeCloseErrorCount(Integer totalEyeCloseErrorCount) {
        this.totalEyeCloseErrorCount = totalEyeCloseErrorCount;
    }

    public String getInProcessFaceVerifyConfig() {
        return inProcessFaceVerifyConfig;
    }

    public void setInProcessFaceVerifyConfig(String inProcessFaceVerifyConfig) {
        this.inProcessFaceVerifyConfig = inProcessFaceVerifyConfig;
    }

    public Integer getNoFaceCountError() {
        return noFaceCountError;
    }

    public void setNoFaceCountError(Integer noFaceCountError) {
        this.noFaceCountError = noFaceCountError;
    }

    public Integer getMatchFaceCompareErrorCount() {
        return matchFaceCompareErrorCount;
    }

    public void setMatchFaceCompareErrorCount(Integer matchFaceCompareErrorCount) {
        this.matchFaceCompareErrorCount = matchFaceCompareErrorCount;
    }

    public Integer getRealnessCount() {
        return realnessCount;
    }

    public void setRealnessCount(Integer realnessCount) {
        this.realnessCount = realnessCount;
    }

    public Integer getMultipleFaceCountError() {
        return multipleFaceCountError;
    }

    public void setMultipleFaceCountError(Integer multipleFaceCountError) {
        this.multipleFaceCountError = multipleFaceCountError;
    }

    public Integer getTotalFaceCompareErrorCount() {
        return totalFaceCompareErrorCount;
    }

    public void setTotalFaceCompareErrorCount(Integer totalFaceCompareErrorCount) {
        this.totalFaceCompareErrorCount = totalFaceCompareErrorCount;
    }

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getId() {
        return id;
    }

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

    public Double getSimilarityThreshold() {
        return similarityThreshold;
    }

    public void setSimilarityThreshold(Double similarityThreshold) {
        this.similarityThreshold = similarityThreshold;
    }

    public Integer getLivenessActionCount() {
        return livenessActionCount;
    }

    public void setLivenessActionCount(Integer livenessActionCount) {
        this.livenessActionCount = livenessActionCount;
    }

    public Integer getLivenessActionRetryCount() {
        return livenessActionRetryCount;
    }

    public void setLivenessActionRetryCount(Integer livenessActionRetryCount) {
        this.livenessActionRetryCount = livenessActionRetryCount;
    }

    public Integer getLivenessActionLimitSeconds() {
        return livenessActionLimitSeconds;
    }

    public void setLivenessActionLimitSeconds(Integer livenessActionLimitSeconds) {
        this.livenessActionLimitSeconds = livenessActionLimitSeconds;
    }
}
