package cn.iocoder.yudao.module.course.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 java.util.Date;

/**
 * 驾校-学员课程进度 DO
 *
 * @author 若依
 */
@TableName("drive_school_process")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Process extends TenantBaseDO {

    /**
     * id
     */
    @TableId(type = IdType.ASSIGN_UUID)
    private String id;
    /**
     * 课程ID
     */
    private String courseId;
    /**
     * 课程名称
     */
    private String courseName;
    /**
     * 用户（学员）ID
     */
    private Long userId;
    /**
     * 用户（学员）姓名
     */
    private String userName;
    /**
     * 学员手机号
     */
    private String userMobile;
    /**
     * 教练ID
     */
    private Long coachId;
    /**
     * 教练姓名
     */
    private String coachName;
    /**
     * 科目（1-科目一；2-科目二；3科目三；4科目四）
     */
    private Integer subject;
    /**
     * 考试次数（第一次考试为1，第二次为2...）
     */
    private Integer examNum;
    /**
     * 当前状态（0-未开始;1-训练中；2-已完成）
     */
    private String status;
    /**
     * 考试状态（0未通过；1已通过;9已送考；null未送考）
     */
    private String examStatus;
    /**
     * 考试分数
     */
    private Double examScore;
    /**
     * 图片证明材料
     */
    private String images;
    /**
     * 考试时间
     */
    private Date examTime;
    /**
     * 备注
     */
    private String remark;
    /**
     * 本科目累计训练时长
     */
    private Double trainTime;
    /**
     * 财务审核是否通过（0未通过；1通过；null待审核）
     */
    private Boolean financePass;
    /**
     * 财务审核备注
     */
    private String financeRemark;
    /**
     * 课程类型（字典：course_type）
     */
    private String courseType;

}