package org.dromara.system.domain.reservat.bo;


import com.baomidou.mybatisplus.annotation.TableField;
import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import java.util.Date;
import org.dromara.system.domain.reservat.XiaoyuanReservat;

/**
 * 校园预约业务对象 xiaoyuan_reservat
 *
 * @author boman
 * @date 2023-09-12
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = XiaoyuanReservat.class, reverseConvertGenerate = false)
public class XiaoyuanReservatBo extends BaseEntity {

    /**
     * 校园预约ID
     */
    //@NotNull(message = "校园预约ID不能为空", groups = { EditGroup.class })
    private Long reservatId;

    /**
     * 租户编号
     */
    private String tenantId;

    /**
     * 教职工姓名
     */
    //@NotBlank(message = "教职工姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherName;

    /**
     * 教职工手机号
     */
    //@NotBlank(message = "教职工手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String teacherPhone;

    /**
     * 来访者姓名
     */
    //@NotBlank(message = "来访者姓名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitName;

    /**
     * 来访者手机号
     */
    //@NotBlank(message = "来访者手机号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitPhone;

    /**
     * 来访者身份证
     */
   // @NotBlank(message = "来访者身份证不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitIdCard;

    /**
     * 来访者事由
     */
    //@NotBlank(message = "来访者事由不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitReason;

    /**
     * 来访者补充事由
     */
    //@NotBlank(message = "来访者补充事由不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitRemark;

    /**
     * 预约日期
     */
    //@NotNull(message = "预约日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitDate;

    /**
     * 预约时间
     */
    //@NotNull(message = "预约时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitTime;

    /**
     * 预约时间
     */
    //@NotNull(message = "预约时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitDateTime;

    /**
     * 预约二维码
     */
    //@NotBlank(message = "预约二维码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitQr;

    /**
     * 预约状态 1:等待审核 2:未审核 3:已审核
     */
    //@NotBlank(message = "预约状态 1:等待审核 2:未审核 3:已审核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitType;

    /**
     * 是否入场 1:未入场 2:已入场
     */
    //@NotBlank(message = "是否入场 1:未入场 2:已入场不能为空", groups = { AddGroup.class, EditGroup.class })
    private String visitStatus;

    /**
     * 备注
     */
    //@NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 查询的时间条件 1:今天 2:昨天 3:近7天 4:近30天
     */
    @TableField(exist = false)
    private String dataType;


}
