From 4234ed15f3115bdb6ff311147ab3e26c57e09b7a Mon Sep 17 00:00:00 2001 From: Mlxa0324 Date: Tue, 20 Dec 2022 15:04:22 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AB=A0=E8=8A=82=E7=BB=83=E4=B9=A0=E9=A2=98?= =?UTF-8?q?=E7=9B=AE=E6=95=B0=E9=87=8F=E5=AF=B9=E4=B8=8D=E4=B8=8A=E7=9A=84?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ResourcesQuestionSnapshotService.java | 2 +- ...enCourseMergeResourcesQuestionService.java | 31 ++++++++++++++++--- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java b/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java index ee0f49b4..3b5083e8 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/ResourcesQuestionSnapshotService.java @@ -351,7 +351,7 @@ public class ResourcesQuestionSnapshotService extends CoreBaseService getResourcesQuestionSnapshotList ( @NotEmpty(message = "开课题库列表不能为空!") final Collection questionList, - @NotBlank(message = "题目配置ID不能为空!") Long teacherOpenCourseQuestionSettingId, Consumer otherConsumer) { + @NotNull(message = "题目配置ID不能为空!") Long teacherOpenCourseQuestionSettingId, Consumer otherConsumer) { // 批量插入快照表 List snapshotList = BeanUtil.copyToList(questionList, ResourcesQuestionSnapshot.class); Consumer resourcesQuestionSnapshotConsumer = snapshot -> { 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 c5426b42..0b8b8458 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java @@ -15,16 +15,15 @@ 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.ResourcesQuestionDao; +import com.ibeetl.jlw.dao.TeacherOpenCourseMergeCourseInfoDao; import com.ibeetl.jlw.dao.TeacherOpenCourseMergeResourcesQuestionDao; -import com.ibeetl.jlw.entity.CourseInfo; -import com.ibeetl.jlw.entity.FileEntity; -import com.ibeetl.jlw.entity.ResourcesQuestion; -import com.ibeetl.jlw.entity.TeacherOpenCourseMergeResourcesQuestion; +import com.ibeetl.jlw.entity.*; import com.ibeetl.jlw.entity.dto.QuestionSettingDTO; import com.ibeetl.jlw.entity.vo.QuestionTypeCountVO; import com.ibeetl.jlw.enums.ResourcesQuestionTypeEnum; import com.ibeetl.jlw.web.query.ResourcesQuestionQuery; import com.ibeetl.jlw.web.query.TeacherOpenCourseMergeResourcesQuestionQuery; +import com.ibeetl.jlw.web.query.TeacherOpenCourseQuestionSettingQuery; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -35,8 +34,10 @@ import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.beetl.sql.core.SqlId; import org.beetl.sql.core.engine.PageQuery; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.CollectionUtils; import org.springframework.validation.annotation.Validated; import javax.validation.constraints.Max; @@ -66,7 +67,12 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ @Autowired private TeacherOpenCourseMergeResourcesQuestionDao teacherOpenCourseMergeResourcesQuestionDao; @Autowired private ResourcesQuestionDao resourcesQuestionDao; + @Autowired private TeacherOpenCourseMergeCourseInfoDao teacherOpenCourseMergeCourseInfoDao; + @Autowired @Lazy + private TeacherOpenCourseQuestionSettingService teacherOpenCourseQuestionSettingService; @Autowired private ResourcesQuestionService resourcesQuestionService; + @Autowired + private ResourcesQuestionSnapshotService resourcesQuestionSnapshotService; public PageQueryqueryByCondition(PageQuery query){ PageQuery ret = teacherOpenCourseMergeResourcesQuestionDao.queryByCondition(query); @@ -112,7 +118,7 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ query.set_given("questionStatus"); teacherOpenCourseMergeResourcesQuestionDao.updateGivenByIds(query); } catch (Exception e) { - throw new PlatformException("批量删除开课题目拉取失败", e); + throw new PlatformException("批量上下架开课题目失败", e); } } @@ -139,6 +145,7 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ } public JsonResult add(TeacherOpenCourseMergeResourcesQuestionQuery teacherOpenCourseMergeResourcesQuestionQuery){ + String msg = ""; TeacherOpenCourseMergeResourcesQuestion teacherOpenCourseMergeResourcesQuestion = teacherOpenCourseMergeResourcesQuestionQuery.pojo(); teacherOpenCourseMergeResourcesQuestionDao.insert(teacherOpenCourseMergeResourcesQuestion); @@ -147,6 +154,20 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ jsonResult.setData(teacherOpenCourseMergeResourcesQuestion.getTeacherOpenCourseMergeResourcesQuestionId());//自增的ID丢进去 jsonResult.setCode(JsonReturnCode.SUCCESS.getCode()); jsonResult.setMsg(msg); + + // 添加题目的时候,如果选择的是章节的话,则往题目快照中也添加一份这里,直接根据课程ID查询是否是章节,以防万一 + List mergeCourseInfoList = teacherOpenCourseMergeCourseInfoDao.getByIds(teacherOpenCourseMergeResourcesQuestion.getTeacherOpenCourseMergeCourseInfoId().toString()); + TeacherOpenCourseMergeCourseInfo courseInfo = CollectionUtils.firstElement(mergeCourseInfoList); + if(null != courseInfo && courseInfo.getCourseInfoType() == 2) { + String courseInfoName = courseInfo.getCourseInfoName(); + TeacherOpenCourseQuestionSettingQuery questionSettingQuery = new TeacherOpenCourseQuestionSettingQuery(); + questionSettingQuery.setTeacherOpenCourseQuestionSettingName(courseInfoName); + questionSettingQuery.setTeacherOpenCourseQuestionSettingStatus(1); + TeacherOpenCourseQuestionSetting questionSetting = teacherOpenCourseQuestionSettingService.getInfo(questionSettingQuery); + Long questionSettingId = questionSetting.getTeacherOpenCourseQuestionSettingId(); + List snapshotList = resourcesQuestionSnapshotService.getResourcesQuestionSnapshotList(Collections.singletonList(teacherOpenCourseMergeResourcesQuestion), questionSettingId, (o) -> {}); + resourcesQuestionSnapshotService.insertBatch(snapshotList); + } return jsonResult; }