package jnpf.model.cultivate.v2.course.web.vo;

import jnpf.model.cultivate.v2.course.vo.app.V2CultivateChapterTestAddDTO;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 课程章节
 */
@Data
public class V2CultivateCourseChapterVo {

    /**
     * id
     */
    private String id;
    /**
     * 课程主键ID
     */
    @NotBlank(message = "课程主键ID不能为空")
    private String courseId;

    /**
     * 章节名称
     */
    @NotBlank(message = "章节名称不能为空")
    private String name;

    /**
     * 来源：0-本地上传，1-资料库
     */
    private Integer source;

    /**
     * 排序码,1,2,3
     */
    @NotNull(message = "排序码不能为空")
    private Integer sortCode;

    /**
     * 附件地址，多个用逗号隔开
     */
    private String annex;

    /**
     * 附件名称，多个用逗号隔开
     */
    private String annexName;

    /**
     * 视频方向： 1-竖屏 2-横屏
     */
    private Integer videoActionType;

    /**
     * 详细描述
     */
    private String detailDesc;

    /**
     * 时长如果为音频或视频时，需要插入（秒）
     */
    private Integer duration;

    /**
     * 是否开启随堂测试,0开启，1不开启
     */
    private Integer whetherTesting;

    /**
     * 图文格式最短学习时长设置，单位秒
     */
    private Integer forcedStudy;

    /**
     * 文件大小,多个逗号分开
     */
    private String size;

    /**
     * 随堂测试
     */
    private List<V2CultivateChapterTestAddDTO> cultivateChapterTest;

    private List<V2CultivateCourseChapterVo> childChapter;

    /**
     * 课件类型，0文档，1图片，2视频，3音频
     */
    private Integer chapterType;


    /**
     * 父级ID,0-顶层
     */
    private String parentId;

    /**
     * 层级路径，例如：1-2-3
     */
    private String path;

    /**
     * 用户学习状态 1已学习，0未学习
     */
    private Integer studyState;

    /**
     * 用户学习时长
     */
    private Integer studyChapterTime;

    /**
     * 资料库id
     */
    private String libraryId;


}