package com.yonge.cooleshow.biz.dal.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.entity.CourseTimeEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author hgw
 * Created by 2022-04-06
 */
@ApiModel(value = "LiveCourseInfoVo", description = "直播课详情")
public class LiveCourseInfoVo extends CourseGroupVo implements Serializable {

    @ApiModelProperty(value = "教学计划")
    private List<PlanVo> planList;

    @ApiModelProperty(value = "学员列表")
    private List<CourseBuyStudentVo> studentList;

    @ApiModel(value = "PlanVo", description = "教学计划")
    public static class PlanVo extends CourseTimeEntity implements Serializable {

        @ApiModelProperty(value = "课堂编号-第几堂课")
        private Integer classNum;

        @ApiModelProperty(value = "教学计划/最多200字")
        private String plan;

        public Integer getClassNum() {
            return classNum;
        }

        public void setClassNum(Integer classNum) {
            this.classNum = classNum;
        }

        public String getPlan() {
            return plan;
        }

        public void setPlan(String plan) {
            this.plan = plan;
        }
    }

    @ApiModel(value = "CourseBuyStudentVo", description = "学员列表")
    public static class CourseBuyStudentVo implements Serializable {

        @ApiModelProperty(value = "学员id")
        private Long studentId;

        @ApiModelProperty(value = "学员名称")
        private String studentName;

        @ApiModelProperty(value = "头像")
        private String avatar;

        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        @ApiModelProperty(value = "购买时间")
        private Date createTime;

        public Long getStudentId() {
            return studentId;
        }

        public void setStudentId(Long studentId) {
            this.studentId = studentId;
        }

        public String getStudentName() {
            return studentName;
        }

        public void setStudentName(String studentName) {
            this.studentName = studentName;
        }

        public String getAvatar() {
            return avatar;
        }

        public void setAvatar(String avatar) {
            this.avatar = avatar;
        }

        public Date getCreateTime() {
            return createTime;
        }

        public void setCreateTime(Date createTime) {
            this.createTime = createTime;
        }
    }

    public List<PlanVo> getPlanList() {
        return planList;
    }

    public void setPlanList(List<PlanVo> planList) {
        this.planList = planList;
    }

    public List<CourseBuyStudentVo> getStudentList() {
        return studentList;
    }

    public void setStudentList(List<CourseBuyStudentVo> studentList) {
        this.studentList = studentList;
    }
}
