package cn.iocoder.yudao.module.jx.domain;

import cn.iocoder.yudao.annotation.Excel;
import cn.iocoder.yudao.module.jx.core.page.TenantBaDO;
import cn.iocoder.yudao.module.jx.payment.entity.DriveSchoolPay;
import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.util.Date;

/**
 * 预约练车对象 drive_school_reservation_course
 *
 * @author ruoyi
 * @date 2024-04-08
 */
@Data
public class DriveSchoolReservationCourse extends TenantBaDO
{
    private static final long serialVersionUID = 1L;

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

    /** 机构id */
    @Excel(name = "机构id")
    private Long deptId;

    /** 用户id */
    @Excel(name = "用户id")
    private Long userId;

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

   // 审核状态 0：待审核 1：通过 2 ：拒绝
    private String auditStatus;
    //拒绝原因
    private String refuseReason;

    //学员签到状态 0 ：只能签到 1：只能签退 2：都不能
    private String stuSignState;



    //教练签到状态 0 ：只能签到 1：只能签退 2：都不能
    private String coachSignState;

    /** 学员签到时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "学员签到时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stuSigninTime;

    /** 学员签退时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "学员签退时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date stuSignoutTime;

    /** 教练签到时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "教练签到时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date coachSigninTime;

    /** 教练签退时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "教练签退时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date coachSignoutTime;

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

    /** 时间段 1：上午 2：下午 */
    @Excel(name = "时间段 1：上午 2：下午")
    private String timePeriod;

    /** 教练id */
    @Excel(name = "教练id")
    private Long coachId;

    /** 教练名字 */
    @Excel(name = "教练名字")
    private String coachName;

    //手机号
    private String phone;

    /** 科目类型 2：科目二 3：科目三 5:科目五 */
    @Excel(name = "科目类型 2：科目二 3：科目三 5:科目五")
    private String accountType;
    //课程名字
    private String courseName;

    //预约类型 1：正常预约 2：立即练车
    private String type;

    //练车时长
    private double driveTime;

    private String currentDate;
    //练车总时长
    @TableField(exist = false)
    private double allDriveTime;

    /*用户*/
    private AdminUserDO sysUser;

    @TableField(exist = false)
    private DriveSchoolPay driveSchoolPay;

    @TableField(exist = false)
    private DriveSchoolCourse driveSchoolCourse;

}
