/*
 * Copyright [2022] [https://www.xiaonuo.vip]
 *
 * Snowy采用APACHE LICENSE 2.0开源协议，您在使用过程中，需要注意以下几点：
 *
 * 1.请不要删除和修改根目录下的LICENSE文件。
 * 2.请不要删除和修改Snowy源码头部的版权声明。
 * 3.本项目代码可免费商业使用，商业使用请保留源码和相关描述文件的项目出处，作者声明等。
 * 4.分发源码时候，请注明软件出处 https://www.xiaonuo.vip
 * 5.不可二次分发开源参与同类竞品，如有想法可联系团队xiaonuobase@qq.com商议合作。
 * 6.若您的项目无法满足以上几点，需要更多功能代码，获取Snowy商业授权许可，请在官网购买授权，地址为 https://www.xiaonuo.vip
 */
package vip.xiaonuo.disk.domain;

import com.baomidou.mybatisplus.annotation.*;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.math.BigDecimal;
import java.util.Date;

/**
 * 课程信息表实体
 *
 * @author honorfire
 * @date  2025/06/20 15:00
 **/
@Getter
@Setter
@TableName("COURSE_INFO")
public class CourseInfo {

    /** 课程主键ID */
    @TableId
    @ApiModelProperty(value = "课程主键ID", position = 1)
    private String courseId;

    /** 课程名称 */
    @ApiModelProperty(value = "课程名称", position = 2)
    private String courseName;

    /** 课程类型 */
    @ApiModelProperty(value = "课程类型", position = 3)
    private String courseType;

    /** 课程详细介绍 */
    @ApiModelProperty(value = "课程详细介绍", position = 4)
    private String courseDesc;

    /** 课程封面id */
    @ApiModelProperty(value = "课程封面id", position = 5)
    private String coverImageId;

    /** 授课教师/人员ID */
    @ApiModelProperty(value = "授课教师/人员ID", position = 6)
    private String teacherId;

    /** 所属院系ID */
    @ApiModelProperty(value = "所属院系ID", position = 7)
    private String collegeId;

    /** 附件id */
    @ApiModelProperty(value = "附件id", position = 8)
    private String fileId;

    /** 课程发布时间 */
    @ApiModelProperty(value = "课程发布时间", position = 9)
    private Date publishTime;

    /** 课程时间限制类型 0-无限制 1-有时间限制 */
    @ApiModelProperty(value = "课程时间限制类型 0-无限制 1-有时间限制", position = 10)
    private String timeLimitType;

    /** 课程有效开始时间 */
    @ApiModelProperty(value = "课程有效开始时间", position = 11)
    private Date startTime;

    /** 课程有效结束时间 */
    @ApiModelProperty(value = "课程有效结束时间", position = 12)
    private Date endTime;

    /** 课程播放/浏览次数 */
    @ApiModelProperty(value = "课程播放/浏览次数", position = 13)
    private String viewCount;

    /** 删除标记 */
    @ApiModelProperty(value = "删除标记", position = 14)
    @TableLogic
    @TableField(fill = FieldFill.INSERT)
    private String deleteFlag;

    /** 创建时间 */
    @ApiModelProperty(value = "创建时间", position = 15)
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 创建人 */
    @ApiModelProperty(value = "创建人", position = 16)
    @TableField(fill = FieldFill.INSERT)
    private String createUser;

    /** 更新时间 */
    @ApiModelProperty(value = "更新时间", position = 17)
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /** 更新人 */
    @ApiModelProperty(value = "更新人", position = 18)
    @TableField(fill = FieldFill.UPDATE)
    private String updateUser;

    /** 所属专业ID */
    @ApiModelProperty(value = "所属专业ID", position = 19)
    private String majorId;

    /** 审核状态id，0未发布，1待审核，2已发布，3未通过，4已删除 */
    @ApiModelProperty(value = "审核状态id，0未发布，1待审核，2已发布，3未通过，4已删除", position = 20)
    private String verifyStatus;

    /**
     * 是否有课程资源，0没有1有
     */
    @ApiModelProperty(value = "是否有课程资源，0没有1有", position = 13)
    private String haveresource;

    /** 课程信息 */
    @ApiModelProperty(value = "课程信息", position = 13)
    private String info;

}
