package com.hc.business.model;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.validation.constraints.NotNull;
import java.io.Serializable;


/**
 * 课程表(Course)实体类
 *
 * @author java
 * @since 2020-11-09 10:04:45
 */

@ApiModel(value = "课程表")
public class Course implements Serializable {

    private static final long serialVersionUID = -89648020880598418L;


    /**
     * 主键ID
     */
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @ApiModelProperty(value = "主键ID")
    private Integer courseId;

    /**
     * 课程名称
     */
    @ApiModelProperty(value = "课程名称", required = true)
    @NotNull
    private String courseName;

    /**
     * 图标
     */
    @ApiModelProperty(value = "图标", required = true)
    @NotNull
    private String courseLogo;

    /**
     * 课程介绍
     */
    @ApiModelProperty(value = "课程介绍", required = true)
    @NotNull
    private String courseDesc;

    /**
     * 课程时长
     */
    @ApiModelProperty(value = "课程时长", required = true)
    private Float courseHours;

    /**
     * 教师
     */
    @ApiModelProperty(value = "教师", required = true)
    private String courseTeacher;

    /**
     * 课程是否上架。下架后不可见
     */
    @ApiModelProperty(value = "课程是否上架。下架后不可见")
    private Integer isValid;

    /**
     * 如果有多张详情图，相册
     */
    @ApiModelProperty(value = "如果有多张详情图，相册")
    private String gallery;

    /**
     * 保留位，暂不使用
     */
    @ApiModelProperty(value = "保留位，暂不使用")
    private Integer reserved1;

    /**
     * 试听时间
     */
    @ApiModelProperty(value = " 试听时间")
    private Integer time;

    public Course(Integer courseId, @NotNull String courseName,
                  @NotNull String courseLogo, @NotNull String courseDesc,
                  Float courseHours,
                  String courseTeacher, Integer isValid,
                  String gallery, Integer reserved1,Integer time) {
        this.courseId = courseId;
        this.courseName = courseName;
        this.courseLogo = courseLogo;
        this.courseDesc = courseDesc;
        this.courseHours = courseHours;
        this.courseTeacher = courseTeacher;
        this.isValid = isValid;
        this.gallery = gallery;
        this.reserved1 = reserved1;
        this.time = time;
    }

    public Course() {
    }

    public Integer getCourseId() {
        return courseId;
    }

    public void setCourseId(Integer courseId) {
        this.courseId = courseId;
    }

    public String getCourseName() {
        return courseName;
    }

    public void setCourseName(String courseName) {
        this.courseName = courseName;
    }

    public String getCourseLogo() {
        return courseLogo;
    }

    public void setCourseLogo(String courseLogo) {
        this.courseLogo = courseLogo;
    }

    public String getCourseDesc() {
        return courseDesc;
    }

    public void setCourseDesc(String courseDesc) {
        this.courseDesc = courseDesc;
    }

    public Float getCourseHours() {
        return courseHours;
    }

    public void setCourseHours(Float courseHours) {
        this.courseHours = courseHours;
    }

    public String getCourseTeacher() {
        return courseTeacher;
    }

    public void setCourseTeacher(String courseTeacher) {
        this.courseTeacher = courseTeacher;
    }

    public Integer getIsValid() {
        return isValid;
    }

    public void setIsValid(Integer isValid) {
        this.isValid = isValid;
    }

    public String getGallery() {
        return gallery;
    }

    public void setGallery(String gallery) {
        this.gallery = gallery;
    }

    public Integer getReserved1() {
        return reserved1;
    }

    public void setReserved1(Integer reserved1) {
        this.reserved1 = reserved1;
    }

    public Integer getTime() {
        return time;
    }

    public void setTime(Integer time) {
        this.time = time;
    }
}