package org.springblade.openinterface.dto.doordevice;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * description: 出入记录 实体类
 */
@Setter
@Getter
public class AccessRecordsPushDto {

    /**
     * 主键
     */
    private Long id;

    private Long oldId;

    /**
     * 是否为管理员
     * 0：后台管理员
     * 1：社区服务人员
     * 2：普通住户
     * 3：访客
     * 4：管理机账号
     */
    private Integer isAdmin;

    /**
     * 用户类型
     * 非服务人员：0-业主 1-成员 2-租户
     * 服务--人员：0-保安 1-快递 2-外卖 3-清洁 4-其他
     * 访客：0-朋友  1-外卖 2-快递 3-其他
     */
    private Integer accessUserType;

    /**
     * 设备Id
     */
    private Long deviceId;

    /**
     * 设备名称
     */
    private String deviceName;

    /**
     * 设备序列号
     */
    private String serialNumber;

    /**
     * 设备安装位置
     */
    private String installPath;

    /**
     * 访客性别
     */
    private Integer accessSex;

    /**
     * 访客年龄age
     */
    private Integer accessAge;

    /**
     * 开门用户的id
     */
    private Long openUserId;

    /**
     * 开门用户的名称
     */
    private String openUserName;

    /**
     * 开门用户的手机号
     */
    private String openUserTel;

    /**
     * 抓拍图片
     */
    private String snapshoUri;

    /**
     * 开门类型 0- 人脸 1-密码 2-刷卡
     */
    private Integer openDoorType;

    /**
     * 出入卡号（当s_open_door_type = 2时，需要录入卡号）
     */
    private String accessCardNo;

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

    /**
     * 房间Id
     */
    private Long roomId;

    /**
     * 单元Id
     */
    private Long unitId;
    /**
     * 小区Id
     */
    private Long residentialId;

    /**
     * 存储位置（通过该字段快速查询，所有的子节点）
     */
    private String orgPosition;

    /**
     * 存储位置（通过该字段快速查询，所有的子节点）
     */
    private String estatePosition;

    /**
     * 根机构Id
     */
    private Long rootOrgId;

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

    /**
     * 1：进，2：出
     */
    private Integer isOut;

    /**
     * 对比图
     */
    private String compareUrl;

    /**
     * 对比度
     */
    private String contrast;

    /**
     * 小区名称
     */
    private String residentialName;

    /**
     * 单元名称
     */
    private String unitName;

    /**
     * 单元名称
     */
    private String roomName;

    /* -------------------------------------------------------------------------------------------------------------- */

    /**
     * 用户Id
     */
    private String userId;

}
