|
@@ -0,0 +1,214 @@
|
|
|
+package com.yonge.cooleshow.biz.dal.entity;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.annotation.IdType;
|
|
|
+import com.baomidou.mybatisplus.annotation.TableField;
|
|
|
+import com.baomidou.mybatisplus.annotation.TableId;
|
|
|
+import com.yonge.cooleshow.biz.dal.enums.*;
|
|
|
+import com.yonge.cooleshow.common.enums.YesOrNoEnum;
|
|
|
+import io.swagger.annotations.ApiModel;
|
|
|
+import io.swagger.annotations.ApiModelProperty;
|
|
|
+import lombok.Data;
|
|
|
+import org.apache.commons.lang3.StringUtils;
|
|
|
+
|
|
|
+import javax.validation.constraints.NotBlank;
|
|
|
+import javax.validation.constraints.NotNull;
|
|
|
+import javax.validation.constraints.Size;
|
|
|
+import java.io.Serializable;
|
|
|
+import java.math.BigDecimal;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+@ApiModel(value = "music_sheet_audit-曲谱审核表")
|
|
|
+@Data
|
|
|
+public class MusicSheetAudit implements Serializable {
|
|
|
+
|
|
|
+ @TableId(value = "id_", type = IdType.AUTO)
|
|
|
+ @ApiModelProperty(value = "主键id")
|
|
|
+ private Long id; //主键ID
|
|
|
+
|
|
|
+ @NotBlank(message = "曲谱名称不能为空!")
|
|
|
+ @Size(max = 64, message = "曲谱名称长度不能超过64位!")
|
|
|
+ @TableField("music_sheet_name_")
|
|
|
+ @ApiModelProperty(value = "曲谱名称")
|
|
|
+ private String musicSheetName; //曲谱名称
|
|
|
+
|
|
|
+
|
|
|
+ @NotBlank(message = "曲谱封面图不能为空!")
|
|
|
+ @TableField("title_img_")
|
|
|
+ @ApiModelProperty(value = "封面图")
|
|
|
+ private String titleImg; //曲谱名称
|
|
|
+
|
|
|
+ @TableField("notation_")
|
|
|
+ @ApiModelProperty("是否可以转简谱(0:否,1:是)")
|
|
|
+ private YesOrNoEnum notation;
|
|
|
+
|
|
|
+ @TableField("music_img_")
|
|
|
+ @ApiModelProperty("曲目图片")
|
|
|
+ private String musicImg;
|
|
|
+
|
|
|
+ @TableField("source_type_")
|
|
|
+ @ApiModelProperty(value = "曲目来源类型 TEACHER 老师 PLATFORM 平台")
|
|
|
+ private SourceTypeEnum sourceType;
|
|
|
+
|
|
|
+
|
|
|
+ @TableField("provider_type_")
|
|
|
+ @ApiModelProperty(value = "提供方 TENANT 机构 PLATFORM 平台")
|
|
|
+ private SourceTypeEnum providerType;
|
|
|
+
|
|
|
+ @NotBlank(message = "艺术家不能为空!")
|
|
|
+ @Size(max = 32, message = "艺术家长度不能超过32位!")
|
|
|
+ @TableField("composer_")
|
|
|
+ @ApiModelProperty(value = "艺术家")
|
|
|
+ private String composer; //音乐家
|
|
|
+
|
|
|
+ @TableField("music_subject_")
|
|
|
+ @ApiModelProperty(value = "曲谱声部(适用的乐器,可能是多个,用逗号分隔)")
|
|
|
+ private String musicSubject; //曲谱声部(适用的乐器,可能是多个,用逗号分隔)
|
|
|
+
|
|
|
+ @NotNull(message = "曲谱音频文件类型不能为空!")
|
|
|
+ @TableField("audio_type_")
|
|
|
+ @ApiModelProperty(value = "曲目音频类型 MP3:mp3, MIDI:midi,")
|
|
|
+ private AudioTypeEnum audioType;
|
|
|
+
|
|
|
+ @TableField("mp3_type_")
|
|
|
+ @ApiModelProperty(value = "mp3类型 MP3:mp3, MP3_METRONOME:MP3_METRONOME,")
|
|
|
+ private AudioTypeEnum mp3Type;
|
|
|
+
|
|
|
+ @NotBlank(message = "曲谱标签不能为空!")
|
|
|
+ @TableField("music_tag_")
|
|
|
+ @ApiModelProperty(value = "曲谱标签(多个标签用逗号分隔)")
|
|
|
+ private String musicTag; //曲谱标签(多个标签用逗号分隔)
|
|
|
+
|
|
|
+ @NotNull(message = "伴奏类型不能为空!")
|
|
|
+ @TableField("accompaniment_type_")
|
|
|
+ @ApiModelProperty(value = "伴奏类型 HOMEMODE:自制伴奏 COMMON:普通伴奏")
|
|
|
+ private AccompanimentTypeEnum accompanimentType;
|
|
|
+
|
|
|
+ @TableField("play_speed_")
|
|
|
+ // @NotNull(message = "默认播放速度不能为空!")
|
|
|
+ @ApiModelProperty(value = "默认播放速度")
|
|
|
+ private String playSpeed; //默认播放速度
|
|
|
+
|
|
|
+ @TableField("can_evaluate_")
|
|
|
+ @ApiModelProperty(value = "是否可以评测(0:否;1:是)")
|
|
|
+ private YesOrNoEnum canEvaluate; //是否可以评测(0:否;1:是)
|
|
|
+
|
|
|
+ @TableField("show_fingering_")
|
|
|
+ @ApiModelProperty(value = "是否展示指法(0:否;1:是)")
|
|
|
+ private YesOrNoEnum showFingering; //是否展示指法(0:否;1:是)
|
|
|
+
|
|
|
+ // @NotNull(message = "收费类型不能为空!")
|
|
|
+ @TableField("charge_type_")
|
|
|
+ @ApiModelProperty(value = "收费类型(FREE:免费;VIP:会员;CHARGE:单曲收费)")
|
|
|
+ private ChargeTypeEnum chargeType; //收费类型(0:免费;1:会员;2:单曲收费)
|
|
|
+
|
|
|
+ @NotNull(message = "收费类型不能为空!")
|
|
|
+ @TableField("payment_type_")
|
|
|
+ @ApiModelProperty(value = "收费类型(FREE:免费;VIP:会员;CHARGE:单曲收费)")
|
|
|
+ private String paymentType;
|
|
|
+
|
|
|
+ @TableField("audit_status_")
|
|
|
+ @ApiModelProperty(value = "审核状态(DOING:待审核;PASS:通过;UNPASS:未通过)")
|
|
|
+ private AuthStatusEnum auditStatus;
|
|
|
+
|
|
|
+ @TableField("sort_number_")
|
|
|
+ @ApiModelProperty(value = "排序号")
|
|
|
+ private Integer sortNumber; //排序号
|
|
|
+
|
|
|
+ @TableField("top_flag_")
|
|
|
+ @ApiModelProperty(value = "是否置顶(0:否;1:是)")
|
|
|
+ private YesOrNoEnum topFlag; //是否置顶(0:否;1:是)
|
|
|
+
|
|
|
+ @TableField("hot_flag_")
|
|
|
+ @ApiModelProperty(value = "是否热门曲谱(0:否;1:是)")
|
|
|
+ private YesOrNoEnum hotFlag; //是否热门曲谱(0:否;1:是)
|
|
|
+
|
|
|
+ @TableField("exquisite_flag_")
|
|
|
+ @ApiModelProperty(value = "精品标志(0:否;1:是)")
|
|
|
+ private YesOrNoEnum exquisiteFlag;
|
|
|
+
|
|
|
+ @TableField("music_price_")
|
|
|
+ @ApiModelProperty(value = "曲谱价格")
|
|
|
+ private BigDecimal musicPrice; //曲谱价格
|
|
|
+
|
|
|
+ @TableField("audio_file_url_")
|
|
|
+ @ApiModelProperty(value = "音频文件存储路径")
|
|
|
+ private String audioFileUrl; //音频文件存储路径
|
|
|
+
|
|
|
+ @NotBlank(message = "XML文件存储路径不能为空!")
|
|
|
+ @TableField("xml_file_url_")
|
|
|
+ @ApiModelProperty(value = "XML文件存储路径")
|
|
|
+ private String xmlFileUrl; //XML文件存储路径
|
|
|
+
|
|
|
+
|
|
|
+ @TableField("midi_url_")
|
|
|
+ @ApiModelProperty(value = "midi路径")
|
|
|
+ private String midiUrl; //XML文件存储路径
|
|
|
+
|
|
|
+
|
|
|
+ @TableField("metronome_url_")
|
|
|
+ @ApiModelProperty(value = "伴奏含节拍器路径")
|
|
|
+ private String metronomeUrl; //XML文件存储路径
|
|
|
+
|
|
|
+
|
|
|
+ @TableField("url_")
|
|
|
+ @ApiModelProperty(value = "伴奏(不含节拍器)路径")
|
|
|
+ private String url; //XML文件存储路径
|
|
|
+
|
|
|
+ @TableField("has_beat_")
|
|
|
+ @ApiModelProperty(value = "是否自带节拍器(0:否;1:是)")
|
|
|
+ private YesOrNoEnum hasBeat; //是否自带节拍器(0:否;1:是)
|
|
|
+
|
|
|
+ @TableField("audit_version_")
|
|
|
+ @ApiModelProperty(value = "是否审核时可见 (0:否 1:是)")
|
|
|
+ private YesOrNoEnum auditVersion;
|
|
|
+
|
|
|
+ @TableField("create_time_")
|
|
|
+ @ApiModelProperty(value = "创建时间")
|
|
|
+ private Date createTime; //创建时间
|
|
|
+
|
|
|
+ @TableField("create_by_")
|
|
|
+ @ApiModelProperty(value = "创建人(老师或者是后台平台用户)")
|
|
|
+ private Long createBy; //创建人(老师或者是后台平台用户)
|
|
|
+
|
|
|
+ @TableField("update_time_")
|
|
|
+ @ApiModelProperty(value = "更新时间")
|
|
|
+ private Date updateTime; //更新时间
|
|
|
+
|
|
|
+ @TableField("ext_config_json_")
|
|
|
+ @ApiModelProperty("曲目配置信息")
|
|
|
+ private String extConfigJson;
|
|
|
+
|
|
|
+ @TableField("music_json_")
|
|
|
+ private String musicJSON;
|
|
|
+
|
|
|
+ @TableField("music_svg_")
|
|
|
+ private String musicSvg;
|
|
|
+
|
|
|
+ @TableField("music_jian_svg_")
|
|
|
+ private String musicJianSvg;
|
|
|
+
|
|
|
+ @TableField("music_first_svg_")
|
|
|
+ private String musicFirstSvg;
|
|
|
+
|
|
|
+ @TableField("first_tone_")
|
|
|
+ @ApiModelProperty("首调")
|
|
|
+ private String firstTone;
|
|
|
+
|
|
|
+ @TableField("fixed_tone_")
|
|
|
+ @ApiModelProperty("固定调")
|
|
|
+ private String fixedTone;
|
|
|
+
|
|
|
+ //曲谱类型 SINGLE/CONCERT ,使用MusicSheetTypeEnum
|
|
|
+ @TableField("music_sheet_type_")
|
|
|
+ @ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
|
|
|
+ private MusicSheetTypeEnum musicSheetType;
|
|
|
+
|
|
|
+ public ChargeTypeEnum getChargeType() {
|
|
|
+ if (Objects.isNull(this.chargeType) && StringUtils.isNotEmpty(getPaymentType())) {
|
|
|
+
|
|
|
+ return ChargeTypeEnum.valueOf(getPaymentType().split(",")[0]);
|
|
|
+ }
|
|
|
+ return chargeType;
|
|
|
+ }
|
|
|
+}
|