Browse Source

fix 合奏原音排序问题

Eric 10 months ago
parent
commit
4c0222a80e

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

@@ -495,7 +495,16 @@ public class MusicSheetServiceImpl extends ServiceImpl<MusicSheetDao, MusicSheet
 
         List<MusicSheetAccompaniment> background = detail.getBackground();
         if (CollectionUtils.isNotEmpty(background)) {
-            background.sort(Comparator.comparing(MusicSheetAccompaniment::getSortNumber));
+            // 兼容管乐迷曲目同步数据
+            long count = background.stream().map(MusicSheetAccompaniment::getSortNumber)
+                .filter(x -> Objects.nonNull(x) && x <= 0).count();
+            if (count == background.size()) {
+                // 管乐迷原音排序字段
+                background.sort(Comparator.comparing(MusicSheetAccompaniment::getId));
+            } else {
+                // 酷乐秀原音排序字段
+                background.sort(Comparator.comparing(MusicSheetAccompaniment::getSortNumber));
+            }
         }
         return detail;
     }