package com.yuchen.saas.park.api.entity.approve;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.nest.springwrap.core.mp.base.BaseEntity;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("people_approve")
@ApiModel(value="人员审批对象", description="人员审批表")
public class PeopleApprove extends BaseEntity {
    /**
     1	业主
     2	租客
     3	家属
     4	家政
     5	成员
     6	其他
     7	物业管理
     8	物业人员
     9	安保人员
     10	保洁人员
     11	维修人员
     12	其他
     13	外卖/快递
     14	家政人员
     15	装修人员
     16	临时人员
     17	白名单人员
     18	黑名单人员
     */

    @ApiModelProperty(value = "审批类型 1\t业主\n" +
            "     2\t租客\n" +
            "     3\t家属\n" +
            "     4\t家政\n" +
            "     5\t成员\n" +
            "     6\t其他")
    private Integer approveType;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "申请时间")
    private Date applyTime;

    @ApiModelProperty(value = "申请状态 1：待确认 2：已确认 3：已通过 4：已驳回 5：已取消")
    private String applyStatus;

    @ApiModelProperty(value = "园区id")
    private Long parkId;

    @ApiModelProperty(value = "楼栋id")
    private Long buildingId;

    @ApiModelProperty(value = "单元id")
    private Long buildingUnitId;

    @ApiModelProperty(value = "楼层id")
    private Long floorId;

    @ApiModelProperty(value = "房间id")
    private Long roomId;

    @ApiModelProperty(value = "房屋名称")
    private String roomName;

    @ApiModelProperty(value = "业主类型 0：个人 1：企业")
    private String ownerType;

    @ApiModelProperty(value = "住户身份")
    private Long tenantType;

    @ApiModelProperty(value = "名字")
    private String name;

    @ApiModelProperty(value = "性别")
    private String sex;

    @ApiModelProperty(value = "证件类型")
    private String idType;

    @ApiModelProperty(value = "证件号码")
    private String idCard;

    @ApiModelProperty(value = "联系人")
    private String contact;

    @ApiModelProperty(value = "联系电话")
    private String contactPhone;

    @ApiModelProperty(value = "文件路径")
    private String filePath;

    @ApiModelProperty(value = "住户照片")
    private String facePhoto;

    @ApiModelProperty(value = "确认人员")
    private String confirmUser;

    @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "确认时间")
    private Date confirmTime;

    @ApiModelProperty(value = "备注信息")
    private String remark;

    @ApiModelProperty(value = "社区名称")
    private String parkName;

    @ApiModelProperty(value = "楼栋名称")
    private String buildingName;

    @ApiModelProperty(value = "单元名称")
    private String buildingUnitName;


    @ApiModelProperty(value = "证件照片")
    private String idPhoto;

    @ApiModelProperty(value = "证件照片反面")
    private String idPhotoBack;

    @ApiModelProperty(value = "附件")
    private String attachments;

    @TableField(exist = false)
    @ApiModelProperty(value = "不动产编号")
    private String resourceCode;

    @TableField(exist = false)
    @ApiModelProperty(value = "交房日期")
    private Date deliveryDate;

    @ApiModelProperty(value = "申请来源 1: 小程序 ")
    private String applySource;

    @TableField(exist = false)
    @ApiModelProperty(value = "房源状态")
    private Integer houseStatus;

}
