Browse Source

fix:曲目声部修改,删除专辑曲目关联

liujunchi 3 years ago
parent
commit
2cacb8dfb3

+ 6 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/AlbumMusicRelateService.java

@@ -32,4 +32,10 @@ public interface AlbumMusicRelateService extends IService<AlbumMusicRelate> {
      */
     boolean addMusicSheet(Long albumId, List<Long> musicSheetIdList, Long userId);
 
+    /**
+     * 删除曲目与专辑关联
+     *
+     * @param musicSheetId 曲目id
+     */
+    void delByMusicSheet(Long musicSheetId);
 }

+ 7 - 0
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/service/impl/AlbumMusicRelateServiceImpl.java

@@ -70,4 +70,11 @@ public class AlbumMusicRelateServiceImpl extends ServiceImpl<AlbumMusicRelateDao
 
         return this.saveBatch(albumMusicRelateList);
     }
+
+    @Override
+    public void delByMusicSheet(Long musicSheetId) {
+        this.lambdaUpdate()
+                .eq(AlbumMusicRelate::getMusicSheetId,musicSheetId)
+                .remove();
+    }
 }

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

@@ -94,9 +94,7 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
         albumDetailVo.setAlbumFavoriteCount(musicAlbum.getAlbumFavoriteCount());
         albumDetailVo.setMusicTagNames(musicTagService.getMusicTagNames(StringUtil.toLongList(musicAlbum.getAlbumTag())));
 
-        if(query.getType() == 1) {
-            query.setSubjectIds(musicAlbum.getSubjectId());
-        }
+        query.setSubjectIds(musicAlbum.getSubjectId());
 
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectAlbumDetailPage(page,query);
         albumDetailVo.setMusicSheetList(PageUtil.pageInfo(musicSheetVoIPage));

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

@@ -78,6 +78,9 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
     private MusicSheetAuthRecordService musicSheetAuthRecordService;
 
     @Autowired
+    private AlbumMusicRelateService albumMusicRelateService;
+
+    @Autowired
     private SysUserFeignService sysUserFeignService;
 
     @Autowired
@@ -392,6 +395,10 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         if (musicSheetDto.getAuditVersion() == null) {
             musicSheetDto.setAuditVersion(YesOrNoEnum.NO);
         }
+
+        // 删除曲目专辑关联
+        delAlbumSheetRef(musicSheetDto.getId(),musicSheetDto.getMusicSubject());
+
         List<MusicSheetAccompaniment> list;
         if (!AudioTypeEnum.MIDI.getCode().equals(musicSheetDto.getAudioType().getCode())){
             list = musicSheetDto.getBackground();
@@ -414,6 +421,26 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao,MusicSheet>
         }
     }
 
+    /**
+     * 删除专辑曲目关联
+     *
+     * @param id 曲目id
+     * @param subjectId 声部id
+     */
+    private void delAlbumSheetRef(Long id,String subjectId) {
+
+        if (id == null ) {
+            return;
+        }
+        MusicSheet musicSheet = this.getById(id);
+        if (musicSheet.getMusicSubject().equals(subjectId)) {
+            return;
+        }
+        albumMusicRelateService.delByMusicSheet(musicSheet.getId());
+
+
+    }
+
     @Override
     public HttpResponseResult<OrderCreateRes> buyMusicSheetCheck(OrderReq.OrderReqInfo orderReqInfo) {