/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.community.houseuser.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.BaseEntity;
import java.time.LocalDateTime;
import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 住户表实体类
 *
 * @author BladeX
 * @since 2020-10-18
 */
@Data
@TableName("estate_houseuser")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "Houseuser对象", description = "住户表")
public class Houseuser extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 住户名字
	*/
		@ApiModelProperty(value = "住户名字")
		private String name;
	/**
	* 所属房间id
	*/
		@ApiModelProperty(value = "所属房间id")
		private Long roomId;
	/**
	* 所属房间名称
	*/
		@ApiModelProperty(value = "所属房间名称")
		private String roomName;
	/**
	* 所属社区id
	*/
		@ApiModelProperty(value = "所属社区id")
		private Long agencyId;
	/**
	* 所属社区名称
	*/
		@ApiModelProperty(value = "所属社区名称")
		private String agencyName;
	/**
	* 存储位置（通过该字段快速查询，所有的子节点）
	*/
		@ApiModelProperty(value = "存储位置（通过该字段快速查询，所有的子节点）")
		private String orgPosition;
	/**
	* 物业路径
	*/
		@ApiModelProperty(value = "物业路径")
		private String estatePosition;
	/**
	* 人脸审核状态：-1：未上传，0-待审核 1-审核通过 2-审核不通过
	*/
		@ApiModelProperty(value = "人脸审核状态：-1：未上传，0-待审核 1-审核通过 2-审核不通过")
		private Integer checkState;
	/**
	* 人脸审核意见 s_check_state=2(审核不通过)时必填
	*/
		@ApiModelProperty(value = "人脸审核意见 s_check_state=2(审核不通过)时必填 ")
		private String checkOpinion;
	/**
	* 住户类型 0-业主 1-成员 2-租户
	*/
		@ApiModelProperty(value = "住户类型 1-业主 2-成员 3-租户")
		private Integer type;
	/**
	* 手机号
	*/
		@ApiModelProperty(value = "手机号")
		private String tel;
	/**
	* 国籍，0 中国大陆 1 中国香港/澳门 2 中国台湾 3海外
	*/
		@ApiModelProperty(value = "国籍，0 中国大陆 1 中国香港/澳门 2 中国台湾 3海外")
		private Integer nationality;
	/**
	* 民族
	*/
		@ApiModelProperty(value = "民族")
		private Integer nation;
	/**
	* 政治面貌
	*/
		@ApiModelProperty(value = "政治面貌")
		private Integer political;
	/**
	* 文化程度
	*/
		@ApiModelProperty(value = "文化程度")
		private Integer education;
	/**
	* 证件号码 中国大陆:身份证；中国香港/澳门:港澳居民来往内地通行证；中国台湾:台湾居民来往内地通行证；海外:护照
	*/
		@ApiModelProperty(value = "证件号码 中国大陆:身份证；中国香港/澳门:港澳居民来往内地通行证；中国台湾:台湾居民来往内地通行证；海外:护照")
		private String idCard;
	/**
	* 籍贯（nationality = 0时,国籍为中国大陆）
	*/
		@ApiModelProperty(value = "籍贯（nationality = 0时,国籍为中国大陆）")
		private String birthPlace;
	/**
	* 护照照片url（没有域名，nationality = 3时,国籍为海外）
	*/
		@ApiModelProperty(value = "护照照片url（没有域名，nationality = 3时,国籍为海外）")
		private String passportImgUri;
	/**
	* 入境证明url（没有域名，nationality = 3时,国籍为海外）
	*/
		@ApiModelProperty(value = "入境证明url（没有域名，nationality = 3时,国籍为海外）")
		private String entryImgUri;
	/**
	* 性别  0-未定义  1-男 2-女
	*/
		@ApiModelProperty(value = "性别  0-未定义  1-男 2-女")
		private Integer sex;
	/**
	* 备注
	*/
		@ApiModelProperty(value = "备注")
		private String remark;
	/**
	* 脸部照片url（没有域名）
	*/
		@ApiModelProperty(value = "脸部照片url（没有域名）")
		private String imageUri;
	/**
	* 根据图片生成的faceId
	*/
		@ApiModelProperty(value = "根据图片生成的faceId")
		private String faceCode;
	/**
	* 图片创建来源类型，0-小程序添加 1-后台人脸采集或上传 2-app添加
	*/
		@ApiModelProperty(value = "图片创建来源类型，0-小程序添加 1-后台人脸采集或上传 2-app添加")
		private Integer createFaceImageType;
	/**
	* 所属单元id
	*/
		@ApiModelProperty(value = "所属单元id")
		private Long unitId;
	/**
	* 单元名称
	*/
		@ApiModelProperty(value = "单元名称")
		private String unitName;
	/**
	* 所属小区id
	*/
		@ApiModelProperty(value = "所属小区id")
		private Long residentialId;
	/**
	* 小区名称
	*/
		@ApiModelProperty(value = "小区名称")
		private String residentialName;
	/**
	* 小区省（id）
	*/
		@ApiModelProperty(value = "小区省（id）")
		private String regionProvince;
	/**
	* 小区市（id）
	*/
		@ApiModelProperty(value = "小区市（id）")
		private String regionCity;
	/**
	* 小区区/县（id）
	*/
		@ApiModelProperty(value = "小区区/县（id）")
		private String regionArea;
	/**
	* 根机构Id
	*/
		@ApiModelProperty(value = "根机构Id")
		private Long rootOrgId;
	/**
	* 住户来源创建类型，0-小程序添加 1-后台添加  2-后台导入 3-app添加
	*/
		@ApiModelProperty(value = "住户来源创建类型，0-小程序添加 1-后台添加  2-后台导入 3-app添加")
		private Integer createType;
	/**
	* 创建人id  当s_create_type=0/3时，存储的是userId 当s_create_type=1/2 存储得是accountId
	*/
		@ApiModelProperty(value = "创建人id  当s_create_type=0/3时，存储的是userId 当s_create_type=1/2 存储得是accountId")
		private Long createId;
	/**
	* 创建时间
	*/
		@ApiModelProperty(value = "创建时间")
		private Date createDate;
	/**
	* 人脸有效开始时间
	*/
		@ApiModelProperty(value = "人脸有效开始时间")
		private LocalDateTime faceBeginDate;
	/**
	* 人脸有效结束时间
	*/
		@ApiModelProperty(value = "人脸有效结束时间")
		private LocalDateTime faceEndDate;
	/**
	* 人脸启用状态：-1：没有人脸，0-待启用 1-已启动 2-已禁用
	*/
		@ApiModelProperty(value = "人脸启用状态：-1：没有人脸，0-待启用 1-已启动 2-已禁用")
		private Integer faceEnable;
	/**
	* 是否激活App
	*/
		@ApiModelProperty(value = "是否激活App")
		private Integer isMember;

	/**
	 * 人员分类
	 */
	@ApiModelProperty(value = "人员分类：常住；重点。。。。")
	private Integer personType;

	/**
	 * 老人类型
	 */
	@ApiModelProperty(value = "老人类型")
	private Integer elderlyType;


	/**
	 * 楼栋id
	 */
	@ApiModelProperty(value = "楼栋id")
	private Long buildingId;
	/**
	 * 楼栋名称
	 */
	@ApiModelProperty(value = "楼栋名称")
	private String buildingName;
	/**
	 * 楼层id
	 */
	@ApiModelProperty(value = "楼层id")
	private Long floorId;
	/**
	 * 楼层名称
	 */
	@ApiModelProperty(value = "楼层名称")
	private String floorName;

	@ApiModelProperty(value = "旧平台id")
	private String oldId;

	@ApiModelProperty(value = "人员标签")
	private String personTag;

	@ApiModelProperty(value="集约平台id")
	private String inhabitantId;

	@ApiModelProperty("集约平台用户房间关系id")
	private String userRoomInhabitantId;

	/**
	 * 1：已加密
	 * -1：未加密
	 */
	@ApiModelProperty(value = "是否已加密")
	private Integer encrypt;
}
