zouxuan před 1 rokem
rodič
revize
1dfcdb64cb

+ 2 - 2
mec-application/src/main/java/com/ym/mec/student/controller/LessonCoursewareController.java

@@ -64,8 +64,8 @@ public class LessonCoursewareController extends BaseController {
 
 	@ApiOperation(value = "获取课程详情")
 	@GetMapping("/getLessonCourseDetail/{id}")
-	public HttpResponseResult<CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail> getLessonCourseDetail(@PathVariable("id") String id){
-		return succeed(coursewareFeignService.lessonCoursewareDetailDetail(Long.parseLong(id)).feignData());
+	public HttpResponseResult<CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail> getLessonCourseDetail(@PathVariable("id") Long id){
+		return succeed(lessonCoursewareService.getLessonCourseDetail(id));
 	}
 
 	@ApiOperation(value = "获取课件关联的声部列表")

+ 2 - 2
mec-application/src/main/java/com/ym/mec/teacher/controller/LessonCoursewareController.java

@@ -64,8 +64,8 @@ public class LessonCoursewareController extends BaseController {
 
 	@ApiOperation(value = "获取课程详情")
 	@GetMapping("/getLessonCourseDetail/{id}")
-	public HttpResponseResult<CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail> getLessonCourseDetail(@PathVariable("id") String id){
-		return succeed(coursewareFeignService.lessonCoursewareDetailDetail(Long.parseLong(id)).feignData());
+	public HttpResponseResult<CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail> getLessonCourseDetail(@PathVariable("id") Long id){
+		return succeed(lessonCoursewareService.getLessonCourseDetail(id));
 	}
 
 	@ApiOperation(value = "获取课件关联的声部列表")

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/LessonCoursewareService.java

@@ -2,6 +2,7 @@ package com.ym.mec.biz.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareDetailWrapper;
 import com.ym.mec.biz.dal.mapper.LessonCoursewareMapper;
 import com.ym.mec.biz.dal.entity.LessonCourseware;
 import com.ym.mec.biz.dal.wrapper.LessonCoursewareWrapper;
@@ -18,5 +19,7 @@ public interface LessonCoursewareService extends IService<LessonCourseware> {
 
     //获取课件适用范围
     LessonCoursewareWrapper.UpdateRangeDetail getRangeType(Integer lessonCoursewareId);
+
+    CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail getLessonCourseDetail(Long id);
 }
 

+ 35 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/LessonCoursewareServiceImpl.java

@@ -3,7 +3,9 @@ package com.ym.mec.biz.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.dayaedu.cbs.openfeign.client.CoursewareFeignService;
+import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareDetailWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareWrapper;
+import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsMaterialRefWrapper;
 import com.microsvc.toolkit.common.response.template.R;
 import com.ym.mec.biz.dal.dao.SubjectDao;
 import com.ym.mec.biz.dal.dao.TeacherDao;
@@ -14,6 +16,7 @@ import com.ym.mec.biz.dal.mapper.LessonCoursewareMapper;
 import com.ym.mec.biz.dal.wrapper.LessonCoursewareWrapper;
 import com.ym.mec.biz.service.LessonCoursewareService;
 import com.ym.mec.biz.service.LessonCoursewareUserMapperService;
+import com.ym.mec.biz.service.SysMusicScoreService;
 import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.util.collection.MapUtil;
@@ -48,6 +51,8 @@ public class LessonCoursewareServiceImpl extends ServiceImpl<LessonCoursewareMap
     private SubjectDao subjectDao;
     @Resource
     private TeacherDao teacherDao;
+    @Resource
+    private SysMusicScoreService sysMusicScoreService;
 
     @Override
     public IPage<LessonCoursewareWrapper.LessonCoursewareDto> selectPage(IPage<LessonCoursewareWrapper.LessonCoursewareDto> page, LessonCoursewareWrapper.LessonCoursewareQuery query) {
@@ -183,5 +188,35 @@ public class LessonCoursewareServiceImpl extends ServiceImpl<LessonCoursewareMap
         return detail;
     }
 
+    @Override
+    public CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail getLessonCourseDetail(Long id) {
+        CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail detail = coursewareFeignService.lessonCoursewareDetailDetail(id).feignData();
+        if (detail == null) {
+            return null;
+        }
+        List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList = detail.getKnowledgePointList();
+        if(CollectionUtils.isNotEmpty(knowledgePointList)){
+            //获取知识点下的素材列表、下面关联的资源列表,如果applicationIdList是空的,那么把他剔除掉
+            for (CbsLessonCoursewareDetailWrapper.KnowledgePointSmall knowledgePointSmall : knowledgePointList) {
+                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) {
+                                materialRef.setResourceId(null);
+                                CbsMaterialRefWrapper.RelateMaterialInfo relateMaterialInfo = materialRef.getRelateMaterialInfo();
+                                if(relateMaterialInfo != null && StringUtils.equals(relateMaterialInfo.getType(),"SONG")
+                                        && CollectionUtils.isNotEmpty(relateMaterialInfo.getApplicationIdList())){
+                                    materialRef.setResourceId(relateMaterialInfo.getId());
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+        return detail;
+    }
 }
 

+ 3 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SysMusicScoreServiceImpl.java

@@ -1,6 +1,7 @@
 package com.ym.mec.biz.service.impl;
 
 
+import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.beust.jcommander.internal.Lists;
 import com.dayaedu.cbs.common.enums.EClientType;
@@ -14,6 +15,7 @@ import com.dayaedu.cbs.openfeign.client.MusicFeignClientService;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetApplicationExtendClientWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
 import com.dayaedu.cbs.openfeign.wrapper.musicInstrument.CbsMusicalInstrumentWrapper;
+import com.google.common.collect.Maps;
 import com.microsvc.toolkit.common.response.template.R;
 import com.ym.mec.biz.dal.dao.SysMusicScoreAccompanimentDao;
 import com.ym.mec.biz.dal.dao.SysMusicScoreCategoriesDao;
@@ -34,6 +36,7 @@ import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import javax.annotation.Resource;