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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.entity.CourseScheduleDate;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

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

/**
 * @Author: cy
 * @Date: 2022/4/20
 */
@Data
@ApiModel(value = "PracticeScheduleDto")
public class PracticeScheduleDto implements Serializable {
    @ApiModelProperty(value = "课程组id")
    private Long groupId;
    @ApiModelProperty(value = "学生id")
    private Long studentId;
    @ApiModelProperty(value = "老师id")
    private Long teacherId;
    @ApiModelProperty(value = "类型 practice趣纠课 live直播课")
    private String type;
    @ApiModelProperty(value = "课程组名称")
    private String courseGroupName;
    @ApiModelProperty(value = "声部id")
    private Long subjectId;
    @ApiModelProperty(value = "单课时长")
    private Integer singleCourseMinutes;
    @ApiModelProperty(value = "老师声部价格ID")
    private Long teacherSubjectPriceId;
    @ApiModelProperty(value = "课程数")
    private Integer courseNum;
    @ApiModelProperty(value = "课程介绍")
    private String courseIntroduce;
    @ApiModelProperty(value = "课程组售价")
    private BigDecimal coursePrice;
    @ApiModelProperty(value = "课程单价")
    private BigDecimal unitPrice;
    @ApiModelProperty(value = "课程组状态 ING进行中 COMPLETE已完成 DISSOLVE-未成课(解散课程) CANCEL已取消-未开始报名前可取消 APPLY报名中 NOT_SALE未开售")
    private String status;
    @ApiModelProperty(value = "最少成课人数")
    private Integer mixStudentNum;
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ApiModelProperty(value = "课程开始时间")
    private Date courseStartTime;
    @ApiModelProperty(value = "上课时间")
    private List<CourseScheduleDate> classTime;

}