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: Room
 * package: com.sptg.estate.api.entity
 * description: 房间 实体类
 *
 *             
 *                 
 */
@Setter
@Getter
@TableName(value = "estate_room")
public class Room {

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

    /**
     * 房间名称
     */
    @TableField(value = "s_name")
    private String name;

    /**
     * 门牌号-限制数字，单元楼下唯一
     */
    @TableField(value = "s_house_number")
    private String houseNumber;

    /**
     * 所属单元id
     */
    @TableField(value = "l_unit_id")
    private Long unitId;

    /**
     * 所属单元id
     */
    @TableField(value = "l_unit_old_id")
    private Long unitOldId;

    /**
     * 所属单元名称
     */
    @TableField(value = "s_unit_name")
    private String unitName;

    /**
     * 存储位置
     */
    @TableField(value = "s_org_position")
    private String orgPosition;

    /**
     * 物业路径
     */
    @TableField(value = "s_estate_position")
    private String estatePosition;

    /**
     * 户型
     */
    @TableField(value = "s_house_type")
    private String houseType;



    /**
     * 装饰
     */
    @TableField(value = "s_ornament")
    private String ornament;

    /**
     * 房屋朝向
     */
    @TableField(value = "s_orientation")
    private String orientation;

    /**
     * 房屋面积m2
     */
    @TableField(value = "d_area")
    private Double area;

    /**
     * 住户数量
     */
    @TableField(value = "i_user_number")
    private Integer userNumber;

    /**
     * 序号
     */
    @TableField(value = "i_serial")
    private Integer serial;

    /**
     * 备注
     */
    @TableField(value = "s_remark")
    private String remark;

    /**
     * 删除标记：{ -1：已删除，0：正常 }
     */
    @TableField(value = "i_status")
    private Integer status;

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

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

    /**
     * 所属小区id
     */
    @TableField(value = "s_residential_name")
    private String residentialName;

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

    /**
     * 创建人Id
     */
    @TableField(value = "l_create_account_id")
    private Long createAccountId;

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

    /**
     * 原数据的Id
     */
    @TableField(value = "old_id")
    private String oldId;

    /**
     * 楼层
     */
    @TableField(value = "s_floor")
    private String floor;

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

    /**
     * 楼栋id
     */
    @TableField(value = "l_building_old_id")
    private Long buildingOldId;

    /**
     * 楼栋名称
     */
    @TableField(value = "l_building_name")
    private String buildingName;

    /**
     * 楼层id
     */
    @TableField(value = "l_floor_id")
    private Long floorId;

    /**
     * 楼层id
     */
    @TableField(value = "l_floor_old_id")
    private Long floorOldId;

    /**
     * 楼层名称
     */
    @TableField(value = "l_floor_name")
    private String floorName;

    /**
     * 人数
     */
    @TableField(value = "l_person_number")
    private String personNumber;



    /**
     *  扩展属性
     *  住户在房间下的身份
     *  0-业主 1-成员 2-租户 3-访客
     */
    @TableField(exist = false)
    private Integer relationshipType;

    /**
     *  人脸url
     */
    @TableField(exist = false)
    private String imageUri;

    /**
     * 人脸启用状态：0-待启用 1-已启用 2-已禁用
     */
    @TableField(exist = false)
    private Integer faceEnable;
    /**
     * 住户id
     */
    @TableField(exist = false)
    private Long userId;
    /**
     * 身份证号
     */
    @TableField(exist = false)
    private String idcard;

}
