package com.ningdatech.carapi.driver.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ningdatech.carapi.driver.constant.TrainingModeEnum;
import com.ningdatech.carapi.driver.constant.TrainingStatusEnum;
import com.ningdatech.carapi.driver.constant.TrainingTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author LiuXinXin
 * @since 2022-10-10
 */
@TableName("nd_training_organization")
@Data
public class TrainingOrganization implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    private LocalDateTime createOn;

    private LocalDateTime updateOn;

    private Long createBy;

    /**
     * 培训主题
     */
    private String trainingTopic;

    /**
     * 培训开始时间
     */
    private LocalDateTime trainingStartTime;

    /**
     * 培训结束时间
     */
    private LocalDateTime trainingEndTime;

    /**
     * 培训地点
     */
    private String address;


    /**
     * 培训模式 线上/线下
     * {@link TrainingModeEnum}
     */
    private String trainingMode;

    /**
     * 培训类型 取证培训/继续教育/换证培训/转码培训
     * {@link TrainingTypeEnum}
     */
    private String trainingType;

    /**
     * 联系人
     */
    private String contacts;

    /**
     * 联系电话
     */
    private String contactNumber;

    /**
     * 培训状态 启用/禁用
     * {@link TrainingStatusEnum}
     */
    private String trainingStatus;

    /**
     * 备注
     */
    private String remark;

    /**
     * 区域id
     */
    private Long regionId;

    /**
     * 考试试卷id
     */
    private Long examPaperId;

    /**
     * 考试试卷名称
     */
    private String examPaperName;

    /**
     * 随机试卷id
     */
    private String randomExamPaperId;

    @ApiModelProperty("考试开始时间")
    private LocalDateTime examStartTime;

    @ApiModelProperty("考试结束时间")
    private LocalDateTime examEndTime;
}
