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

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 * @Author: cy
 * @Date: 2022/4/22
 */
@ApiModel(value = "StudentHomePage")
public class StudentHomePage implements Serializable {
    @ApiModelProperty(value = "直播课")
    private List<Live> liveList;
    @ApiModelProperty(value = "视频课")
    private List<Video> videoList;
    @ApiModelProperty(value = "最近课程")
    private RecentCourses recentCourses;

    public static class RecentCourses{
        @ApiModelProperty(value = "学生id")
        private Long studentId;
        @ApiModelProperty(value = "老师id")
        private Long teacherId;
        @ApiModelProperty(value = "老师姓名")
        private String teacherName;
        @ApiModelProperty(value = "老师头像")
        private String avatar;
        private String realName;

        @ApiModelProperty(value = "课程id")
        private Long courseId;
        @ApiModelProperty(value = "课程组id")
        private Long courseGroupId;
        @ApiModelProperty(value = "课程组名称")
        private String courseGroupName;
        @ApiModelProperty(value = "课程类型(PRACTICE陪练课 LIVE直播课 PIANO_ROOM_CLASS琴房课)")
        private String courseType;
        @ApiModelProperty(value = "课程状态(NOT_START未开始 ING进行中 )")
        private String status;
        @ApiModelProperty(value = "开课时间")
        private Date courseStartTime;

        public Long getStudentId() {
            return studentId;
        }

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

        public String getRealName() {
            return realName;
        }

        public void setRealName(String realName) {
            this.realName = realName;
        }

        public Long getTeacherId() {
            return teacherId;
        }

        public void setTeacherId(Long teacherId) {
            this.teacherId = teacherId;
        }

        public String getTeacherName() {
            return teacherName;
        }

        public void setTeacherName(String teacherName) {
            this.teacherName = teacherName;
        }

        public String getAvatar() {
            return avatar;
        }

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

        public Long getCourseId() {
            return courseId;
        }

        public void setCourseId(Long courseId) {
            this.courseId = courseId;
        }

        public Long getCourseGroupId() {
            return courseGroupId;
        }

        public void setCourseGroupId(Long courseGroupId) {
            this.courseGroupId = courseGroupId;
        }

        public String getCourseGroupName() {
            return courseGroupName;
        }

        public void setCourseGroupName(String courseGroupName) {
            this.courseGroupName = courseGroupName;
        }

        public String getCourseType() {
            return courseType;
        }

        public void setCourseType(String courseType) {
            this.courseType = courseType;
        }

        public String getStatus() {
            return status;
        }

        public void setStatus(String status) {
            this.status = status;
        }

        public Date getCourseStartTime() {
            return courseStartTime;
        }

        public void setCourseStartTime(Date courseStartTime) {
            this.courseStartTime = courseStartTime;
        }
    }

    public static class Live {
        @ApiModelProperty(value = "老师id")
        private Long teacherId;
        @ApiModelProperty(value = "老师姓名")
        private String teacherName;
        private String realName;
        @ApiModelProperty(value = "老师头像")
        private String avatar;

        @ApiModelProperty(value = "课程组id")
        private Long courseGroupId;
        @ApiModelProperty(value = "课程组名称")
        private String courseGroupName;
        @ApiModelProperty(value = "课程组售价")
        private BigDecimal courseGroupPrice;
        @ApiModelProperty(value = "开课时间")
        private Date courseStartTime;
        @ApiModelProperty(value = "直播背景图")
        private String backgroundPic;
        @ApiModelProperty(value = "课程数")
        private Integer courseNum;
        @ApiModelProperty(value = "购买人数")
        private Integer buyCount;
        @ApiModelProperty(value = "声部id")
        private Integer subjectId;
        @ApiModelProperty(value = "声部名称")
        private String subjectName;

        public Integer getSubjectId() {
            return subjectId;
        }

        public void setSubjectId(Integer subjectId) {
            this.subjectId = subjectId;
        }

        public String getSubjectName() {
            return subjectName;
        }

        public void setSubjectName(String subjectName) {
            this.subjectName = subjectName;
        }

        public String getRealName() {
            return realName;
        }

        public void setRealName(String realName) {
            this.realName = realName;
        }

        public Integer getBuyCount() {
            return buyCount;
        }

        public void setBuyCount(Integer buyCount) {
            this.buyCount = buyCount;
        }

        public Long getTeacherId() {
            return teacherId;
        }

        public void setTeacherId(Long teacherId) {
            this.teacherId = teacherId;
        }

        public String getTeacherName() {
            return teacherName;
        }

        public void setTeacherName(String teacherName) {
            this.teacherName = teacherName;
        }

