package com.sundot.airport.exam.logic.manage.model.params.sub;

import com.sundot.airport.exam.enums.CourseTypeEnum;

import java.util.List;

/**
 * <b>功能名：</b>ProdCourseParam<br>
 * <b>说明：</b> 产品课程配置参数 <br>
 * <b>著作权：</b> Copyright (C) 2021 HUIFANEDU  CORPORATION<br>
 * <b>修改履历：
 *
 * @author 2021-06-28 liangxiao
 */
public class ProdCourseParam {

    /**
     * 课程类型
     * - EXAM考试；VIDEO视频
     */
    private CourseTypeEnum pcType;

    /**
     * 上级课程主键
     */
    private String pcParentId;

    /**
     * 课程级别（常量1-9）
     */
    private Integer pcCourseLv;

    /**
     * 产品库表业务主键
     */
    private String prId;

    /**
     * 课程排序
     */
    private Integer sort;

    /**
     * 课程名称
     */
    private String pcName;

    /**
     * 视频课程的背景图/封面图
     */
    private String pcCoverImg;

    /**
     * 资源表业务主键（视频表业务id or 考试表业务id）
     */
    private String pcSourceId;

    /**
     * 课程系列简介
     */
    private String pcIntro;

    /**
     * 课程系列详情图
     */
    private String pcDetailImg;

    /**
     * 课程时长（单位：秒）
     */
    private Integer pcCourseTime;

    /**
     * 是否为公开课
     */
    private Boolean pcEnablePublic;

    /**
     * 产品课程的业务主键
     */
    private String pcId;

    /**
     * 子课程列表
     */
    private List<ProdCourseParam> children;

    @Override
    public String toString() {
        return "ProdCourseParam{" +
                "pcType=" + pcType +
                ", pcParentId='" + pcParentId + '\'' +
                ", pcCourseLv=" + pcCourseLv +
                ", prId='" + prId + '\'' +
                ", sort=" + sort +
                ", pcName='" + pcName + '\'' +
                ", pcCoverImg='" + pcCoverImg + '\'' +
                ", pcSourceId='" + pcSourceId + '\'' +
                ", pcIntro='" + pcIntro + '\'' +
                ", pcDetailImg='" + pcDetailImg + '\'' +
                ", pcCourseTime=" + pcCourseTime +
                ", pcEnablePublic=" + pcEnablePublic +
                ", pcId='" + pcId + '\'' +
                ", children=" + children +
                '}';
    }

    public CourseTypeEnum getPcType() {
        return pcType;
    }

    public void setPcType(CourseTypeEnum pcType) {
        this.pcType = pcType;
    }

    public String getPcParentId() {
        return pcParentId;
    }

    public void setPcParentId(String pcParentId) {
        this.pcParentId = pcParentId;
    }

    public Integer getPcCourseLv() {
        return pcCourseLv;
    }

    public void setPcCourseLv(Integer pcCourseLv) {
        this.pcCourseLv = pcCourseLv;
    }

    public String getPrId() {
        return prId;
    }

    public void setPrId(String prId) {
        this.prId = prId;
    }

    public Integer getSort() {
        return sort;
    }

    public void setSort(Integer sort) {
        this.sort = sort;
    }

    public String getPcName() {
        return pcName;
    }

    public void setPcName(String pcName) {
        this.pcName = pcName;
    }

    public String getPcCoverImg() {
        return pcCoverImg;
    }

    public void setPcCoverImg(String pcCoverImg) {
        this.pcCoverImg = pcCoverImg;
    }

    public String getPcSourceId() {
        return pcSourceId;
    }

    public void setPcSourceId(String pcSourceId) {
        this.pcSourceId = pcSourceId;
    }

    public String getPcIntro() {
        return pcIntro;
    }

    public void setPcIntro(String pcIntro) {
        this.pcIntro = pcIntro;
    }

    public String getPcDetailImg() {
        return pcDetailImg;
    }

    public void setPcDetailImg(String pcDetailImg) {
        this.pcDetailImg = pcDetailImg;
    }

    public Integer getPcCourseTime() {
        return pcCourseTime;
    }

    public void setPcCourseTime(Integer pcCourseTime) {
        this.pcCourseTime = pcCourseTime;
    }

    public Boolean getPcEnablePublic() {
        return pcEnablePublic;
    }

    public void setPcEnablePublic(Boolean pcEnablePublic) {
        this.pcEnablePublic = pcEnablePublic;
    }

    public String getPcId() {
        return pcId;
    }

    public void setPcId(String pcId) {
        this.pcId = pcId;
    }

    public List<ProdCourseParam> getChildren() {
        return children;
    }

    public void setChildren(List<ProdCourseParam> children) {
        this.children = children;
    }
}
