|
|
|
@ -901,17 +901,23 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
|
|
|
|
|
public Tree<String> getTreeByTeacherOpenCourseId(
|
|
|
|
|
@NotNull(message = "开课ID不能为空!") final Long teacherOpenCourseId) {
|
|
|
|
|
|
|
|
|
|
// 查询开课下的课程章节小节等所有信息
|
|
|
|
|
List<TeacherOpenCourseMergeCourseInfoMyTree> courseInfoList = teacherOpenCourseMergeCourseInfoDao
|
|
|
|
|
.getByOpenCourseId(teacherOpenCourseId);
|
|
|
|
|
dictParser(courseInfoList);
|
|
|
|
|
|
|
|
|
|
// 有@Dict注解的时候,再开启
|
|
|
|
|
// dictParser(courseInfoList);
|
|
|
|
|
|
|
|
|
|
// 查询开课下的,资源信息
|
|
|
|
|
TeacherOpenCourseMergeResourcesInfoQuery resourcesInfoQuery = new TeacherOpenCourseMergeResourcesInfoQuery();
|
|
|
|
|
resourcesInfoQuery.setResourcesInfoStatus(UP);
|
|
|
|
|
resourcesInfoQuery.setTeacherOpenCourseId(teacherOpenCourseId);
|
|
|
|
|
final List<TeacherOpenCourseMergeResourcesInfo> resourcesInfoList = teacherOpenCourseMergeResourcesInfoService.getValuesByQueryNotWithPermission(resourcesInfoQuery);
|
|
|
|
|
|
|
|
|
|
// 下面会有删除操作,所以用线程安全的集合
|
|
|
|
|
CopyOnWriteArrayList<TeacherOpenCourseMergeResourcesInfo> resourcesInfoCopyOnWriteArrayList = new CopyOnWriteArrayList<>(resourcesInfoList);
|
|
|
|
|
|
|
|
|
|
// 自定义树型配置
|
|
|
|
|
TreeNodeConfig defaultConfig = new TreeNodeConfig();
|
|
|
|
|
defaultConfig.setIdKey(TeacherOpenCourseMergeCourseInfoMyTree.Fields.teacherOpenCourseMergeCourseInfoId);
|
|
|
|
|
defaultConfig.setParentIdKey(TeacherOpenCourseMergeCourseInfoMyTree.Fields.courseInfoParentId);
|
|
|
|
@ -922,6 +928,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
|
|
|
|
|
List<Tree<String>> build = TreeUtil.build(courseInfoList, "0", defaultConfig, ((courseInfo, treeNode) -> {
|
|
|
|
|
Long courseInfoId = courseInfo.getTeacherOpenCourseMergeCourseInfoId();
|
|
|
|
|
|
|
|
|
|
// 找到这个课程章节ID下,的资源
|
|
|
|
|
List<TeacherOpenCourseMergeResourcesInfo> filteredResourcesInfoList = resourcesInfoCopyOnWriteArrayList.stream()
|
|
|
|
|
.filter(it -> it.getTeacherOpenCourseMergeCourseInfoId().equals(courseInfoId)).collect(Collectors.toList());
|
|
|
|
|
|
|
|
|
@ -929,7 +936,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService<Tea
|
|
|
|
|
String courseInfoIds = filteredResourcesInfoList.stream().map(TeacherOpenCourseMergeResourcesInfo::getTeacherOpenCourseMergeCourseInfoId)
|
|
|
|
|
.map(Objects::toString)
|
|
|
|
|
.collect(Collectors.joining(","));
|
|
|
|
|
// 删除临时变量
|
|
|
|
|
// 删除临时变量中的资源,提升下次查找的速度
|
|
|
|
|
resourcesInfoCopyOnWriteArrayList.removeIf(it -> courseInfoIds.contains(it.getTeacherOpenCourseMergeCourseInfoId().toString()));
|
|
|
|
|
|
|
|
|
|
//对key进行映射赋值
|
|
|
|
|