/*
 *      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.person.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import org.springblade.core.mp.base.BaseEntity;
import java.util.Date;

import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * 服务人员实体类
 *
 * @author BladeX
 * @since 2021-05-19
 */
@Data
@TableName("personnel_server_user")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "ServerUser对象", description = "服务人员")
public class ServerUserBak extends BaseEntity {

	private static final long serialVersionUID = 1L;

	/**
	* 姓名
	*/
		@ApiModelProperty(value = "姓名")
		private String name;
	/**
	* 性别  0-未定义  1-男 2-女
	*/
		@ApiModelProperty(value = "性别  0-未定义  1-男 2-女")
		private Integer sex;
	/**
	* 省
	*/
		@ApiModelProperty(value = "省")
		private String regionProvince;
	/**
	* 市
	*/
		@ApiModelProperty(value = "市")
		private String regionCity;
	/**
	* 区
	*/
		@ApiModelProperty(value = "区")
		private String regionArea;
	/**
	* 籍贯
	*/
		@ApiModelProperty(value = "籍贯")
		private String birthPlace;
	/**
	* 所属小区id
	*/
		@ApiModelProperty(value = "所属小区id")
		@JsonSerialize(using= ToStringSerializer.class)
		private Long residentialId;
	/**
	* 所属小区名称
	*/
		@ApiModelProperty(value = "所属小区名称")
		private String residentialName;
	/**
	* 人员类型：0-保安 1-快递 2-外卖 3-清洁 4-其他
	*/
		@ApiModelProperty(value = "人员类型：0-保安 1-快递 2-外卖 3-清洁 4-其他")
		private Integer type;
	/**
	* 联系电话
	*/
		@ApiModelProperty(value = "联系电话")
		private String tel;
	/**
	* 身份证
	*/
		@ApiModelProperty(value = "身份证")
		private String idCard;
	/**
	* 备注
	*/
		@ApiModelProperty(value = "备注")
		private String remark;
	/**
	* 0-启用  1-禁用
	*/
		@ApiModelProperty(value = "0-启用  1-禁用")
		private Integer isEnable;
	/**
	* 存储位置（通过该字段快速查询，所有的子节点）
	*/
		@ApiModelProperty(value = "存储位置（通过该字段快速查询，所有的子节点）")
		private String orgPosition;
	/**
	* 人脸启用状态：0-待启用 1-已启动 2-已禁用
	*/
		@ApiModelProperty(value = "人脸启用状态：0-待启用 1-已启动 2-已禁用")
		private Integer faceEnable;
	/**
	* 单元名称集合
	*/
		@ApiModelProperty(value = "单元名称集合")
		private String unitNames;
	/**
	* 单元id集合-若无则该服务人员可以进入该小区所有单元
	*/
		@ApiModelProperty(value = "单元id集合-若无则该服务人员可以进入该小区所有单元")
		private String unitIds;
	/**
	* 人脸图片
	*/
		@ApiModelProperty(value = "人脸图片")
		private String imageUri;
	/**
	* 图片md5
	*/
		@ApiModelProperty(value = "图片md5")
		private String imageMd5;
	/**
	* 人脸有效开始时间·
	*/
		@ApiModelProperty(value = "人脸有效开始时间·")
		@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
		@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
		private Date beginDate;
	/**
	* 人脸有效截止时间
	*/
		@ApiModelProperty(value = "人脸有效截止时间")
		@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
		@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
		private Date endDate;


}
