package com.greenorange.promotion.model.vo.course;

import com.greenorange.promotion.model.vo.courseChapter.CourseChapterVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;


@Data
@Schema(description = "课程详情 视图对象")
public class CourseDetailVO implements Serializable {

    /**
     * 课程ID
     */
    @Schema(description = "课程ID", example = "1")
    private Long id;

    /**
     * 课程名称
     */
    @Schema(description = "课程名称", example = "数据分析工程师训练营")
    private String name;

    /**
     * 课程类别[考公考研,自媒体,财经]
     */
    @Schema(description = "课程类别[考公考研,自媒体,财经]", example = "自媒体")
    private String type;

    /**
     * 课程概述（富文本）
     */
    @Schema(description = "课程概述（富文本）", example = "富文本")
    private String detail;

    /**
     * 推广码说明（富文本）
     */
    @Schema(description = "推广码说明（富文本）", example = "富文本")
    private String promoCodeDesc;

    /**
     * 课程图片URL
     */
    @Schema(description = "课程图片URL", example = "324IEHJDE")
    private String image;

    /**
     * 课程原价
     */
    @Schema(description = "课程原价", example = "3499")
    private BigDecimal originPrice;

    /**
     * 折扣价格
     */
    @Schema(description = "折扣价格", example = "2499")
    private BigDecimal discountPrice;

    /**
     * 课程章节
     */
    @Schema(description = "课程章节")
    private List<CourseChapterVO> courseChapters;


    @Serial
    private static final long serialVersionUID = 1L;

}
