Przeglądaj źródła

Merge branch 'dev_v1.3.5_20220929' of http://git.dayaedu.com/yonge/cooleshow into dev_v1.3.5_20220929

liujunchi 2 lat temu
rodzic
commit
939d5b0802

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

@@ -102,6 +102,13 @@ public interface MusicSheetService extends IService<MusicSheet> {
     IPage<MusicSheetVo> selectStudentPage(IPage<MusicSheetVo> page, StudentMusicSheetSearch query, ClientEnum clientType);
 
     /**
+     * 更新曲目专辑数
+     * @param records List<MusicSheetVo>
+     * @return List<MusicSheetVo>
+     */
+    List<MusicSheetVo> updateMusicAlbumNumInfo(List<MusicSheetVo> records);
+
+    /**
      * 收藏/取消收藏 曲目
      *
      * @param userId 用户id , 学生id

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

@@ -150,10 +150,18 @@ public class MusicAlbumServiceImpl extends ServiceImpl<MusicAlbumDao,MusicAlbum>
 
         IPage<MusicSheetVo> musicSheetVoIPage = musicSheetService.selectAlbumDetailPage(page,query);
 
-        // 专辑曲目付费方式
-        List<String> paymentTypes = musicSheetVoIPage.getRecords().stream()
-                .flatMap(x -> Arrays.stream(x.getPaymentType().split(","))).distinct().collect(Collectors.toList());
-        albumDetailVo.setMusicPaymentTypes(paymentTypes);
+        List<MusicSheetVo> records = musicSheetVoIPage.getRecords();
+        if (CollectionUtils.isNotEmpty(records)) {
+
+            // 专辑曲目付费方式
+            List<String> paymentTypes = musicSheetVoIPage.getRecords().stream()
+                    .flatMap(x -> Arrays.stream(x.getPaymentType().split(","))).distinct().collect(Collectors.toList());
+            albumDetailVo.setMusicPaymentTypes(paymentTypes);
+
+            // 更新曲目专辑数量
+            musicSheetService.updateMusicAlbumNumInfo(records);
+        }
+
 
         albumDetailVo.setMusicSheetList(PageUtil.pageInfo(musicSheetVoIPage));
 

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

@@ -363,16 +363,7 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
         if (CollectionUtils.isNotEmpty(records)) {
 
             // 统计单曲归属专辑数
-            List<Long> musicIds = records.stream()
-                    .map(MusicSheet::getId).distinct().collect(Collectors.toList());
-
-            Map<Long, Integer> collect = getBaseMapper().selectMusicAlbumStatInfo(musicIds).stream()
-                    .collect(Collectors.toMap(StatGroupWrapper::getId, StatGroupWrapper::getTotal, (o, n) -> n));
-
-            for (MusicSheetVo item : records) {
-
-                item.setAlbumNums(collect.getOrDefault(item.getId(), 0));
-            }
+            updateMusicAlbumNumInfo(records);
         }
     	
     	/*if(query.getMyself() != null && query.getMyself() == false){//首页
@@ -399,6 +390,26 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
     }
 
+    /**
+     * 更新曲目专辑数
+     * @param records List<MusicSheetVo>
+     * @return List<MusicSheetVo>
+     */
+    public List<MusicSheetVo> updateMusicAlbumNumInfo(List<MusicSheetVo> records) {
+        List<Long> musicIds = records.stream()
+                .map(MusicSheet::getId).distinct().collect(Collectors.toList());
+
+        Map<Long, Integer> collect = getBaseMapper().selectMusicAlbumStatInfo(musicIds).stream()
+                .collect(Collectors.toMap(StatGroupWrapper::getId, StatGroupWrapper::getTotal, (o, n) -> n));
+
+        for (MusicSheetVo item : records) {
+
+            item.setAlbumNums(collect.getOrDefault(item.getId(), 0));
+        }
+
+        return records;
+    }
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public boolean setFavorite(Long userId, Long musicSheetId, ClientEnum clientType) {