        public String getAvatar() {
            return avatar;
        }

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

        public Long getCourseGroupId() {
            return courseGroupId;
        }

        public void setCourseGroupId(Long courseGroupId) {
            this.courseGroupId = courseGroupId;
        }

        public String getCourseGroupName() {
            return courseGroupName;
        }

        public void setCourseGroupName(String courseGroupName) {
            this.courseGroupName = courseGroupName;
        }

        public BigDecimal getCourseGroupPrice() {
            return courseGroupPrice;
        }

        public void setCourseGroupPrice(BigDecimal courseGroupPrice) {
            this.courseGroupPrice = courseGroupPrice;
        }

        public Date getCourseStartTime() {
            return courseStartTime;
        }

        public void setCourseStartTime(Date courseStartTime) {
            this.courseStartTime = courseStartTime;
        }

        public String getBackgroundPic() {
            return backgroundPic;
        }

        public void setBackgroundPic(String backgroundPic) {
            this.backgroundPic = backgroundPic;
        }

        public Integer getCourseNum() {
            return courseNum;
        }

        public void setCourseNum(Integer courseNum) {
            this.courseNum = courseNum;
        }
    }

    public static class Video {
        @ApiModelProperty(value = "老师id")
        private Long teacherId;
        @ApiModelProperty(value = "老师姓名")
        private String teacherName;
        private String realName;
        @ApiModelProperty(value = "老师头像")
        private String avatar;

        @ApiModelProperty(value = "视频课组id")
        private Long videoGroupId;
        @ApiModelProperty(value = "视频课组名称")
        private String videoGroupName;
        @ApiModelProperty(value = "视频课组售价")
        private BigDecimal lessonPrice;
        @ApiModelProperty(value = "创建时间")
        private Date createTime;
        @ApiModelProperty(value = "课程封面")
        private String lessonCoverUrl;
        @ApiModelProperty(value = "课程数")
        private Integer lessonCount;
        @ApiModelProperty(value = "声部id")
        private Integer subjectId;
        @ApiModelProperty(value = "声部名称")
        private String subjectName;
        @ApiModelProperty(value = "购买人数")
        private Integer buyCount;

        public String getRealName() {
            return realName;
        }

        public void setRealName(String realName) {
            this.realName = realName;
        }

        public Integer getBuyCount() {
            return buyCount;
        }

        public void setBuyCount(Integer buyCount) {
            this.buyCount = buyCount;
        }

        public Long getTeacherId() {
            return teacherId;
        }

        public void setTeacherId(Long teacherId) {
            this.teacherId = teacherId;
        }

        public String getTeacherName() {
            return teacherName;
        }

        public void setTeacherName(String teacherName) {
            this.teacherName = teacherName;
        }

        public String getAvatar() {
            return avatar;
        }

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

        public Long getVideoGroupId() {
            return videoGroupId;
        }

        public void setVideoGroupId(Long videoGroupId) {
            this.videoGroupId = videoGroupId;
        }

        public String getVideoGroupName() {
            return videoGroupName;
        }

        public void setVideoGroupName(String videoGroupName) {
            this.videoGroupName = videoGroupName;
        }

        public BigDecimal getLessonPrice() {
            return lessonPrice;
        }

        public void setLessonPrice(BigDecimal lessonPrice) {
            this.lessonPrice = lessonPrice;
        }

        public Date getCreateTime() {
            return createTime;
        }

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

        public String getLessonCoverUrl() {
            return lessonCoverUrl;
        }

        public void setLessonCoverUrl(String lessonCoverUrl) {
            this.lessonCoverUrl = lessonCoverUrl;
        }

        public Integer getLessonCount() {
            return lessonCount;
        }

        public void setLessonCount(Integer lessonCount) {
            this.lessonCount = lessonCount;
        }

        public Integer getSubjectId() {
            return subjectId;
        }

        public void setSubjectId(Integer subjectId) {
            this.subjectId = subjectId;
        }

        public String getSubjectName() {
            return subjectName;
        }

        public void setSubjectName(String subjectName) {
            this.subjectName = subjectName;
        }
    }

    public List<Live> getLiveList() {
        return liveList;
    }

    public void setLiveList(List<Live> liveList) {
        this.liveList = liveList;
    }

    public List<Video> getVideoList() {
        return videoList;
    }

    public void setVideoList(List<Video> videoList) {
        this.videoList = videoList;
    }

    public RecentCourses getRecentCourses() {
        return recentCourses;
    }

    public void setRecentCourses(RecentCourses recentCourses) {
        this.recentCourses = recentCourses;
    }
}

