|  | @@ -14,6 +14,7 @@ import com.ym.mec.biz.dal.dto.SimpleUserDto;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.LessonCourseware;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.LessonCoursewareUserMapper;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.entity.SysMusicScore;
 | 
	
		
			
				|  |  | +import com.ym.mec.biz.dal.entity.Teacher;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.mapper.LessonCoursewareMapper;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.dal.wrapper.LessonCoursewareWrapper;
 | 
	
		
			
				|  |  |  import com.ym.mec.biz.service.LessonCoursewareService;
 | 
	
	
		
			
				|  | @@ -64,6 +65,7 @@ public class LessonCoursewareServiceImpl extends ServiceImpl<LessonCoursewareMap
 | 
	
		
			
				|  |  |                  List<Long> lessonCoursewareIds = dtos.stream().map(LessonCoursewareWrapper.LessonCoursewareDto::getLessonCoursewareId).collect(Collectors.toList());
 | 
	
		
			
				|  |  |                  CbsLessonCoursewareWrapper.LambdaQuery lambdaQuery = new CbsLessonCoursewareWrapper.LambdaQuery();
 | 
	
		
			
				|  |  |                  lambdaQuery.setIds(lessonCoursewareIds);
 | 
	
		
			
				|  |  | +                lambdaQuery.setLevel(query.getLevel());
 | 
	
		
			
				|  |  |                  lambdaQuery.setName(query.getSearch());
 | 
	
		
			
				|  |  |                  List<CbsLessonCoursewareWrapper.Entity> entityList = coursewareFeignService.lessonCoursewareLambdaQuery(lambdaQuery).feignData();
 | 
	
		
			
				|  |  |                  if(CollectionUtils.isNotEmpty(entityList)){
 | 
	
	
		
			
				|  | @@ -106,6 +108,7 @@ public class LessonCoursewareServiceImpl extends ServiceImpl<LessonCoursewareMap
 | 
	
		
			
				|  |  |                      e.setName(entity.getName());
 | 
	
		
			
				|  |  |                      e.setCover(entity.getCoverImg());
 | 
	
		
			
				|  |  |                      e.setCourseNum(entity.getCourseNum());
 | 
	
		
			
				|  |  | +                    e.setLevel(entity.getLevel());
 | 
	
		
			
				|  |  |                  }
 | 
	
		
			
				|  |  |              }
 | 
	
		
			
				|  |  |          }
 | 
	
	
		
			
				|  | @@ -201,6 +204,79 @@ public class LessonCoursewareServiceImpl extends ServiceImpl<LessonCoursewareMap
 | 
	
		
			
				|  |  |          return detail;
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    @Override
 | 
	
		
			
				|  |  | +    public List<LessonCoursewareWrapper.RefLevelDetailInfo> refLevel(LessonCoursewareWrapper.RefLevelQuery query) {
 | 
	
		
			
				|  |  | +        List<LessonCoursewareWrapper.RefLevelDetailInfo> result = new ArrayList<>();
 | 
	
		
			
				|  |  | +        CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail lessonCoursewareDetail =
 | 
	
		
			
				|  |  | +                coursewareFeignService.lessonCoursewareDetailDetail(Long.parseLong(query.getLessonCoursewareDetailId())).feignData();
 | 
	
		
			
				|  |  | +        if (lessonCoursewareDetail == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("课件未找到");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        Teacher teacher = teacherDao.get(query.getTeacherId());
 | 
	
		
			
				|  |  | +        if (teacher == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("老师信息不存在");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        if (lessonCoursewareDetail.getLevel() == null || teacher.getCoursewareFlag()) {
 | 
	
		
			
				|  |  | +            return new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        LessonCoursewareWrapper.LessonCoursewareQuery query1 = new LessonCoursewareWrapper.LessonCoursewareQuery();
 | 
	
		
			
				|  |  | +        query1.setPage(1);
 | 
	
		
			
				|  |  | +        query1.setRows(9999);
 | 
	
		
			
				|  |  | +        query1.setTeacherId(query.getTeacherId());
 | 
	
		
			
				|  |  | +        query1.setEnable(true);
 | 
	
		
			
				|  |  | +        List<LessonCoursewareWrapper.LessonCoursewareDto> dtos = baseMapper.list(query1);
 | 
	
		
			
				|  |  | +        if(CollectionUtils.isEmpty(dtos)){
 | 
	
		
			
				|  |  | +            return new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<Long> lessonCoursewareIds = dtos.stream().map(LessonCoursewareWrapper.LessonCoursewareDto::getLessonCoursewareId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        CbsLessonCoursewareWrapper.LessonCourseware lessonCourseware =
 | 
	
		
			
				|  |  | +                coursewareFeignService.lessonCoursewareDetail(lessonCoursewareDetail.getLessonCoursewareId()).feignData();
 | 
	
		
			
				|  |  | +        if (lessonCourseware == null) {
 | 
	
		
			
				|  |  | +            throw new BizException("课件未找到");
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        // 查询当前能使用的课件
 | 
	
		
			
				|  |  | +        CbsLessonCoursewareWrapper.LessonCoursewareQuery lambdaQuery = new CbsLessonCoursewareWrapper.LessonCoursewareQuery();
 | 
	
		
			
				|  |  | +        lambdaQuery.setPage(1);
 | 
	
		
			
				|  |  | +        lambdaQuery.setRows(9999);
 | 
	
		
			
				|  |  | +        lambdaQuery.setLevel(lessonCourseware.getLevel());
 | 
	
		
			
				|  |  | +        lambdaQuery.setOrchestraType(lessonCourseware.getOrchestraType());
 | 
	
		
			
				|  |  | +        lambdaQuery.setLessonCoursewareIds(lessonCoursewareIds);
 | 
	
		
			
				|  |  | +        List<CbsLessonCoursewareWrapper.LessonCourseware> lessonCoursewareList = coursewareFeignService.lessonCoursewarePage(lambdaQuery).feignData().getRows();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(lessonCoursewareList)) {
 | 
	
		
			
				|  |  | +            return new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        List<Long> courseIds = lessonCoursewareList.stream().map(CbsLessonCoursewareWrapper.LessonCourseware::getId).collect(Collectors.toList());
 | 
	
		
			
				|  |  | +        Map<Long, CbsLessonCoursewareWrapper.LessonCourseware> lessonCoursewareMap =
 | 
	
		
			
				|  |  | +                lessonCoursewareList.stream().collect(Collectors.toMap(CbsLessonCoursewareWrapper.LessonCourseware::getId, o -> o));
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        // 查询可用的课件详情信息
 | 
	
		
			
				|  |  | +        CbsLessonCoursewareDetailWrapper.LessonCoursewareDetailQuery lessonCoursewareDetailQuery = new CbsLessonCoursewareDetailWrapper.LessonCoursewareDetailQuery();
 | 
	
		
			
				|  |  | +        lessonCoursewareDetailQuery.setPage(1);
 | 
	
		
			
				|  |  | +        lessonCoursewareDetailQuery.setRows(9999);
 | 
	
		
			
				|  |  | +        lessonCoursewareDetailQuery.setLessonCoursewareIdList(courseIds);
 | 
	
		
			
				|  |  | +        lessonCoursewareDetailQuery.setLevel(lessonCoursewareDetail.getLevel());
 | 
	
		
			
				|  |  | +        List<CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail> lessonCoursewareDetails = coursewareFeignService.lessonCoursewareDetailPage(lessonCoursewareDetailQuery).feignData().getRows();
 | 
	
		
			
				|  |  | +        if (CollectionUtils.isEmpty(lessonCoursewareDetails)) {
 | 
	
		
			
				|  |  | +            return new ArrayList<>();
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        for (CbsLessonCoursewareDetailWrapper.LessonCoursewareDetail coursewareDetail : lessonCoursewareDetails) {
 | 
	
		
			
				|  |  | +            LessonCoursewareWrapper.RefLevelDetailInfo refLevelDetailInfo = new LessonCoursewareWrapper.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;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  |      //递归处理CbsLessonCoursewareDetailWrapper.KnowledgePointSmall
 | 
	
		
			
				|  |  |      private void setTreeResourceId(List<CbsLessonCoursewareDetailWrapper.KnowledgePointSmall> knowledgePointList,List<Integer> categoryIdList){
 | 
	
		
			
				|  |  |          if(CollectionUtils.isNotEmpty(knowledgePointList)){
 |