package cn.iocoder.yudao.module.train.entity;

import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import javax.validation.constraints.NotBlank;

/**
 * 预约练车 DO
 *
 * @author 若依
 */
@TableName("drive_school_reservation_course")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ReservationCourse extends TenantBaseDO {
    /**
     * 主键id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 课程ID
     */
    private String courseId;
    /**
     * 教练id
     */
    private Long coachId;
    /**
     * 用户id
     */
    private Long userId;
    /**
     * 用户姓名
     */
    private String userName;
    /**
     * 课程名称
     */
    private String courseName;
    /**
     * 教练名字
     */
    private String coachName;
    /**
     * 预约日期 yyyy-MM-dd
     */
    @NotBlank(message = "预约日期不能为空")
    private String reservDay;
    /**
     * 时间段（字典：school_reserv_time）09:00-10:00
     */
    @NotBlank(message = "预约时间不能为空")
    private String reservTime;
    /**
     * 科目（1-科目一；2-科目二；3科目三；4科目四）
     */
    private Integer subject;
    /**
     * 预约类型 1：正常预约 2：立即练车
     */
    private String type;
    /**
     * 备注
     */
    private String refuseReason;
    /**
     * 教练审核状态 0：拒绝 ；1：通过 ；null ：待审核
     */
    private Boolean status;
    /**
     * 用户是否取消(0未取消|1已取消)
     */
    private Boolean ifCancel;

}