package com.sptg.estate.api.entity;

import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * title: AccessFacePushRecords
 * package: com.sptg.estate.api.entity
 * description: 授权人脸下发设备记录 实体类
 * 用于记录用于下发人脸到设备的记录。
 * 用户与设备的关联
 *
 *
 *
 */
@Setter
@Getter
@TableName(value = "estate_access_face_push_records")
public class AccessFacePushRecords {

    /**
     * 主键
     */
    @TableId(value = "l_id",type = IdType.AUTO)
    private Long id;

    /**
     * 用户类型
     * 住户：0
     * 服务人员：4
     */
    @TableField(value = "i_access_user_type")
    private Integer accessUserType;

    /**
     * 设备Id
     */
    @TableField(value = "l_device_id")
    private Long deviceId;

    /**
     * 开门用户的id
     */
    @TableField(value = "l_user_id")
    private Long userId;

    /**
     * 下发人脸信息
     */
    @TableField(value = "s_face_uri")
    private String faceUri;

    /**
     * 人脸有效开始时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "t_begin_date")
    private Date beginDate;

    /**
     * 人脸有效结束时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @TableField(value = "t_end_date")
    private Date endDate;

    /**
     * 下发时间
     */
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_access_date")
    private Date accessDate;

    /**
     * 启用禁用标记：{ 1：已启用，2：已禁用 }
     */
    @TableField(value = "i_enable")
    private Integer enable;

    /**
     * 下发到的设备类型：{1：一般设备，2：特殊设备}
     */
    @TableField(value = "i_send_device_type")
    private Integer sendDeviceType;

    /**
     * 创建时间
     */
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @TableField(value = "t_create_date")
    private Date createDate;

}
