package com.yuchen.saas.torch.api.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.util.Date;

/**
 * @ClassName TorchVisitorVo
 * @Description 访客列表信息VO
 * @Author mqs
 * @Date 2023/6/12 20:01
 * @Version 1.0
 */
@Data
@HeadRowHeight(20)
public class TorchVisitorInfoCrewVO {

    /**
     * 访客信息主表ID
     */
    @ExcelIgnore
    @ApiModelProperty(name = "id", value = "访客信息主表ID")
    private Long id;
    /**
     * 预约拜访开始时间
     */
    @ColumnWidth(20)
    @ExcelProperty("预约拜访开始时间")
    @ApiModelProperty(name = "startTime", value = "预约拜访开始时间")
    private Date startTime;
    /**
     * 预约拜访结束时间
     */
    @ColumnWidth(20)
    @ExcelProperty("预约拜访结束时间")
    @ApiModelProperty(name = "endTime", value = "预约拜访结束时间")
    private Date endTime;
    /**
     * 被访者姓名
     */
    @ExcelIgnore
    @ApiModelProperty(name = "intervieweeId", value = "被访对象Id")
    private Long intervieweeId;
    /**
     * 被访者姓名
     */
    @ColumnWidth(15)
    @ExcelProperty("被访对象")
    @ApiModelProperty(name = "intervieweeName", value = "被访对象")
    @NotNull(message = "被访对象")
    private String intervieweeName;
    /**
     * 被访者手机号
     */
    @ColumnWidth(18)
    @ExcelProperty("被访手机号")
    @ApiModelProperty(name = "intervieweePhone", value = "被访手机号")
    private String intervieweePhone;
    /**
     * 访客名称
     */
    @ColumnWidth(15)
    @ExcelProperty("预约访客")
    @ApiModelProperty(name = "visitorName", value = "预约访客")
    @NotNull(message = "预约访客不能为空")
    private String visitorName;
    /**
     * 访客手机号
     */
    @ColumnWidth(15)
    @ExcelProperty("访客手机号")
    @ApiModelProperty(name = "visitorPhone", value = "访客手机号")
    private String visitorPhone;
    /**
     * 访客人数
     */
    @ColumnWidth(15)
    @ExcelProperty("访客人数")
    @ApiModelProperty(name = "visitorNum", value = "访客人数")
    private Integer visitorNum;
    /**
     * 访客车辆数
     */
    @ColumnWidth(15)
    @ExcelProperty("访客车辆数")
    @ApiModelProperty(name = "visitorCarNum", value = "访客车辆数")
    private Integer visitorCarNum;

    /**
     * 拜访事项
     */
    @ColumnWidth(20)
    @ExcelProperty("拜访事项")
    @ApiModelProperty(name = "visitMatter", value = "拜访事项")
    private String visitMatter;
    /**
     * 接待地点
     */
    @ColumnWidth(20)
    @ExcelProperty("接待地点")
    @ApiModelProperty(name = "visitorAddress", value = "接待地点")
    private String visitorAddress;
    /**
     * 停车优惠券发放 0:未发放;1:已发放
     */
    @ColumnWidth(15)
    @ExcelProperty("停车优惠券")
    @ApiModelProperty(name = "giveParkingCoupon", value = "停车优惠券发放 0:未发放;1:已发放")
    private String giveParkingCoupon;
    /**
     * 备注信息
     */
    @ColumnWidth(20)
    @ExcelProperty("备注信息")
    @ApiModelProperty(name = "remark", value = "备注信息")
    private String remark;
    /**
     * 到访时间
     */
    @ColumnWidth(20)
    @ExcelProperty("到访时间")
    @ApiModelProperty(name = "arriveTime", value = "到访时间")
    private Date arriveTime;
    /**
     * 预约时间
     */
    @ColumnWidth(20)
    @ExcelProperty("预约时间")
    @ApiModelProperty(name = "appointmentTime", value = "预约时间")
    private Date appointmentTime;
    /**
     * 到访状态 0:未到访;1:已到访;2:已取消;3:已过期
     */
    @ColumnWidth(20)
    @ExcelProperty("到访状态")
    @ApiModelProperty(name = "visitorState", value = "到访状态 0:未到访;1:已到访;2:已取消;3:已过期")
    private String visitorState;
    /**
     * 公司地址
     */
    @ExcelIgnore
    @ApiModelProperty(name = "companyAddress", value = "公司地址")
    private String companyAddress;

    /**
     * 接收访客预约组织信息
     */
    @ExcelIgnore
    @ApiModelProperty(name = "deptId", value = "组织id")
    private Long deptId;

}
