liujc 10 kuukautta sitten
vanhempi
commit
e15c94e4cd

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

@@ -465,8 +465,10 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
                 .list()
                 .stream()
                 .collect(Collectors.toMap(MusicSheet::getCbsMusicSheetId, MusicSheet::getId,(o1,o2)->o1));
+
+            // 过滤掉没有对应的曲目
+            filterMusicMaterialList(knowledgePointList,new ArrayList<>(idMap.keySet()));
             for (LessonCoursewareDetailWrapper.MaterialSmall musicMaterialSmall : musicMaterialSmalls) {
-                musicMaterialSmall.setStatus(idMap.keySet().contains(Long.parseLong(musicMaterialSmall.getContent())));
                 musicMaterialSmall.setContent(idMap.getOrDefault(Long.parseLong(musicMaterialSmall.getContent()),-1L).toString());
             }
         }
@@ -496,6 +498,22 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
         return lessonCoursewareDetail;
     }
 
+    private void filterMusicMaterialList(List<LessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList, List<Long> cbsMusicSheetIds) {
+        if (CollectionUtils.isNotEmpty(knowledgePointList)) {
+            for (LessonCoursewareDetailWrapper.KnowledgePointSmall knowledgePointSmall : knowledgePointList) {
+
+                if (CollectionUtils.isNotEmpty(knowledgePointSmall.getChildren())) {
+                    filterMusicMaterialList(knowledgePointSmall.getChildren(),cbsMusicSheetIds);
+                }
+                List<LessonCoursewareDetailWrapper.MaterialSmall> materialList = knowledgePointSmall.getMaterialList();
+                if (CollectionUtils.isNotEmpty(materialList)) {
+                    materialList.removeIf(next -> (EMaterialType.SONG.equals(next.getType()) && !cbsMusicSheetIds.contains(Long.parseLong(next.getContent()))));
+                    knowledgePointSmall.setMaterialList(materialList);
+                }
+            }
+        }
+    }
+
     private List<LessonCoursewareDetailWrapper.MaterialSmall> getMaterialSmalls(List<LessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList) {
         List<LessonCoursewareDetailWrapper.MaterialSmall> materialRefList = new ArrayList<>();
         if (CollectionUtils.isNotEmpty(knowledgePointList)) {

+ 2 - 2
cooleshow-user/user-biz/src/main/java/com/yonge/cooleshow/biz/dal/wrapper/LessonCoursewareDetailWrapper.java

@@ -96,8 +96,8 @@ public class LessonCoursewareDetailWrapper {
         @ApiModelProperty("关联资源数据")
         private List<AddMaterialRef> materialRefs;
 
-        @ApiModelProperty("状态")
-        private boolean status = true;
+//        @ApiModelProperty("状态")
+//        private boolean status = true;
     }
 
     @Data