Forráskód Böngészése

转码代码提交

liweifan 3 éve
szülő
commit
93eaf38fc5

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/SysMusicScoreDao.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.dal.dao;
 
 
+import com.ym.mec.biz.dal.dto.SysMusicScoreMetronomeTranscod;
 import com.ym.mec.biz.dal.dto.SysMusicScoreTranscod;
 import com.ym.mec.biz.dal.entity.SysMusicScore;
 import com.ym.mec.biz.dal.entity.SysMusicScoreAccompaniment;
@@ -17,6 +18,8 @@ public interface SysMusicScoreDao extends BaseDAO<Integer, SysMusicScore> {
 
     SysMusicScoreTranscod getTranscod(@Param("sysMusicScoreId") Integer sysMusicScoreId);
 
+    List<SysMusicScoreMetronomeTranscod> getMetronomeTranscod(@Param("sysMusicScoreId") Integer sysMusicScoreId);
+
     int updateAccompanimentBySongId(@Param("param") SysMusicScoreAccompaniment param);
 
 }

+ 44 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SysMusicScoreMetronomeTranscod.java

@@ -0,0 +1,44 @@
+package com.ym.mec.biz.dal.dto;
+
+public class SysMusicScoreMetronomeTranscod {
+    //sys_music_score_accompaniment.id_
+    private Integer id;
+    //sys_music_score_accompaniment.exam_song_id_
+    private Integer examSongId;
+    //原音MP3
+    private String mp3Url;
+    //原音MP3(含节拍器)
+    private String  metronomeMp3Url;
+
+    public Integer getId() {
+        return id;
+    }
+
+    public void setId(Integer id) {
+        this.id = id;
+    }
+
+    public Integer getExamSongId() {
+        return examSongId;
+    }
+
+    public void setExamSongId(Integer examSongId) {
+        this.examSongId = examSongId;
+    }
+
+    public String getMp3Url() {
+        return mp3Url;
+    }
+
+    public void setMp3Url(String mp3Url) {
+        this.mp3Url = mp3Url;
+    }
+
+    public String getMetronomeMp3Url() {
+        return metronomeMp3Url;
+    }
+
+    public void setMetronomeMp3Url(String metronomeMp3Url) {
+        this.metronomeMp3Url = metronomeMp3Url;
+    }
+}

+ 9 - 18
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/SysMusicScoreTranscod.java

@@ -1,18 +1,17 @@
 package com.ym.mec.biz.dal.dto;
 
