package com.bonus.face.domain;

import com.bonus.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.web.multipart.MultipartFile;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 对象 face_data
 *
 * @author bonus
 * @date 2024-12-06
 */
@EqualsAndHashCode(callSuper = true)
@Data
public class FaceDataEntity extends BaseEntity {
    /**
     * faceId
     */
    private Long faceId;

    /**
     * 分组code
     */
    @Size(max = 255, message = "groupCode的长度不能超过255个字符")  // 长度最大255
    private String groupCode;

    /**
     * 用户名称
     */
    @NotBlank(message = "用户名称不能为空")  // 用户名称不能为空
    @Size(max = 100, message = "名称的长度不能超过100个字符")  // 长度最大100
    private String name;

    /**
     * 用户身份证号
     */
    @NotBlank(message = "身份证号不能为空")  // 身份证号不能为空
    @Size(min = 18, max = 18, message = "身份证号必须为18位")  // 身份证号必须为18位
    private String idCard;

    /**
     * 其他信息
     */
    @Size(max = 1000, message = "其他信息的长度不能超过1000个字符")  // 长度最大1000
    private String otherInfo;

    /**
     * 人脸特征数据
     */
    private String embedding;

    /**
     * 人图片数据
     */
    private String imagePath;

    /**
     * 创建时间
     */
    private Date createdAt;

    /**
     * 修改时间
     */
    private Date updatedAt;

    /**
     * 人脸图片
     */
    private MultipartFile file;
}
