|
@@ -15,6 +15,7 @@ import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareDetailWra
|
|
|
import com.dayaedu.cbs.openfeign.wrapper.courseware.CbsLessonCoursewareWrapper;
|
|
|
import com.dayaedu.cbs.openfeign.wrapper.music.CbsMusicSheetWrapper;
|
|
|
import com.microsvc.toolkit.common.response.paging.PageInfo;
|
|
|
+import com.microsvc.toolkit.common.response.template.R;
|
|
|
import com.yonge.cooleshow.biz.dal.entity.*;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.ClientEnum;
|
|
|
import com.yonge.cooleshow.biz.dal.enums.SourceTypeEnum;
|
|
@@ -519,6 +520,90 @@ public class TenantAlbumMusicServiceImpl extends ServiceImpl<TenantAlbumMusicMap
|
|
|
return lessonCoursewareDetail;
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 关联课程类型
|
|
|
+ *
|
|
|
+ * @param query
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public List<LessonCoursewareDetailWrapper.RefLevelDetailInfo> refLevel(LessonCoursewareDetailWrapper.RefLevelQuery query) {
|
|
|
+ if (query.getTenantId() == null) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 查询出机构下的所有可用教材
|
|
|
+ List<TenantAlbumMusic> detail = tenantAlbumMusicService.lambdaQuery()
|
|
|
+ .eq(TenantAlbumMusic::getTenantId, query.getTenantId())
|
|
|
+ .eq(TenantAlbumMusic::getSubjectType, SubjectTypeEnum.COURSEWARE)
|
|
|
+ .eq(TenantAlbumMusic::getDelFlag, false)
|
|
|
+ .list();
|
|
|
+ if (CollectionUtils.isEmpty(detail)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 根据机构,查询机构可以查看的所有课件,然后根据课件查询对应的课程类型
|
|
|
+ List<LessonCoursewareDetailWrapper.RefLevelDetailInfo> result = new ArrayList<>();
|
|
|
+ List<CbsLessonCoursewareDetailWrapper.Entity> entities = coursewareFeignService.lessonCoursewareDetailLambdaQuery(CbsLessonCoursewareDetailWrapper.LambdaQuery.builder()
|
|
|
+ .id(query.getLessonCoursewareDetailId())
|
|
|
+ .build()).feignData();
|
|
|
+ if (CollectionUtils.isEmpty(entities)) {
|
|
|
+ throw new BizException("课件不存在");
|
|
|
+ }
|
|
|
+ CbsLessonCoursewareDetailWrapper.Entity lessonCoursewareDetail = entities.get(0);
|
|
|
+ if (lessonCoursewareDetail.getLevel() == null) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ List<CbsLessonCoursewareWrapper.Entity> lessonCoursewareEntityList = coursewareFeignService.lessonCoursewareLambdaQuery(CbsLessonCoursewareWrapper.LambdaQuery.builder()
|
|
|
+ .id(lessonCoursewareDetail.getLessonCoursewareId())
|
|
|
+ .build()).feignData();
|
|
|
+ if (CollectionUtils.isEmpty(lessonCoursewareEntityList)) {
|
|
|
+ throw new BizException("课件不存在");
|
|
|
+ }
|
|
|
+ CbsLessonCoursewareWrapper.Entity lessonCourseware = lessonCoursewareEntityList.get(0);
|
|
|
+
|
|
|
+ CbsLessonCoursewareWrapper.LessonCoursewareQuery cbsQuery = new CbsLessonCoursewareWrapper.LessonCoursewareQuery();
|
|
|
+ cbsQuery.setEnableFlag(true);
|
|
|
+ cbsQuery.setOrchestraType(lessonCourseware.getOrchestraType());
|
|
|
+ cbsQuery.setLessonCoursewareIds(detail.stream().map(TenantAlbumMusic::getMusicSheetId).distinct().collect(Collectors.toList()));
|
|
|
+ cbsQuery.setPage(1);
|
|
|
+ cbsQuery.setRows(9999);
|
|
|
+ cbsQuery.setLevel(lessonCourseware.getLevel());
|
|
|
+
|
|
|
+ List<CbsLessonCoursewareWrapper.LessonCourseware> lessonCoursewareList = coursewareFeignService.lessonCoursewarePage(cbsQuery).feignData().getRows();
|
|
|
+
|
|
|
+ // 转map
|
|
|
+ Map<Long, CbsLessonCoursewareWrapper.LessonCourseware> lessonCoursewareMap = lessonCoursewareList.stream().collect(Collectors.toMap(CbsLessonCoursewareWrapper.LessonCourseware::getId, o -> o));
|
|
|
+ List<Long> lessonCoursewareIds = lessonCoursewareList.stream().map(CbsLessonCoursewareWrapper.LessonCourseware::getId).collect(Collectors.toList());
|
|
|
+
|
|
|
+ // 查询可用的课件详情信息
|
|
|
+ List<CbsLessonCoursewareDetailWrapper.Entity> lessonCoursewareDetails = coursewareFeignService
|
|
|
+ .lessonCoursewareDetailLambdaQuery(CbsLessonCoursewareDetailWrapper.LambdaQuery.builder()
|
|
|
+ .level(lessonCoursewareDetail.getLevel())
|
|
|
+ .lessonCoursewareIds(lessonCoursewareIds)
|
|
|
+ .build()).feignData();
|
|
|
+ if (org.springframework.util.CollectionUtils.isEmpty(lessonCoursewareDetails)) {
|
|
|
+ return new ArrayList<>();
|
|
|
+ }
|
|
|
+ for (CbsLessonCoursewareDetailWrapper.Entity coursewareDetail : lessonCoursewareDetails) {
|
|
|
+ LessonCoursewareDetailWrapper.RefLevelDetailInfo refLevelDetailInfo = new LessonCoursewareDetailWrapper.RefLevelDetailInfo();
|
|
|
+ refLevelDetailInfo.setId(coursewareDetail.getId());
|
|
|
+ refLevelDetailInfo.setLessonCoursewareId(coursewareDetail.getLessonCoursewareId());
|
|
|
+ CbsLessonCoursewareWrapper.LessonCourseware lessonCourseware1 = lessonCoursewareMap.get(coursewareDetail.getLessonCoursewareId());
|
|
|
+ if (lessonCourseware1 == null) {
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ refLevelDetailInfo.setCoverImg(lessonCourseware1.getCoverImg());
|
|
|
+ refLevelDetailInfo.setCourseTypeCode(lessonCourseware1.getCourseTypeCode());
|
|
|
+ refLevelDetailInfo.setLockFlag(false);
|
|
|
+ refLevelDetailInfo.setLessonCoursewareName(lessonCourseware1.getName());
|
|
|
+ refLevelDetailInfo.setUseFlag(coursewareDetail.getId().equals(query.getLessonCoursewareDetailId()));
|
|
|
+ result.add(refLevelDetailInfo);
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
private void filterMusicMaterialList(List<LessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList, List<Long> cbsMusicSheetIds) {
|
|
|
if (CollectionUtils.isNotEmpty(knowledgePointList)) {
|
|
|
for (LessonCoursewareDetailWrapper.KnowledgePointSmall knowledgePointSmall : knowledgePointList) {
|