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 java.util.Date;

/**
 * title: GuestAuthorize
 * package: com.sptg.estate.api.entity
 * description: 访客授权记录 实体类
 *
 *             
 *                 
 */
@Setter
@Getter
@TableName(value = "estate_guest_authorize")
public class GuestAuthorize {

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

    /**
     * 访客类型：0-朋友  1-外卖 2-快递 3-其他
     */
    @TableField(value = "i_guest_type")
    private Integer guestType;

    /**
     * 访客姓名
     */
    @TableField(value = "s_guest_name")
    private String guestName;

    /**
     * 访客电话
     */
    @TableField(value = "s_guest_tel")
    private String guestTel;

    /**
     * 访问的房间id
     */
    @TableField(value = "l_room_id")
    private Long roomId;

    /**
     * 访问的房间名称
     */
    @TableField(value = "s_room_name")
    private String roomName;


    /**
     * 访问的楼栋id
     */
    @TableField(value = "l_building_id")
    private Long buildingId;

    /**
     * 访问的楼栋名称
     */
    @TableField(value = "s_building_name")
    private String buildingName;
    /**
     * 访问的单元id
     */
    @TableField(value = "l_unit_id")
    private Long unitId;

    /**
     * 访问的单元id
     */
    @TableField(value = "s_unit_name")
    private String unitName;

    /**
     * 访问的住户id
     */
    @TableField(value = "l_user_id")
    private String userId;

    /**
     * 访问的住户名称
     */
    @TableField(value = "s_user_name")
    private String userName;

    /**
     * 开门密码--小区下面唯一 6位数字
     */
    @TableField(value = "i_password")
    private Integer password;

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

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

    /**
     * 所属小区id
     */
    @TableField(value = "l_residential_id")
    private Long residentialId;

    /**
     * 访问的小区名称
     */
    @TableField(value = "s_residential_name")
    private String residentialName;

    /**
     * 密码有效次数
     */
    @TableField(value = "i_valid_count")
    private Integer validCount;

    /**
     * 可用状态 :0-有效 1-失效
     */
    @TableField(value = "i_enable_type")
    private Integer enableType;

    /**
     * 存储位置（通过该字段快速查询，所有的子节点）
     */
    @TableField(value = "s_org_position")
    private String orgPosition;

    /**
     * 存储位置（通过该字段快速查询，所有的子节点）
     */
    @TableField(value = "s_estate_position")
    private String estatePosition;

    /**
     * 根机构Id
     */
    @TableField(value = "l_root_org_id")
    private Long rootOrgId;

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

}
