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


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 javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * Description 曲目审核参数
 *
 * @author liujunchi
 * @date 2022-04-02
 */
@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(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 = "是否可以评测(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;

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

    public String getMusicImg() {
        return musicImg;
    }

    public void setMusicImg(String musicImg) {
        this.musicImg = musicImg;
    }

    public Long getMusicSheetId() {
        return musicSheetId;
    }

    public void setMusicSheetId(Long musicSheetId) {
        this.musicSheetId = musicSheetId;
    }

    public AuthStatusEnum getAuthStatus() {
        return authStatus;
    }

    public void setAuthStatus(AuthStatusEnum authStatus) {
        this.authStatus = authStatus;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public YesOrNoEnum getNotation() {
        return notation;
    }

    public void setNotation(YesOrNoEnum notation) {
        this.notation = notation;
    }

    public YesOrNoEnum getCanEvaluate() {
        return canEvaluate;
    }

    public void setCanEvaluate(YesOrNoEnum canEvaluate) {
        this.canEvaluate = canEvaluate;
    }

    public YesOrNoEnum getShowFingering() {
        return showFingering;
    }

    public void setShowFingering(YesOrNoEnum showFingering) {
        this.showFingering = showFingering;
    }

    public YesOrNoEnum getHasBeat() {
        return hasBeat;
    }

    public void setHasBeat(YesOrNoEnum hasBeat) {
        this.hasBeat = hasBeat;
    }

    public AudioTypeEnum getMp3Type() {
        return mp3Type;
    }

    public void setMp3Type(AudioTypeEnum mp3Type) {
        this.mp3Type = mp3Type;
    }

    public AudioTypeEnum getAudioType() {
        return audioType;
    }

    public void setAudioType(AudioTypeEnum audioType) {
        this.audioType = audioType;
    }

    public String getAudioFileUrl() {
        return audioFileUrl;
    }

    public void setAudioFileUrl(String audioFileUrl) {
        this.audioFileUrl = audioFileUrl;
    }
}
