liujc 1 vuosi sitten
vanhempi
commit
acfc88076f

+ 14 - 3
cooleshow-user/user-admin/src/main/java/com/yonge/cooleshow/admin/controller/MusicSheetController.java

@@ -1,5 +1,6 @@
 package com.yonge.cooleshow.admin.controller;
 
+import com.yonge.cooleshow.biz.dal.enums.MusicSheetTypeEnum;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -111,7 +112,13 @@ public class MusicSheetController extends BaseController {
                 && musicSheetDto.getMusicPrice()==null){
             return failed("此曲谱为收费曲谱,需要提供价格");
         }
-        if (StringUtil.isEmpty(musicSheetDto.getMusicSubject())) {
+
+        // 单曲时声部必填,合奏非必填,默认单曲
+        if (musicSheetDto.getMusicSheetType() == null || StringUtil.isEmpty(musicSheetDto.getMusicSheetType())) {
+            musicSheetDto.setMusicSheetType(MusicSheetTypeEnum.SINGLE);
+        }
+        if (MusicSheetTypeEnum.SINGLE.equals(musicSheetDto.getMusicSheetType())
+                && StringUtil.isEmpty(musicSheetDto.getMusicSubject())) {
             return failed("曲目声部不能为空");
         }
 
@@ -126,7 +133,9 @@ public class MusicSheetController extends BaseController {
             return failed("每个一级标签只能选一个二级标签");
         }
 
-        if (StringUtil.isEmpty(musicSheetDto.getMusicImg())) {
+        // 合奏图片不做限制
+        if (MusicSheetTypeEnum.SINGLE.equals(musicSheetDto.getMusicSheetType()) &&
+                StringUtil.isEmpty(musicSheetDto.getMusicImg())) {
             throw new BizException("曲目渲染失败");
         }
 
@@ -182,7 +191,9 @@ public class MusicSheetController extends BaseController {
             musicSheet.setNotation(YesOrNoEnum.NO);
         }
 
-        if (StringUtil.isEmpty(musicSheet.getMusicImg())) {
+        // 合奏时图片不做限制
+        if (MusicSheetTypeEnum.SINGLE.equals(musicSheet.getMusicSheetType())
+                && StringUtil.isEmpty(musicSheet.getMusicImg())) {
             throw new BizException("曲目渲染失败");
         }
 

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

@@ -3,11 +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.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.biz.dal.enums.ChargeTypeEnum;
-import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
+import com.yonge.cooleshow.biz.dal.enums.*;
 import com.yonge.cooleshow.common.enums.YesOrNoEnum;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -250,6 +246,11 @@ public class MusicSheet implements Serializable {
 	@ApiModelProperty(value = "数据修复时间")
 	private Date correctTime;
 
+	//曲谱类型 SINGLE/CONCERT ,使用MusicSheetTypeEnum
+	@TableField("music_sheet_type_")
+	@ApiModelProperty(value = "曲谱类型(SINGLE:单曲,CONCERT:合奏)")
+	private MusicSheetTypeEnum musicSheetType;
+
 	public Integer getVirtualNumber() {
 		return virtualNumber;
 	}
@@ -706,4 +707,12 @@ public class MusicSheet implements Serializable {
 	public void setCorrectTime(Date correctTime) {
 		this.correctTime = correctTime;
 	}
+
+	public MusicSheetTypeEnum getMusicSheetType() {
+		return musicSheetType;
+	}
+
+	public void setMusicSheetType(MusicSheetTypeEnum musicSheetType) {
+		this.musicSheetType = musicSheetType;
+	}
 }

+ 32 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/enums/MusicSheetTypeEnum.java

@@ -0,0 +1,32 @@
+package com.yonge.cooleshow.biz.dal.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.yonge.toolset.base.enums.BaseEnum;
+
+/**
+ * @author yl
+ * @version v1.0
+ * @apiNote 曲谱类型,用于曲目管理页面新增编辑时的类型判断
+ */
+public enum MusicSheetTypeEnum implements BaseEnum<String, MusicSheetTypeEnum> {
+    /**
+     * 单曲
+     */
+    SINGLE("SINGLE"),
+    /**
+     * 合奏
+     */
+    CONCERT("CONCERT");
+
+    @EnumValue
+    private final String code;
+
+    MusicSheetTypeEnum(String code) {
+        this.code = code;
+    }
+
+    @Override
+    public String getCode() {
+        return this.code;
+    }
+}

+ 11 - 1
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/MusicSheetServiceImpl.java

@@ -391,6 +391,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         } else {
             detail.setPlay(YesOrNoEnum.YES);
         }
+        List<MusicSheetAccompaniment> background = detail.getBackground();
+        if (CollectionUtils.isNotEmpty(background)) {
+            background.sort(Comparator.comparing(MusicSheetAccompaniment::getSortNumber));
+        }
         return detail;
     }
 
@@ -1522,7 +1526,13 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
     @Override
     public List<MusicSheetDetailVo> auditDetailList(Long authMusicSheetId) {
         MusicSheetAuthRecord musicSheetAuthRecord = musicSheetAuthRecordService.getById(authMusicSheetId);
-        return baseMapper.auditDetailList(musicSheetAuthRecord.getOriginalMusicSheetId(),authMusicSheetId);
+        List<MusicSheetDetailVo> sheetDetailVos = baseMapper.auditDetailList(musicSheetAuthRecord.getOriginalMusicSheetId(), authMusicSheetId);
+        for (MusicSheetDetailVo next : sheetDetailVos) {
+            if (CollectionUtils.isNotEmpty(next.getBackground())) {
+                next.getBackground().sort(Comparator.comparing(MusicSheetAccompaniment::getSortNumber));
+            }
+        }
+        return sheetDetailVos;
     }
 
     @Override

+ 8 - 1
cooleshow-user/user-biz/src/main/resources/config/mybatis/MusicSheetMapper.xml

@@ -37,6 +37,7 @@
         <result column="music_img_" jdbcType="VARCHAR" property="musicImg"/>
         <result column="first_tone_" jdbcType="VARCHAR" property="firstTone"/>
         <result column="fixed_tone_" jdbcType="VARCHAR" property="fixedTone"/>
+        <result column="music_sheet_type_" jdbcType="VARCHAR" property="musicSheetType"/>
     </resultMap>
 
     <sql id="Base_Column_List">
@@ -86,7 +87,8 @@
         t.music_json_ as musicJSON,
         t.music_svg_ as musicSvg,
         t.music_jian_svg_ as musicJianSvg,
-        t.music_first_svg_ as musicFirstSvg
+        t.music_first_svg_ as musicFirstSvg,
+        t.music_sheet_type_ as musicSheetType
     </sql>
 
     <select id="selectPage" resultType="com.yonge.cooleshow.biz.dal.vo.MusicSheetVo">
@@ -320,6 +322,11 @@
         <result column="auditName" jdbcType="VARCHAR" property="auditName"/>
         <result column="auditReason" jdbcType="VARCHAR" property="auditReason"/>
         <result column="aiDefaultFrequency" jdbcType="VARCHAR" property="aiDefaultFrequency"/>
+        <result column="musicJSON" jdbcType="VARCHAR" property="musicJSON"/>
+        <result column="musicSvg" jdbcType="VARCHAR" property="musicSvg"/>
+        <result column="musicJianSvg" jdbcType="VARCHAR" property="musicJianSvg"/>
+        <result column="musicFirstSvg" jdbcType="VARCHAR" property="musicFirstSvg"/>
+        <result column="musicSheetType" jdbcType="VARCHAR" property="musicSheetType"/>
         <collection property="background" ofType="com.yonge.cooleshow.biz.dal.entity.MusicSheetAccompaniment">
             <id column="accompanimentId" jdbcType="BIGINT" property="id"/>
             <result column="accompanimentMusicSheetId" jdbcType="BIGINT" property="musicSheetId"/>