Pārlūkot izejas kodu

Merge branch 'zx_saas_goodsCopy' of http://git.dayaedu.com/yonge/mec into test

zouxuan 1 gadu atpakaļ
vecāks
revīzija
fecb46647a

+ 29 - 22
mec-biz/src/main/java/com/ym/mec/biz/service/impl/LessonCoursewareServiceImpl.java

@@ -194,34 +194,41 @@ public class LessonCoursewareServiceImpl extends ServiceImpl<LessonCoursewareMap
         if (detail == null) {
             return null;
         }
-        List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList = detail.getKnowledgePointList();
+        //获取知识点下的素材列表、下面关联的资源列表,如果applicationIdList是空的,那么把他剔除掉
+        this.setTreeResourceId(detail.getKnowledgePointList());
+        return detail;
+    }
+
+    //递归处理CbsLessonCoursewareDetailWrapper.KnowledgePointSmall
+    private void setTreeResourceId(List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList){
         if(CollectionUtils.isNotEmpty(knowledgePointList)){
-            //获取知识点下的素材列表、下面关联的资源列表,如果applicationIdList是空的,那么把他剔除掉
-            for (CbsLessonCoursewareDetailWrapper.KnowledgePointSmall knowledgePointSmall : knowledgePointList) {
-                List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointSmalls = knowledgePointSmall.getChildren();
-                if (CollectionUtils.isNotEmpty(knowledgePointSmalls)){
-                    for (CbsLessonCoursewareDetailWrapper.KnowledgePointSmall pointSmall : knowledgePointSmalls) {
-                        List<CbsLessonCoursewareDetailWrapper.MaterialSmall> materialList = pointSmall.getMaterialList();
-                        if(CollectionUtils.isNotEmpty(materialList)){
-                            for (CbsLessonCoursewareDetailWrapper.MaterialSmall materialSmall : materialList) {
-                                List<CbsMaterialRefWrapper.AddMaterialRef> materialRefs = materialSmall.getMaterialRefs();
-                                if (CollectionUtils.isNotEmpty(materialRefs)){
-                                    for (CbsMaterialRefWrapper.AddMaterialRef materialRef : materialRefs) {
-//                                        materialRef.setResourceId(null);
-                                        CbsMaterialRefWrapper.RelateMaterialInfo relateMaterialInfo = materialRef.getRelateMaterialInfo();
-                                        if(relateMaterialInfo != null && StringUtils.equals(relateMaterialInfo.getType(),"SONG")
-                                                && CollectionUtils.isNotEmpty(relateMaterialInfo.getApplicationIdList())){
-                                            materialRef.setResourceIdStr(relateMaterialInfo.getId().toString());
-                                        }
-                                    }
-                                }
-                            }
+            knowledgePointList.forEach(knowledgePointSmall -> {
+                this.setResourceId(knowledgePointSmall);
+                List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> children = knowledgePointSmall.getChildren();
+                if(CollectionUtils.isNotEmpty(children)){
+                    this.setTreeResourceId(children);
+                }
+            });
+        }
+    }
+
+
+    private void setResourceId(CbsLessonCoursewareDetailWrapper.KnowledgePointSmall knowledgePointSmall){
+        List<CbsLessonCoursewareDetailWrapper.MaterialSmall> materialList = knowledgePointSmall.getMaterialList();
+        if(CollectionUtils.isNotEmpty(materialList)){
+            for (CbsLessonCoursewareDetailWrapper.MaterialSmall materialSmall : materialList) {
+                List<CbsMaterialRefWrapper.AddMaterialRef> materialRefs = materialSmall.getMaterialRefs();
+                if (CollectionUtils.isNotEmpty(materialRefs)){
+                    for (CbsMaterialRefWrapper.AddMaterialRef materialRef : materialRefs) {
+                        CbsMaterialRefWrapper.RelateMaterialInfo relateMaterialInfo = materialRef.getRelateMaterialInfo();
+                        if(relateMaterialInfo != null && StringUtils.equals(relateMaterialInfo.getType(),"SONG")
+                                && CollectionUtils.isNotEmpty(relateMaterialInfo.getApplicationIdList())){
+                            materialRef.setResourceIdStr(relateMaterialInfo.getId().toString());
                         }
                     }
                 }
             }
         }
-        return detail;
     }
 }