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

import com.fasterxml.jackson.annotation.JsonFormat;
import com.yonge.cooleshow.biz.dal.enums.course.CourseRelationTypeEnum;
import com.yonge.cooleshow.common.enums.YesOrNoEnum;
import com.yonge.toolset.base.page.QueryInfo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Author: cy
 * @Date: 2022/5/19
 */
@ApiModel
@Data
public class CourseGroupSearch extends QueryInfo {
    @ApiModelProperty(value = "课程组、老师、学员编号/名称")
    private String search;

    @ApiModelProperty("声部id")
    private Long subjectId;

    @ApiModelProperty("课程组id")
    private Long groupId;

    @ApiModelProperty("课程id")
    private Long courseId;

    @ApiModelProperty(value = "课程状态 DOING UNPASS PASS")
    private String status;

    @ApiModelProperty("收费方式，VIP：会员，PAY:购买")
    private String payType;

    @ApiModelProperty(value = "结算状态")
    private String salaryStatus;

    @ApiModelProperty(value = "订单号")
    private String orderNo;

    @ApiModelProperty(value = "开始时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date startTime;

    @ApiModelProperty(value = "结束时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date endTime;

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

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

    @ApiModelProperty(value = "关联曲目专辑类型,RECOMMEND:推荐  GIFT:赠品")
    private CourseRelationTypeEnum relationType;

    @ApiModelProperty("置顶")
    private YesOrNoEnum topFlag;

    @ApiModelProperty(value = "是否上架 （0:否  1：是）")
    private Integer shelvesFlag;

    @ApiModelProperty(value = "是否草稿 （0:否  1：是）",hidden = true)
    private Integer draftFlag;

    @ApiModelProperty(value = "课程组类型 VIP 、PRACTICE")
    private String groupType = "PRACTICE";
}
