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.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;

/**
 * 驾校-训练记录 DO
 *
 * @author 若依
 */
@TableName("drive_school_train")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Train extends TenantBaseDO {
    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 课程ID
     */
    private String courseId;
    /**
     * 预约记录ID
     */
    private String reservationId;
    /**
     * 课程名称
     */
    private String courseName;
    /**
     * 科目（1-科目一；2-科目二；3科目三；4科目四）
     */
    private Integer subject;
    /**
     * 用户（学员）ID
     */
    private Long userId;
    /**
     * 用户（学员）姓名
     */
    private String userName;
    /**
     * 学员手机号
     */
    private String userMobile;
    /**
     * 教练ID
     */
    private Long coachId;
    /**
     * 教练姓名
     */
    private String coachName;
    /**
     * 训练地址id
     */
    private String addrId;
    /**
     * 训练地址
     */
    private String addr;
    /**
     * 训练日期（yyyy-MM-dd）
     */
    private String trainDay;
    /**
     * 教练打卡id
     */
    private String coachClockId;
    /**
     * 车辆id
      */
    private String carId;
    /**
     * 车牌号
     */
    private String carNo;
    /**
     * 交通方式(字典：school_transport_way)
     */
    private String transWay;
    /**
     * 预约方式(字典：school_reservation_way)
     */
    private String reservationWay;
    /**
     * 到场时间
     */
    private Date startTime;
    /**
     * 到场备注
     */
    private String startRemark;
    /**
     * 到场图片
     */
    private String startImages;
    /**
     * 离场时间
     */
    private Date endTime;
    /**
     * 离场备注
     */
    private String endRemark;
    /**
     * 离场图片
     */
    private String endImages;
    /**
     * 本次有效训练时长（分钟）
     */
    private Double trainTime;
    /**
     * 累计有效训练时长（分钟）到场打卡存的是本次训练前的累计时长，离场打卡后，存的是本次训练完后累计时长
     */
    private Double allTrainTime;
    /**
     * 是否已评价（0未评价|1已评价）
     */
    private Boolean ifEvaluate;
    /**
     * 评价ID
     */
    private String evaluateId;

    /**
     * 是否展示更多
     */
    @TableField(exist = false)
    private Boolean showMore;

}
