package com.bonus.canteen.core.user.domain;

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

import com.bonus.common.security.utils.SecurityUtils;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.bonus.common.core.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;
import com.bonus.common.core.web.domain.BaseEntity;

import javax.validation.constraints.NotBlank;

/**
 * 人员生物识别特征对象 sys_user_face
 * 
 * @author xsheng
 * @date 2025-04-03
 */


@Data
@ToString
public class UserFace implements Serializable {
    private static final long serialVersionUID = 1L;

    /** 主键自增 */
    private Long faceId;

    /** 人员id */
    @ApiModelProperty(value = "人员id")
    @NotBlank(message = "人员id必填")
    private Long userId;

    /** 照片地址 */
    @ApiModelProperty(value = "照片地址")
    @NotBlank(message = "照片地址必填")
    private String photoUrl;

    /** 特征码 */
    @Excel(name = "特征码")
    @ApiModelProperty(value = "特征码")
    private String features;

    /** 类型 1-照片 2-指纹 3-掌纹 4-掌静脉 5-指静脉 6-虹膜 */
    @Excel(name = "类型 1-照片 2-指纹 3-掌纹 4-掌静脉 5-指静脉 6-虹膜")
    @ApiModelProperty(value = "类型 1-照片 2-指纹 3-掌纹 4-掌静脉 5-指静脉 6-虹膜")
    private Long photoType = 1L;

    /** 特征码生成状态 1-未生成 2-生成成功 3-生成失败 */
    @Excel(name = "特征码生成状态 1-未生成 2-生成成功 3-生成失败")
    @ApiModelProperty(value = "特征码生成状态 1-未生成 2-生成成功 3-生成失败")
    private Long featuresBuildStatus;

    /** 特征码生成时间 */
    @ApiModelProperty(value = "特征码生成时间")
    private Date featuresBuildTime;

    /** 状态 1-正常 2-冻结 3-销户 4-挂失 */
    @ApiModelProperty(value = "状态 1-正常 2-冻结 3-销户 4-挂失")
    private String faceState;

    /** 特征码生成失败原因 */
    @Excel(name = "特征码生成失败原因")
    @ApiModelProperty(value = "特征码生成失败原因")
    private String errorMsg;

    /** 删除标志（0代表存在 2代表删除） */
    private String delFlag;

    private String createBy;

    private String createTime;

    private String updateBy;

    private String updateTime;
}
