Просмотр исходного кода

update:歌曲入库支持添加歌词文件v1

tujidelv 1 год назад
Родитель
Сommit
19e1ea937e

+ 1 - 0
src/main/java/top/lvzhiqiang/entity/FileMusicCollection.java

@@ -52,6 +52,7 @@ public class FileMusicCollection implements Serializable {
      */
     private String highQualityUrl;
     private String lowQualityUrl;
+    private String lyricUrl;
 
     /**
      * 备注

+ 1 - 1
src/main/java/top/lvzhiqiang/mapper/MusicInfoMapper.java

@@ -24,7 +24,7 @@ public interface MusicInfoMapper {
     FileMusicCollection findFileMusicCollectionById(Long id);
 
     @Update("update file_music_collection set title=#{title},category_id=#{categoryId},singer=#{singer},issuing_date=#{issuingDate},duration=#{duration},size=#{size}," +
-            "high_quality_url=#{highQualityUrl},low_quality_url=#{lowQualityUrl},remark=#{remark},collection_date=#{collectionDate},modify_time=now() where id=#{id}")
+            "high_quality_url=#{highQualityUrl},low_quality_url=#{lowQualityUrl},lyric_url=#{lyricUrl},remark=#{remark},collection_date=#{collectionDate},modify_time=now() where id=#{id}")
     void updateFileMusicCollection(FileMusicCollection fileMusicCollection);
 
     @Select({"<script>" +

+ 16 - 0
src/main/java/top/lvzhiqiang/service/impl/MusicInfoServiceImpl.java

@@ -196,6 +196,22 @@ public class MusicInfoServiceImpl extends BaseServiceImpl<Object> implements Mus
                     } else {
                         throw new BusinessException(ResultCodeEnum.UNKNOWN_ERROR.getCode(), "上传新文件失败!");
                     }
+                } else if (file != null && StringUtils.isNotEmpty(file.getOriginalFilename()) && "lyric".equals(qualityType)) {
+                    // 1、给上传的图片生成新的文件名
+                    // 1.1获取原始文件名
+                    String lowQualityUrl = fileMusicCollection.getLowQualityUrl();
+                    String lyricName = lowQualityUrl.substring(0, lowQualityUrl.lastIndexOf(".")) + ".lrc";
+                    // 2、把图片上传到图片服务器
+                    // 2.1获取上传的io流
+                    InputStream input = file.getInputStream();
+
+                    // 2.2调用FtpUtil工具类进行上传
+                    boolean result = FtpUtil.uploadFile(ftpBasePath, "", lyricName, input);
+                    if (result) {
+                        fileMusicCollection.setLyricUrl(lyricName);
+                    } else {
+                        throw new BusinessException(ResultCodeEnum.UNKNOWN_ERROR.getCode(), "上传新文件失败!");
+                    }
                 }
 
                 musicInfoMapper.updateFileMusicCollection(fileMusicCollection);

+ 1 - 0
src/main/resources/static/coin.html

@@ -525,6 +525,7 @@
                 <select style="height: 24px;" name="qualityType">
                     <option value="low">低品质</option>
                     <option value="high">高品质</option>
+                    <option value="lyric">歌词</option>
                 </select>
                 <span>文件</span>
                 <input type="file" name="file" multiple/>