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 28aff58a..2f3a8a77 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java @@ -2,6 +2,7 @@ package com.ibeetl.jlw.service; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.copier.CopyOptions; +import cn.hutool.core.lang.Assert; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.EnumUtil; import cn.hutool.core.util.NumberUtil; @@ -155,8 +156,42 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ jsonResult.setCode(JsonReturnCode.SUCCESS.getCode()); jsonResult.setMsg(msg); + forceInsertChapterTestByMergeResourcesQuestion(teacherOpenCourseMergeResourcesQuestion); + return jsonResult; + } + + /** + * 支持Query 或者直接传递PO + * @param obj + * @return + */ + public JsonResult addByObject(Object obj) { + + Assert.isFalse(obj instanceof List, "暂时不支持集合类型的处理!"); + + if (obj instanceof TeacherOpenCourseMergeResourcesQuestionQuery) { + return add((TeacherOpenCourseMergeResourcesQuestionQuery)obj); + } + if (obj instanceof TeacherOpenCourseMergeResourcesQuestion) { + return add(BeanUtil.copyProperties(obj, TeacherOpenCourseMergeResourcesQuestionQuery.class)); + } + + return JsonResult.failMessage("添加失败"); + } + + /** + * 不会删除章节练习中的快照题目信息的方式,插入到章节练习库中。 + * + * @param teacherOpenCourseMergeResourcesQuestion + */ + private void forceInsertChapterTestByMergeResourcesQuestion(TeacherOpenCourseMergeResourcesQuestion teacherOpenCourseMergeResourcesQuestion) { + Long mergeCourseInfoId = teacherOpenCourseMergeResourcesQuestion.getTeacherOpenCourseMergeCourseInfoId(); + if (mergeCourseInfoId == null) { + return; + } + // 添加题目的时候,如果选择的是章节的话,则往题目快照中也添加一份这里,直接根据课程ID查询是否是章节,以防万一 - List mergeCourseInfoList = teacherOpenCourseMergeCourseInfoDao.getByIds(teacherOpenCourseMergeResourcesQuestion.getTeacherOpenCourseMergeCourseInfoId().toString()); + List mergeCourseInfoList = teacherOpenCourseMergeCourseInfoDao.getByIds(mergeCourseInfoId.toString()); TeacherOpenCourseMergeCourseInfo courseInfo = CollectionUtils.firstElement(mergeCourseInfoList); if(null != courseInfo && courseInfo.getCourseInfoType() == 2) { @@ -173,7 +208,6 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ resourcesQuestionSnapshotService.insertBatch(snapshotList); } } - return jsonResult; } public String edit(TeacherOpenCourseMergeResourcesQuestionQuery teacherOpenCourseMergeResourcesQuestionQuery){ 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 e8f4b14a..fb152062 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeResourcesQuestionController.java @@ -525,10 +525,11 @@ public class TeacherOpenCourseMergeResourcesQuestionController extends BaseContr List options = listener.getData().stream() .map(TeacherOpenCourseMergeResourcesQuestionImport::pojo).collect(Collectors.toList()); - // 只复制用户ID和组织ID + // 只复制用户ID和组织ID。 当前导入到开课题库的用户,基本上是学生管理员,或者教师,所以直接获取当前的登录人userId和orgId就好 BeanUtil.beanPropertyCopyToList(coreUser, options, MapUtil.of("id", "userId"), "userId", "orgId"); - teacherOpenCourseMergeResourcesQuestionService.insertBatch(options); + // 循环插入吧,这样支持插入到测试章节题库中 + options.forEach(teacherOpenCourseMergeResourcesQuestionService::addByObject); } catch (IllegalArgumentException exception) { return JsonResult.failMessage(exception.getMessage()).setCode(DIY_ERROR.getCode()); diff --git a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeScheduleSessionController.java b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeScheduleSessionController.java index 3bd45ca9..0ba8edce 100644 --- a/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeScheduleSessionController.java +++ b/web/src/main/java/com/ibeetl/jlw/web/TeacherOpenCourseMergeScheduleSessionController.java @@ -13,6 +13,7 @@ import com.ibeetl.admin.core.web.JsonResult; import com.ibeetl.jlw.entity.FileEntity; import com.ibeetl.jlw.entity.TeacherOpenCourseMergeScheduleSession; import com.ibeetl.jlw.service.TeacherOpenCourseMergeScheduleSessionService; +import com.ibeetl.jlw.service.TeacherOpenCourseScheduleSessionSnapService; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeScheduleSessionQuery; import org.apache.commons.lang3.StringUtils; import org.apache.commons.logging.Log; @@ -35,10 +36,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Map; +import java.util.*; /** * 开课关联排课配置 课程开课-关联-排课配置 接口 @@ -55,6 +53,7 @@ public class TeacherOpenCourseMergeScheduleSessionController{ @Autowired private TeacherOpenCourseMergeScheduleSessionService teacherOpenCourseMergeScheduleSessionService; + @Autowired private TeacherOpenCourseScheduleSessionSnapService teacherOpenCourseScheduleSessionSnapService; @Autowired FileService fileService; @@ -82,6 +81,10 @@ public class TeacherOpenCourseMergeScheduleSessionController{ return JsonResult.failMessage("请登录后再操作"); }else{ TeacherOpenCourseMergeScheduleSession teacherOpenCourseMergeScheduleSession = teacherOpenCourseMergeScheduleSessionService.getInfo(param); + // 填充sessionTagList + if (null != teacherOpenCourseMergeScheduleSession && null != teacherOpenCourseMergeScheduleSession.getTeacherOpenCourseScheduleSession()) { + teacherOpenCourseScheduleSessionSnapService.fullSessionTagList(Collections.singletonList(teacherOpenCourseMergeScheduleSession.getTeacherOpenCourseScheduleSession())); + } return JsonResult.success(teacherOpenCourseMergeScheduleSession); } } diff --git a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeResourcesQuestion.md b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeResourcesQuestion.md index b78546a9..5352d55a 100644 --- a/web/src/main/resources/sql/jlw/teacherOpenCourseMergeResourcesQuestion.md +++ b/web/src/main/resources/sql/jlw/teacherOpenCourseMergeResourcesQuestion.md @@ -160,9 +160,10 @@ queryByConditionQuery @if(!isEmpty(orgIdPlural)){ and find_in_set(t.org_id,#orgIdPlural#) @} - - - + @pageIgnoreTag(){ + order by teacher_open_course_merge_resources_question_id desc + @} + deleteTeacherOpenCourseMergeResourcesQuestionByIds ===