Jelajahi Sumber

酷乐秀曲目来源改为内容平台

zouxuan 1 tahun lalu
induk
melakukan
1d27bf3331

+ 12 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/dto/search/MusicSheetSearch.java

@@ -1,6 +1,6 @@
 package com.yonge.cooleshow.biz.dal.dto.search;
 
-import com.baomidou.mybatisplus.annotation.TableField;
+import com.dayaedu.cbs.common.enums.music.EDefaultScoreType;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import com.yonge.toolset.base.page.QueryInfo;
@@ -106,6 +106,17 @@ public class MusicSheetSearch  extends QueryInfo{
     @ApiModelProperty("指定关联专辑的曲目排在最后")
     private Long sortByAlbumIdDesc;
 
+    @ApiModelProperty("谱面类型")
+    private EDefaultScoreType scoreType;
+
+    public EDefaultScoreType getScoreType() {
+        return scoreType;
+    }
+
+    public void setScoreType(EDefaultScoreType scoreType) {
+        this.scoreType = scoreType;
+    }
+
     public SourceTypeEnum getProviderType() {
         return providerType;
     }

+ 5 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/entity/MusicSheet.java

@@ -3,6 +3,7 @@ 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.dayaedu.cbs.common.enums.music.EDefaultScoreType;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
@@ -263,6 +264,10 @@ public class MusicSheet implements Serializable {
 	@ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
 	private MusicSheetTypeEnum musicSheetType;
 
+	@ApiModelProperty("谱面类型")
+	@TableField("score_type_")
+	private EDefaultScoreType scoreType;
+
 	public ChargeTypeEnum getChargeType() {
 		if (Objects.isNull(this.chargeType) && StringUtils.isNotEmpty(getPaymentType())) {
 

+ 4 - 47
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/vo/MusicSheetVoResult.java

@@ -3,6 +3,7 @@ package com.yonge.cooleshow.biz.dal.vo;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
+import com.dayaedu.cbs.common.enums.music.EDefaultScoreType;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
@@ -91,7 +92,6 @@ public class MusicSheetVoResult implements Serializable {
     @ApiModelProperty(value = "曲目来源类型 TEACHER 老师 PLATFORM 平台")
     private SourceTypeEnum sourceType;
 
-
     @TableField("provider_type_")
     @ApiModelProperty(value = "提供方 TENANT 机构 PLATFORM 平台")
     private SourceTypeEnum providerType;
@@ -115,180 +115,137 @@ public class MusicSheetVoResult implements Serializable {
     @ApiModelProperty(value = "mp3类型 MP3:mp3, MP3_METRONOME:MP3_METRONOME,")
     private AudioTypeEnum mp3Type;
 
-
     @TableField("favorite_count_")
     @ApiModelProperty(value = "收藏数")
     private Integer favoriteCount;
 
-
     @ApiModelProperty("虚拟人数 ")
     @TableField(value = "virtual_number_")
     private Integer virtualNumber;
 
     @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("state_")
     @ApiModelProperty(value = "曲目状态(0:停用,1:启用)")
     private YesOrNoEnum state;
 
-    @TableField("reason_")
     @ApiModelProperty(value = "曲目停用原因")
     private String reason;
 
-    @TableField("audit_status_")
     @ApiModelProperty(value = "审核状态(DOING:待审核;PASS:通过;UNPASS:未通过)")
     private AuthStatusEnum auditStatus;
 
-    @TableField("submit_audit_time_")
     @ApiModelProperty(value = "提交审核时间")
     private Date submitAuditTime;
 
-    @TableField("first_pass_audit_time_")
     @ApiModelProperty(value = "第一次通过审核时间")
     private Date firstPassAuditTime;
 
-    @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 java.math.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 java.util.Date createTime;  //创建时间
 
-    @TableField("create_by_")
     @ApiModelProperty(value = "创建人(老师或者是后台平台用户)")
     private Long createBy;  //创建人(老师或者是后台平台用户)
 
-    @TableField("update_time_")
     @ApiModelProperty(value = "更新时间")
     private java.util.Date updateTime;  //更新时间
 
-    @TableField("update_by_")
     @ApiModelProperty(value = "更新人(老师或者是后台平台用户)")
     private Long updateBy;  //更新人(老师或者是后台平台用户)
 
-    @TableField("remark_")
     @ApiModelProperty(value = "备注")
     private String remark;  //备注,填写未通过审核的原因
 
-
-    @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;
 
-    @TableField("del_flag_")
     @ApiModelProperty(value = "假删除标识 0:未删除 1:已删除")
     private Boolean delFlag;
 
-    @TableField("correct_time_")
     @ApiModelProperty(value = "数据修复时间")
     private Date correctTime;
 
     //曲谱类型 SINGLE/CONCERT ,使用MusicSheetTypeEnum
-    @TableField("music_sheet_type_")
     @ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
     private MusicSheetTypeEnum musicSheetType;
 
+    @ApiModelProperty("谱面类型")
+    private EDefaultScoreType scoreType;
+
     public ChargeTypeEnum getChargeType() {
         if (Objects.isNull(this.chargeType) && StringUtils.isNotEmpty(getPaymentType())) {
 

+ 12 - 7
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -92,13 +92,15 @@
         t.music_sheet_type_ as musicSheetType,
         t.audit_status_ as auditStatus,
         t.submit_audit_time_ as submitAuditTime,
-        t.cbs_music_sheet_id_ as cbsMusicSheetId
+        t.cbs_music_sheet_id_ as cbsMusicSheetId,
+        t.score_type_ as scoreType
     </sql>
     <insert id="batchInsert">
         insert into music_sheet
         (cbs_music_sheet_id_,music_tag_,payment_type_,charge_type_,top_flag_,exquisite_flag_,sort_number_,state_,audit_status_
             ,music_sheet_name_,music_subject_,music_svg_,composer_,accompaniment_type_,play_speed_,
-         music_price_,notation_,music_sheet_type_,source_type_,provider_type_,audio_type_,show_fingering_,can_evaluate_,create_by_,user_id_
+         music_price_,notation_,music_sheet_type_,source_type_,provider_type_,audio_type_,show_fingering_,
+         can_evaluate_,create_by_,user_id_,score_type_
         )
         values
         <foreach collection="vos" item="item" separator=",">
@@ -113,7 +115,7 @@
             #{item.musicSheetUpdate.audioType},
             #{item.musicSheetUpdate.playSpeed},
             #{item.musicSheetUpdate.musicPrice},
-            #{item.musicSheetUpdate.notation},
+            #{item.isConvertibleScore},
             #{item.musicSheetUpdate.musicSheetType},
             CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM'
                 WHEN #{item.musicSheetUpdate.sourceType} = 'PERSON' THEN 'TEACHER'
@@ -122,7 +124,8 @@
             #{item.musicSheetUpdate.playMode},
             #{item.musicSheetUpdate.showFingering},
             #{item.musicSheetUpdate.canEvaluate},
-            #{item.musicSheetUpdate.userId},#{item.musicSheetUpdate.userId}
+            #{item.musicSheetUpdate.userId},#{item.musicSheetUpdate.userId},
+            #{item.scoreType}
              )
         </foreach>
     </insert>
@@ -220,6 +223,9 @@
         <if test="param.auditStatus != null">
             and msar.last_audit_state_ = #{param.auditStatus}
         </if>
+        <if test="param.scoreType != null">
+            and t.score_type_ = #{param.auditStatus}
+        </if>
         <if test="param.createBy != null">
             and t.create_by_ = #{param.createBy}
         </if>
@@ -244,7 +250,6 @@
         <if test="param.audioType != null">
             and t.audio_type_ = #{param.audioType}
         </if>
-
     </sql>
 
     <select id="selectAlbumDetailPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -892,6 +897,7 @@
             ms.audit_status_ = 'PASS',
             ms.score_type_ = #{item.scoreType},
             ms.state_ = #{item.status},
+            ms.notation_ = #{item.isConvertibleScore},
             ms.provider_type_ = CASE WHEN #{item.availableType} = 'PLATFORM' THEN 'PLATFORM' ELSE 'TENANT' END
             <if test="item.musicSheetUpdate != null">
                 ,ms.music_sheet_name_ = #{item.musicSheetUpdate.name},
@@ -904,7 +910,6 @@
                 ms.music_sheet_type_ = #{item.musicSheetUpdate.musicSheetType},
                 ms.create_by_ = #{item.musicSheetUpdate.userId},
                 ms.audio_type_ = #{item.musicSheetUpdate.playMode},
-                ms.notation_ = #{item.musicSheetUpdate.notation},
                 ms.show_fingering_ = #{item.musicSheetUpdate.showFingering},
                 ms.can_evaluate_ = #{item.musicSheetUpdate.canEvaluate},
                 ms.source_type_ = CASE WHEN #{item.musicSheetUpdate.sourceType} = 'PLATFORM' THEN 'PLATFORM'
@@ -923,7 +928,7 @@
         update music_sheet
         set music_sheet_name_ = #{param.name},music_subject_ = #{param.subjectIds},music_svg_ = #{param.musicSvg},
             composer_ = #{param.composer},title_img_ = #{param.musicCover},music_img_ = #{param.musicCover},accompaniment_type_ = #{param.audioType},
-            play_speed_ = #{param.playSpeed},notation_ = #{param.notation},
+            play_speed_ = #{param.playSpeed},
             music_sheet_type_ = #{param.musicSheetType},source_type_ = CASE WHEN #{param.sourceType} = 'PLATFORM' THEN 'PLATFORM' ELSE 'TEACHER' END,
             create_by_ = #{param.userId}
         where cbs_music_sheet_id_ = #{param.id}