diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeResourcesInfo.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeResourcesInfo.java index ed4fd3a8..affdb416 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeResourcesInfo.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseMergeResourcesInfo.java @@ -21,7 +21,7 @@ public class TeacherOpenCourseMergeResourcesInfo extends BaseEntity{ private Long teacherOpenCourseMergeResourcesInfoId ; //开课课程ID - @Dict(type="teacher_open_course_merge_course_info.course_info_name.course_info_status=1") + @Dict(type="TEACHER_OPEN_COURSE_MERGE_COURSE_INFO.course_info_name.course_info_status=1") private Long courseInfoId ; @@ -68,7 +68,7 @@ public class TeacherOpenCourseMergeResourcesInfo extends BaseEntity{ } /**开课课程ID - *@return + *@return */ public Long getCourseInfoId(){ return courseInfoId; diff --git a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java index 2afafdb5..b0a4719b 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/CourseInfoService.java @@ -239,6 +239,7 @@ public class CourseInfoService extends CoreBaseService{ /** * 通过ID获取带有深层级的课程信息 + * 不包含他自己 * * @param courseInfoId 课程ID * @return @@ -385,6 +386,13 @@ public class CourseInfoService extends CoreBaseService{ return courseInfos; } + /** + * 根据课程(章节、小节)ID,获取该ID下的子集,返回一维集合 + * 不包含他本身 + * + * @param courseInfoId + * @return + */ public List getCourseResources (Long courseInfoId){ List courseInfoList = new ArrayList<>(); diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java index 52ac0ece..8d08b534 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java @@ -1,6 +1,9 @@ package com.ibeetl.jlw.service; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.bean.copier.CopyOptions; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; import cn.jlw.util.ToolUtils; import com.alibaba.fastjson.JSON; @@ -397,8 +400,8 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService courseInfoIds, @@ -406,14 +409,23 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService { - List chapterList = courseInfoService.getChapterList(courseInfoId); + // 当前的课程信息 + CourseInfo currentCourseInfo = courseInfoService.getById(courseInfoId); + // 查询当前课程信息下的,章节或者小节信息,返回一维集合 + List chapterList = courseInfoService.getCourseResources(courseInfoId); + // 将课程本身添加进集合 + chapterList.add(currentCourseInfo); // 拷贝 + CopyOptions copyOptions = CopyOptions.create().setFieldMapping(MapUtil.of("courseInfoId", "teacherOpenCourseMergeCourseInfoId")); List copyToList = - BeanUtil.copyToList(chapterList, TeacherOpenCourseMergeCourseInfo.class); + BeanUtil.copyToList(chapterList, TeacherOpenCourseMergeCourseInfo.class, copyOptions); if (ObjectUtil.isEmpty(copyToList)) { return; } // 设置开课ID - copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId)); + copyToList.forEach(item -> { + item.setTeacherOpenCourseId(teacherOpenCourseId); + item.setCourseInfoName(item.getCourseInfoName().replaceAll(" ", "")); + }); // 批量插入 teacherOpenCourseMergeCourseInfoDao.insertBatch(copyToList); }); @@ -438,12 +450,13 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService { // 获取这个课程章节下的所有的子章节信息 List chapterList = courseInfoService.getChapterList(Long.valueOf(courseInfoId)); + HashSet courseInfos = CollectionUtil.newHashSet(chapterList); // 如果课程章节没查到记录,则下面的资源也没必要执行,资源依赖课程章节 - if (ObjectUtil.isEmpty(chapterList)) { return; } + if (ObjectUtil.isEmpty(courseInfos)) { return; } // 取出来所有的课程章节ID - String allCourseInfoIdsJoin = chapterList.stream().map(item -> item.getCourseInfoId().toString()).collect(joining(",")); + String allCourseInfoIdsJoin = courseInfos.stream().map(item -> item.getCourseInfoId().toString()).collect(joining(",")); ResourcesQuestionQuery resourcesQuestionQuery = new ResourcesQuestionQuery(); resourcesQuestionQuery.setCourseInfoIds(allCourseInfoIdsJoin); diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java index 6be0f106..3cffce82 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java @@ -378,7 +378,7 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ if (ObjectUtil.isEmpty(resourcesQuestionIds)) { return; } // 题目ID集合 - String ids = join(resourcesQuestionIds, ","); + String ids = join(resourcesQuestionIds.toArray(), ","); List resourcesQuestions = resourcesQuestionDao.getByIds(ids); // 拷贝 diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java index 2445cdb5..35a78920 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.collection.CollectionUtil; import cn.jlw.Interceptor.GetFile; import cn.jlw.Interceptor.RFile; import cn.jlw.Interceptor.SCoreUser; @@ -39,7 +40,6 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; /** * 开课课程拉取 开课- 课程配置-离线 接口 @@ -439,8 +439,8 @@ public class TeacherOpenCourseMergeCourseInfoController{ * @return */ @PostMapping(API + "/copyFromCourseInfo.do") - public JsonResult copyFromCourseInfo(Set courseInfoIds, Long teacherOpenCourseId) { - teacherOpenCourseMergeCourseInfoService.copyFromCourseInfo(courseInfoIds, teacherOpenCourseId); + public JsonResult copyFromCourseInfo(Long[] courseInfoIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeCourseInfoService.copyFromCourseInfo(CollectionUtil.newHashSet(courseInfoIds), teacherOpenCourseId); return JsonResult.success(); } @@ -455,8 +455,8 @@ public class TeacherOpenCourseMergeCourseInfoController{ * @return */ @PostMapping(API + "/importCourseInfo.do") - public JsonResult importCourseInfo(Set courseInfoIds, Long teacherOpenCourseId) { - teacherOpenCourseMergeCourseInfoService.importCourseInfo(courseInfoIds, teacherOpenCourseId); + public JsonResult importCourseInfo(Long[] courseInfoIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeCourseInfoService.importCourseInfo(CollectionUtil.newHashSet(courseInfoIds), teacherOpenCourseId); return JsonResult.success(); } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java index 3101f001..34f94a07 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.collection.CollectionUtil; import cn.jlw.Interceptor.GetFile; import cn.jlw.Interceptor.RFile; import cn.jlw.Interceptor.SCoreUser; @@ -39,7 +40,6 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; /** * 开课资源拉取 开课关联- 资源管理 接口 @@ -412,8 +412,8 @@ public class TeacherOpenCourseMergeResourcesInfoController{ * @return */ @PostMapping(API + "/copyFromResourcesInfo.do") - public JsonResult copyFromResourcesInfo(Set resourcesInfoIds, Long teacherOpenCourseId) { - teacherOpenCourseMergeResourcesInfoService.copyFromResourcesInfo(resourcesInfoIds, teacherOpenCourseId); + public JsonResult copyFromResourcesInfo(Long[] resourcesInfoIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeResourcesInfoService.copyFromResourcesInfo(CollectionUtil.newHashSet(resourcesInfoIds), teacherOpenCourseId); return JsonResult.success(); } } diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java index 597280a5..eaacc664 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.web; +import cn.hutool.core.collection.CollectionUtil; import cn.jlw.Interceptor.GetFile; import cn.jlw.Interceptor.RFile; import cn.jlw.Interceptor.SCoreUser; @@ -39,7 +40,6 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; -import java.util.Set; /** * 开课题目拉取 开课-题库管理-离线 接口 @@ -427,8 +427,8 @@ public class TeacherOpenCourseMergeResourcesQuestionController{ * @return */ @PostMapping(API + "/copyFromQuestion.do") - public JsonResult copyFromQuestion(Set resourcesQuestionIds, Long teacherOpenCourseId) { - teacherOpenCourseMergeResourcesQuestionService.copyFromQuestion(resourcesQuestionIds, teacherOpenCourseId); + public JsonResult copyFromQuestion(Long[] resourcesQuestionIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeResourcesQuestionService.copyFromQuestion(CollectionUtil.newHashSet(resourcesQuestionIds), teacherOpenCourseId); return JsonResult.success(); }