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


import com.baomidou.mybatisplus.annotation.TableField;
import com.yonge.cooleshow.biz.dal.enums.AccompanimentTypeEnum;
import com.yonge.cooleshow.biz.dal.enums.AudioTypeEnum;
import com.yonge.cooleshow.biz.dal.enums.AuthStatusEnum;
import com.yonge.cooleshow.common.enums.YesOrNoEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * Description 曲目审核参数
 *
 * @author liujunchi
 * @date 2022-04-02
 */
@Data
@ApiModel(value = "TeacherMusicSheetAuditReq对象", description = "曲目审核")
public class TeacherMusicSheetAuditReq {

    @ApiModelProperty(value = "曲目id",required = true)
    @NotNull(message = "曲目id不能为空 ")
    private Long musicSheetId;

    @ApiModelProperty(value = "曲谱渲染图",required = true)
    private String musicImg;

    @ApiModelProperty("首调图片")
    private String musicFirstImg;

    @ApiModelProperty("固定调图片")
    private String musicJianImg;

    @ApiModelProperty("首调")
    private String firstTone;

    @ApiModelProperty("固定调")
    private String fixedTone;

    @ApiModelProperty(value = "审批状态（PASS：通过，UNPASS：不通过）",required = true)
    @NotNull(message = "审批状态不为空 ")
    private AuthStatusEnum authStatus;

    @ApiModelProperty(value = "审核理由",required = true)
    @NotBlank(message = "审核理由不能为空 ")
    private String remark;

    @ApiModelProperty("是否可以转简谱（0:否，1：是）")
    private YesOrNoEnum notation;

    @ApiModelProperty(value = "曲目配置")
    private String extConfigJson;

    @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
    private YesOrNoEnum canEvaluate;  //是否可以评测(0:否;1:是)

    @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
    private YesOrNoEnum showFingering;  //是否展示指法(0:否;1:是)

    @ApiModelProperty(value = "是否自带节拍器(0:否;1:是)")
    private YesOrNoEnum hasBeat;  //是否自带节拍器(0:否;1:是)

    @ApiModelProperty(value = "mp3类型 MP3：mp3, MP3_METRONOME:MP3_METRONOME,")
    private AudioTypeEnum mp3Type;

    @ApiModelProperty(value = "曲目音频类型 MP3：mp3, MIDI:midi,")
    private AudioTypeEnum audioType;

    private AccompanimentTypeEnum accompanimentType;

    @ApiModelProperty(value = "单曲、合奏")
    private String musicSheetType;

    @ApiModelProperty(value = "音频文件存储路径")
    private String audioFileUrl;  //音频文件存储路径

    @ApiModelProperty("谱面类型 默认谱面(STAVE: 五线谱; JIAN: 固定调; FIRST: 首调)")
    private String scoreType;
}
