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 e53376a8..df552004 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeCourseInfoService.java @@ -1,5 +1,6 @@ package com.ibeetl.jlw.service; +import cn.hutool.core.bean.BeanUtil; import cn.jlw.util.ToolUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -9,6 +10,7 @@ import com.ibeetl.admin.core.util.PlatformException; import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonReturnCode; import com.ibeetl.jlw.dao.TeacherOpenCourseMergeCourseInfoDao; +import com.ibeetl.jlw.entity.CourseInfo; import com.ibeetl.jlw.entity.FileEntity; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeCourseInfo; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeCourseInfoQuery; @@ -41,6 +43,7 @@ import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue; public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService{ @Autowired private TeacherOpenCourseMergeCourseInfoDao teacherOpenCourseMergeCourseInfoDao; + @Autowired private CourseInfoService courseInfoService; public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseMergeCourseInfoDao.queryByCondition(query); @@ -371,4 +374,40 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService courseInfoIds, final Long teacherOpenCourseId) { + + // 开启并行处理 + courseInfoIds.stream().parallel().forEach(courseInfoId -> { + List chapterList = courseInfoService.getChapterList(Long.valueOf(courseInfoId)); + + // 拷贝 + List copyToList = + BeanUtil.copyToList(chapterList, TeacherOpenCourseMergeCourseInfo.class); + // 设置开课ID + copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId)); + // 批量插入 + teacherOpenCourseMergeCourseInfoDao.insertBatch(copyToList); + }); + } + + /** + * 教师端-导入课程。 + * + * 导入超管端管理的课程,该接口导入包含课程章节信息,课程题目信息。 + * + * @param courseInfoIds 超管端的章节ID + * @param teacherOpenCourseId 开课iD + * @return + */ + public void importCourseInfo(Set courseInfoIds, Long teacherOpenCourseId) { + // TODO 上个wc继续 + } } 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 2f09d5b1..8c014217 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java @@ -366,6 +366,9 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ /** * 从resources_question 表,拷贝数据。类似从模板中,拉取数据 * + * 教师端-导入题目操作,逻辑拆分 + * 从系统题目库拉取题目到教师开课的题目中。 + * * @param resourcesQuestionIds * @param teacherOpenCourseId * @return @@ -376,7 +379,7 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ String ids = join(resourcesQuestionIds, ","); List resourcesQuestions = resourcesQuestionDao.getByIds(ids); - // 默认有 + // 拷贝 List copyToList = BeanUtil.copyToList(resourcesQuestions, TeacherOpenCourseMergeResourcesQuestion.class); // 设置开课ID 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 d16a8a66..0e9c8d41 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeCourseInfoController.java @@ -39,6 +39,7 @@ import java.io.InputStream; import java.util.ArrayList; import java.util.List; import java.util.Map; +import java.util.Set; /** * 开课课程拉取 开课- 课程配置-离线 接口 @@ -429,4 +430,34 @@ public class TeacherOpenCourseMergeCourseInfoController{ } } + /** + * 教师端-导入课程章节操作,逻辑拆分 + * + * 从系统章节库拉取章节到教师开课的课程章节中。 + * @param courseInfoIds 超管端的章节ID + * @param teacherOpenCourseId 开课iD + * @return + */ + @PostMapping(API + "/copyFromCourseInfo.do") + public JsonResult copyFromCourseInfo(Set courseInfoIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeCourseInfoService.copyFromCourseInfo(courseInfoIds, teacherOpenCourseId); + return JsonResult.success(); + } + + + /** + * 教师端-导入课程。 + * + * 导入超管端管理的课程,该接口导入包含课程章节信息,课程题目信息。 + * + * @param courseInfoIds 超管端的章节ID + * @param teacherOpenCourseId 开课iD + * @return + */ + @PostMapping(API + "/importCourseInfo.do") + public JsonResult importCourseInfo(Set courseInfoIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeCourseInfoService.importCourseInfo(courseInfoIds, 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 e9056bb0..68c29f8f 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java @@ -421,6 +421,8 @@ public class TeacherOpenCourseMergeResourcesQuestionController{ /** * 教师端-导入题目操作,逻辑拆分 + * + * 从系统题目库拉取题目到教师开课的题目中。 * @param resourcesQuestionIds * @return */