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

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

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

/**
 *
 * @author hgw
 * Created by 2022-03-29
 */
@ApiModel(value = "TeacherCourseGroupVo", description = "课程组信息")
public class CourseGroupVo implements Serializable {

    @ApiModelProperty(value = "课程组id")
    private Long courseGroupId;

    @ApiModelProperty(value = "名称")
    private String courseGroupName;

    @ApiModelProperty(value = "声部名称")
    private String subjectName;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "第一节课开始时间")
    private Date courseStartTime;

    @ApiModelProperty(value = "单节课时长")
    private Integer singleCourseMinutes;

    @ApiModelProperty(value = "课程组状态  ING(进行中)  NOT_SALE(未开售,未上架) APPLY(报名中,销售中) COMPLETE(已完成)")
    private String status;

    @ApiModelProperty(value = "课程人数")
    private Integer studentCount;

    @ApiModelProperty(value = "课程图片")
    private String backgroundPic;

    @ApiModelProperty(value = "老师id")
    private Long teacherId;

    @ApiModelProperty(value = "老师名称")
    private String teacherName;

    @ApiModelProperty(value = "课程组售价")
    private BigDecimal coursePrice;

    @ApiModelProperty(value = "课程数")
    private Integer courseNum;

    @ApiModelProperty(value = "课程介绍")
    private String courseIntroduce;

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

    @ApiModelProperty(value = "销售开始日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date salesStartDate;

    @ApiModelProperty(value = "销售结束日期")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    private Date salesEndDate;

    @ApiModelProperty(value = "最少成课人数")
    private Integer mixStudentNum;

    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 getSubjectName() {
        return subjectName;
    }

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

    public Date getCourseStartTime() {
        return courseStartTime;
    }

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

    public Integer getSingleCourseMinutes() {
        return singleCourseMinutes;
    }

    public void setSingleCourseMinutes(Integer singleCourseMinutes) {
        this.singleCourseMinutes = singleCourseMinutes;
    }

    public String getStatus() {
        return status;
    }

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

    public Integer getStudentCount() {
        return studentCount;
    }

    public void setStudentCount(Integer studentCount) {
        this.studentCount = studentCount;
    }

    public String getBackgroundPic() {
        return backgroundPic;
    }

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

    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 BigDecimal getCoursePrice() {
        return coursePrice;
    }

    public void setCoursePrice(BigDecimal coursePrice) {
        this.coursePrice = coursePrice;
    }

    public Integer getCourseNum() {
        return courseNum;
    }

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

    public String getCourseIntroduce() {
        return courseIntroduce;
    }

    public void setCourseIntroduce(String courseIntroduce) {
        this.courseIntroduce = courseIntroduce;
    }

    public String getAvatar() {
        return avatar;
    }

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

    public Date getSalesStartDate() {
        return salesStartDate;
    }

    public void setSalesStartDate(Date salesStartDate) {
        this.salesStartDate = salesStartDate;
    }

    public Date getSalesEndDate() {
        return salesEndDate;
    }

    public void setSalesEndDate(Date salesEndDate) {
        this.salesEndDate = salesEndDate;
    }

    public Integer getMixStudentNum() {
        return mixStudentNum;
    }

    public void setMixStudentNum(Integer mixStudentNum) {
        this.mixStudentNum = mixStudentNum;
    }
}
