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 d14f5322..126034a8 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,7 @@ package com.ibeetl.jlw.service; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; import cn.jlw.util.ToolUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -403,6 +404,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService copyToList = BeanUtil.copyToList(chapterList, TeacherOpenCourseMergeCourseInfo.class); + if (ObjectUtil.isEmpty(copyToList)) { return; } // 设置开课ID copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId)); // 批量插入 @@ -429,6 +431,7 @@ public class TeacherOpenCourseMergeCourseInfoService extends CoreBaseService { // 获取这个课程章节下的所有的子章节信息 List chapterList = courseInfoService.getChapterList(Long.valueOf(courseInfoId)); + if (ObjectUtil.isEmpty(chapterList)) { return; } // 取出来所有的课程章节ID Set cids = chapterList.stream().map(CourseInfo::getCourseInfoId).collect(toSet()); // 拷贝所有的题目关联到指定的开课下 diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java index 98c78f5e..936a9f93 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java @@ -1,5 +1,7 @@ package com.ibeetl.jlw.service; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; import cn.jlw.util.ToolUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -10,7 +12,9 @@ import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.admin.core.web.JsonReturnCode; import com.ibeetl.jlw.dao.TeacherOpenCourseMergeResourcesInfoDao; import com.ibeetl.jlw.entity.FileEntity; +import com.ibeetl.jlw.entity.ResourcesInfo; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeResourcesInfo; +import com.ibeetl.jlw.web.query.ResourcesInfoQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeResourcesInfoQuery; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -25,10 +29,13 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotEmpty; +import javax.validation.constraints.NotNull; import java.io.*; import java.util.*; import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue; +import static org.apache.commons.lang3.StringUtils.join; /** * 开课资源拉取 Service @@ -41,6 +48,8 @@ import static com.ibeetl.admin.core.util.ExcelUtil.getCellFormatValue; public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService{ @Autowired private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao; + @Autowired + private ResourcesInfoService resourcesInfoService; public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseMergeResourcesInfoDao.queryByCondition(query); @@ -299,4 +308,25 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< } + /** + * 教师端-导入资源操作,逻辑拆分 + * + * 从系统资源库拉取到教师开课的资源中。 + * @param resourcesInfoIds 资源信息ID集合 + * @param teacherOpenCourseId 开课ID + * @return + */ + public void copyFromResourcesInfo(@NotEmpty(message = "资源信息ID集合不能为空!") Set resourcesInfoIds, + @NotNull(message = "开课ID不能为空!") final Long teacherOpenCourseId) { + ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery(); + resourcesInfoQuery.setResourcesInfoIds(join(resourcesInfoIds.toArray(), ",")); + List resourcesInfoList = resourcesInfoService.getValuesByQuery(resourcesInfoQuery); + if (ObjectUtil.isEmpty(resourcesInfoList)) { return; } + + List copyToList = BeanUtil.copyToList(resourcesInfoList, TeacherOpenCourseMergeResourcesInfo.class); + copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId)); + + // 批量插入资源和开课关联表 + insertBatch(copyToList); + } } 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 e90e379a..4700f736 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java @@ -1,6 +1,7 @@ package com.ibeetl.jlw.service; import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.util.ObjectUtil; import cn.jlw.util.ToolUtils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; @@ -382,8 +383,11 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ // 拷贝 List copyToList = BeanUtil.copyToList(resourcesQuestions, TeacherOpenCourseMergeResourcesQuestion.class); + + if (ObjectUtil.isEmpty(copyToList)) { return; } // 设置开课ID copyToList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId)); + // 批量插入 teacherOpenCourseMergeResourcesQuestionDao.insertBatch(copyToList); } 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 67975c5d..3101f001 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesInfoController.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; /** * 开课资源拉取 开课关联- 资源管理 接口 @@ -402,4 +403,17 @@ public class TeacherOpenCourseMergeResourcesInfoController{ } } + /** + * 教师端-导入资源操作,逻辑拆分 + * + * 从系统资源库拉取到教师开课的资源中。 + * @param resourcesInfoIds 资源信息ID集合 + * @param teacherOpenCourseId 开课ID + * @return + */ + @PostMapping(API + "/copyFromResourcesInfo.do") + public JsonResult copyFromResourcesInfo(Set resourcesInfoIds, Long teacherOpenCourseId) { + teacherOpenCourseMergeResourcesInfoService.copyFromResourcesInfo(resourcesInfoIds, teacherOpenCourseId); + return JsonResult.success(); + } }