package com.ruoyi.system.domain.visitor;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 来访管理对象 visitor_manage
 * 
 * @author boman
 * @date 2025-02-14
 */
public class VisitorManage extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 来访主键 */
    private Long visitorManageId;

    /** 门户id */
    @Excel(name = "门户id")
    private Long portalId;

    /** 详细门牌号 */
    @Excel(name = "详细门牌号")
    private String houseAddress;

    /** 访客姓名 */
    @Excel(name = "访客姓名")
    private String name;

    /** 来访人数 */
    @Excel(name = "来访人数")
    private String num;

    /** 来访事由 */
    @Excel(name = "来访事由")
    private String reason;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String mobileNumber;

    /** 是否驾车 N:否 Y:是 */
    @Excel(name = "是否驾车 N:否 Y:是")
    private String isCar;

    /** 车牌号码 */
    @Excel(name = "车牌号码")
    private String plateNumber;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date reserveTime;

    /** 来访时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "来访时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date visitorTime;

    /** 状态 1：预约成功 2：已来访 3：已过期 */
    @Excel(name = "状态 1：预约成功 2：已来访 3：已过期")
    private String status;

    /** 人脸信息 */
    @Excel(name = "人脸信息")
    private String photo;

    public void setVisitorManageId(Long visitorManageId) 
    {
        this.visitorManageId = visitorManageId;
    }

    public Long getVisitorManageId() 
    {
        return visitorManageId;
    }
    public void setPortalId(Long portalId) 
    {
        this.portalId = portalId;
    }

    public Long getPortalId() 
    {
        return portalId;
    }
    public void setHouseAddress(String houseAddress) 
    {
        this.houseAddress = houseAddress;
    }

    public String getHouseAddress() 
    {
        return houseAddress;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setNum(String num) 
    {
        this.num = num;
    }

    public String getNum() 
    {
        return num;
    }
    public void setReason(String reason) 
    {
        this.reason = reason;
    }

    public String getReason() 
    {
        return reason;
    }
    public void setMobileNumber(String mobileNumber) 
    {
        this.mobileNumber = mobileNumber;
    }

    public String getMobileNumber() 
    {
        return mobileNumber;
    }
    public void setIsCar(String isCar) 
    {
        this.isCar = isCar;
    }

    public String getIsCar() 
    {
        return isCar;
    }
    public void setPlateNumber(String plateNumber) 
    {
        this.plateNumber = plateNumber;
    }

    public String getPlateNumber() 
    {
        return plateNumber;
    }
    public void setReserveTime(Date reserveTime) 
    {
        this.reserveTime = reserveTime;
    }

    public Date getReserveTime() 
    {
        return reserveTime;
    }
    public void setVisitorTime(Date visitorTime) 
    {
        this.visitorTime = visitorTime;
    }

    public Date getVisitorTime() 
    {
        return visitorTime;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setPhoto(String photo) 
    {
        this.photo = photo;
    }

    public String getPhoto() 
    {
        return photo;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("visitorManageId", getVisitorManageId())
            .append("portalId", getPortalId())
            .append("houseAddress", getHouseAddress())
            .append("name", getName())
            .append("num", getNum())
            .append("reason", getReason())
            .append("mobileNumber", getMobileNumber())
            .append("isCar", getIsCar())
            .append("plateNumber", getPlateNumber())
            .append("reserveTime", getReserveTime())
            .append("visitorTime", getVisitorTime())
            .append("status", getStatus())
            .append("photo", getPhoto())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
