package com.ruoyi.base.domain;

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

/**
 * 访客白名单对象 robot_ops_whitelist
 *
 * @author ruoyi
 * @date 2026-04-29
 */
public class RobotOpsWhitelist extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

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

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

    /** 身份证号 */
    @Excel(name = "身份证号")
    private String idCardNo;

    /** 人脸照片地址，用于机器人侧照片比对 */
    @Excel(name = "人脸照片地址，用于机器人侧照片比对")
    private String faceImageUrl;

    /** 有效开始时间，不填表示立即生效 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效开始时间，不填表示立即生效", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validStartTime;

    /** 有效结束时间，不填表示长期有效 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "有效结束时间，不填表示长期有效", width = 30, dateFormat = "yyyy-MM-dd")
    private Date validEndTime;

    /** 启用状态：0停用，1启用 */
    @Excel(name = "启用状态：0停用，1启用")
    private String status;

    /** 人员类型 */
    @Excel(name = "人员类型")
    private Long whitelistType;

    /** 来源类型 */
    @Excel(name = "来源类型")
    private Long sourceType;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }

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

    public String getName()
    {
        return name;
    }

    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMobile()
    {
        return mobile;
    }

    public void setIdCardNo(String idCardNo)
    {
        this.idCardNo = idCardNo;
    }

    public String getIdCardNo()
    {
        return idCardNo;
    }

    public void setFaceImageUrl(String faceImageUrl)
    {
        this.faceImageUrl = faceImageUrl;
    }

    public String getFaceImageUrl()
    {
        return faceImageUrl;
    }

    public void setValidStartTime(Date validStartTime)
    {
        this.validStartTime = validStartTime;
    }

    public Date getValidStartTime()
    {
        return validStartTime;
    }

    public void setValidEndTime(Date validEndTime)
    {
        this.validEndTime = validEndTime;
    }

    public Date getValidEndTime()
    {
        return validEndTime;
    }

    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }

    public void setWhitelistType(Long whitelistType)
    {
        this.whitelistType = whitelistType;
    }

    public Long getWhitelistType()
    {
        return whitelistType;
    }

    public void setSourceType(Long sourceType)
    {
        this.sourceType = sourceType;
    }

    public Long getSourceType()
    {
        return sourceType;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("id", getId())
                .append("name", getName())
                .append("mobile", getMobile())
                .append("idCardNo", getIdCardNo())
                .append("faceImageUrl", getFaceImageUrl())
                .append("validStartTime", getValidStartTime())
                .append("validEndTime", getValidEndTime())
                .append("status", getStatus())
                .append("remark", getRemark())
                .append("createTime", getCreateTime())
                .append("updateTime", getUpdateTime())
                .append("whitelistType", getWhitelistType())
                .append("sourceType", getSourceType())
                .toString();
    }
}