+import java.util.ArrayList;
+import java.util.List;
+
 public class SysMusicScoreTranscod {
-    //sys_music_score.id
+    //sys_music_score.id_
     private Integer id;
     //伴奏MP3
     private String url;
     //伴奏MP3(含节拍器)
     private String  metronomeUrl;
 
-    //原音MP3
-    private String mp3Url;
-    //原音MP3(含节拍器)
-    private String  metronomeMp3Url;
-
+    private List<SysMusicScoreMetronomeTranscod> accompanimentList = new ArrayList<>();
 
     public Integer getId() {
         return id;
@@ -38,19 +37,11 @@ public class SysMusicScoreTranscod {
         this.metronomeUrl = metronomeUrl;
     }
 
-    public String getMp3Url() {
-        return mp3Url;
-    }
-
-    public void setMp3Url(String mp3Url) {
-        this.mp3Url = mp3Url;
-    }
-
-    public String getMetronomeMp3Url() {
-        return metronomeMp3Url;
+    public List<SysMusicScoreMetronomeTranscod> getAccompanimentList() {
+        return accompanimentList;
     }
 
-    public void setMetronomeMp3Url(String metronomeMp3Url) {
-        this.metronomeMp3Url = metronomeMp3Url;
+    public void setAccompanimentList(List<SysMusicScoreMetronomeTranscod> accompanimentList) {
+        this.accompanimentList = accompanimentList;
     }
 }

+ 36 - 26
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -18,6 +18,7 @@ import java.util.stream.Collectors;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ym.mec.biz.dal.dao.*;
+import com.ym.mec.biz.dal.dto.SysMusicScoreMetronomeTranscod;
 import com.ym.mec.biz.dal.dto.SysMusicScoreTranscod;
 import com.ym.mec.biz.dal.entity.SysMusicScoreChangeLog;
 import com.ym.mec.biz.service.UploadFileService;
@@ -242,6 +243,8 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
         if (obj == null) {
             throw new BizException("曲目信息不存在");
         }
+        List<SysMusicScoreMetronomeTranscod> metronomeTranscod = sysMusicScoreDao.getMetronomeTranscod(sysMusicScoreId);
+        obj.setAccompanimentList(metronomeTranscod);
         //
         String old = JSONObject.toJSONString(obj);
         boolean flag = false;
@@ -255,36 +258,43 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
             obj.setMetronomeUrl(metronomeUrl);
             flag = true;
         }
-        String mp3Url = doTranscod(obj.getMp3Url());
-        if (StringUtils.isNotEmpty(mp3Url)) {
-            obj.setMp3Url(mp3Url);
-            flag = true;
-        }
-        String metronomeMp3Url = doTranscod(obj.getMetronomeMp3Url());
-        if (StringUtils.isNotEmpty(metronomeMp3Url)) {
-            obj.setMetronomeMp3Url(metronomeMp3Url);
-            flag = true;
+        if (flag) {
+            //更新obj
+            SysMusicScore sysMusicScore = new SysMusicScore();
+            sysMusicScore.setId(obj.getId());
+            sysMusicScore.setUrl(obj.getUrl());
+            sysMusicScore.setMetronomeUrl(obj.getMetronomeUrl());
+            sysMusicScoreDao.update(sysMusicScore);
         }
 
-        if(!flag){
+        for (SysMusicScoreMetronomeTranscod o : metronomeTranscod) {
+            Boolean subFlag = false;
+            String mp3Url = doTranscod(o.getMp3Url());
+            if (StringUtils.isNotEmpty(mp3Url)) {
+                o.setMp3Url(mp3Url);
+                flag = true;
+                subFlag = true;
+            }
+            String metronomeMp3Url = doTranscod(o.getMetronomeMp3Url());
+            if (StringUtils.isNotEmpty(metronomeMp3Url)) {
+                o.setMetronomeMp3Url(metronomeMp3Url);
+                flag = true;
+                subFlag = true;
+            }
+            if (subFlag) {
+                SysMusicScoreAccompaniment accompaniment = new SysMusicScoreAccompaniment();
+                accompaniment.setExamSongId(o.getId());
+                accompaniment.setMp3Url(o.getMp3Url());
+                accompaniment.setMetronomeMp3Url(o.getMetronomeMp3Url());
+                sysMusicScoreDao.updateAccompanimentBySongId(accompaniment);
+            }
+        }
+        if (!flag) {
             return;
         }
-
+        obj.setAccompanimentList(metronomeTranscod);
         String now = JSONObject.toJSONString(obj);
 
-        //更新obj
-        SysMusicScore sysMusicScore = new SysMusicScore();
-        sysMusicScore.setId(obj.getId());
-        sysMusicScore.setUrl(obj.getUrl());
-        sysMusicScore.setMetronomeUrl(obj.getMetronomeUrl());
-        sysMusicScoreDao.update(sysMusicScore);
-
-        SysMusicScoreAccompaniment accompaniment = new SysMusicScoreAccompaniment();
-        accompaniment.setExamSongId(obj.getId());
-        accompaniment.setMp3Url(obj.getMp3Url());
-        accompaniment.setMetronomeMp3Url(obj.getMetronomeMp3Url());
-        sysMusicScoreDao.updateAccompanimentBySongId(accompaniment);
-
         //记录日志
         SysMusicScoreChangeLog log = new SysMusicScoreChangeLog();
         log.setSysMusicScoreId(obj.getId());
@@ -333,11 +343,11 @@ public class SysMusicScoreServiceImpl extends BaseServiceImpl<Integer, SysMusicS
             e.printStackTrace();
         } finally {
             //删除服务器中的文件
-            if(tempFile.exists()){
+            if (tempFile.exists()) {
                 tempFile.delete();
             }
             File tempTranscodFile = new File(tempTranscodFileName);
-            if(tempTranscodFile.exists()){
+            if (tempTranscodFile.exists()) {
                 tempTranscodFile.delete();
             }
         }

+ 11 - 4
mec-biz/src/main/resources/config/mybatis/SysMusicScoreMapper.xml

@@ -154,14 +154,21 @@
 		select
 			t.id_ as id,
 		   	t.url_ as url,
-		   	t.metronome_url_ as metronomeUrl,
-			smsa.mp3_url_ as mp3Url,
-		    smsa.metronome_mp3_url_ as metronomeMp3Url
+		   	t.metronome_url_ as metronomeUrl
 		from sys_music_score t
-		left join sys_music_score_accompaniment smsa on t.id_ = smsa.exam_song_id_ and smsa.del_flag_ = 0
 		where t.del_flag_ = 0 and t.id_ = #{sysMusicScoreId}
 	</select>
 
+	<select id="getMetronomeTranscod" resultType="com.ym.mec.biz.dal.dto.SysMusicScoreMetronomeTranscod">
+		select
+			smsa.id_ as id
+			smsa.exam_song_id_ as examSongId,
+			smsa.mp3_url_ as mp3Url,
+			smsa.metronome_mp3_url_ as metronomeMp3Url
+		from sys_music_score_accompaniment smsa
+		where smsa.del_flag_ = 0 and smsa.exam_song_id_ = #{sysMusicScoreId}
+	</select>
+
 	<update id="updateAccompanimentBySongId">
 		update sys_music_score_accompaniment t
 		<set>