diff --git a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionSetting.java b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionSetting.java index 69489a7e..65c50384 100644 --- a/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionSetting.java +++ b/web/src/main/java/com/ibeetl/jlw/entity/TeacherOpenCourseQuestionSetting.java @@ -181,9 +181,9 @@ public class TeacherOpenCourseQuestionSetting extends BaseEntity { ) private Integer questionCount; - @UpdateIgnore - @InsertIgnore - @FetchSql("select count(1) from teacher_open_course_merge_resources_question t where t.teacher_open_course_merge_course_info_id = #teacherOpenCourseMergeCourseInfoId# and t.question_status = 1") - private Integer allQuestionCount; + //@UpdateIgnore + //@InsertIgnore + //@FetchSql("select count(1) from teacher_open_course_merge_resources_question t where t.teacher_open_course_merge_course_info_id = #teacherOpenCourseMergeCourseInfoId# and t.question_status = 1") + //private Integer allQuestionCount; } 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 f8d66b47..a2c03b35 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesInfoService.java @@ -63,43 +63,45 @@ import static org.apache.commons.lang3.StringUtils.join; @Slf4j public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService implements DeleteResourcesBy { - @Autowired private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao; + @Autowired + private TeacherOpenCourseMergeResourcesInfoDao teacherOpenCourseMergeResourcesInfoDao; @Autowired private ResourcesInfoService resourcesInfoService; @Autowired private TeacherOpenCourseMergeCourseInfoService teacherOpenCourseMergeCourseInfoService; - public PageQueryqueryByCondition(PageQuery query){ - PageQuery ret = teacherOpenCourseMergeResourcesInfoDao.queryByCondition(query); + public PageQuery queryByCondition(PageQuery query) { + PageQuery ret = teacherOpenCourseMergeResourcesInfoDao.queryByCondition(query); queryListAfter(ret.getList()); return ret; } - public PageQueryqueryByConditionQuery(PageQuery query){ - PageQuery ret = teacherOpenCourseMergeResourcesInfoDao.queryByConditionQuery(query); + public PageQuery queryByConditionQuery(PageQuery query) { + PageQuery ret = teacherOpenCourseMergeResourcesInfoDao.queryByConditionQuery(query); queryListAfter(ret.getList()); return ret; } - public void deleteByList(List list){ + public void deleteByList(List list) { String ids = ""; ToolUtils.deleteNullList(list); - for(int i=0;null != list && i teacherOpenCourseMergeResourcesInfoList = new ArrayList<>(); try { @@ -115,11 +117,12 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< } catch (Exception e) { try { teacherOpenCourseMergeResourcesInfoList.add(JSONObject.parseObject(teacherOpenCourseMergeResourcesInfoQuery.getTeacherOpenCourseMergeResourcesInfoJsonStr(), TeacherOpenCourseMergeResourcesInfo.class)); - } catch (Exception e1) {} + } catch (Exception e1) { + } } ToolUtils.deleteNullList(teacherOpenCourseMergeResourcesInfoList); - if(null != teacherOpenCourseMergeResourcesInfoList && teacherOpenCourseMergeResourcesInfoList.size()>0){ - for(int i=0;i 0) { + for (int i = 0; i < teacherOpenCourseMergeResourcesInfoList.size(); i++) { TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = teacherOpenCourseMergeResourcesInfoList.get(i); teacherOpenCourseMergeResourcesInfo.setUserId(teacherOpenCourseMergeResourcesInfoQuery.getUserId()); teacherOpenCourseMergeResourcesInfo.setOrgId(teacherOpenCourseMergeResourcesInfoQuery.getOrgId()); @@ -129,7 +132,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< return msg; } - public JsonResult add(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public JsonResult add(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { String msg = ""; TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = teacherOpenCourseMergeResourcesInfoQuery.pojo(); @@ -151,7 +154,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< return jsonResult; } - public String edit(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public String edit(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { String msg = ""; TeacherOpenCourseMergeResourcesInfo teacherOpenCourseMergeResourcesInfo = teacherOpenCourseMergeResourcesInfoQuery.pojo(); teacherOpenCourseMergeResourcesInfoDao.updateTemplateById(teacherOpenCourseMergeResourcesInfo); @@ -161,69 +164,69 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< return msg; } - public String updateGivenByIds(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public String updateGivenByIds(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { String msg = ""; - if(StringUtils.isNotBlank(teacherOpenCourseMergeResourcesInfoQuery.get_given())){ + if (StringUtils.isNotBlank(teacherOpenCourseMergeResourcesInfoQuery.get_given())) { boolean flag = teacherOpenCourseMergeResourcesInfoDao.updateGivenByIds(teacherOpenCourseMergeResourcesInfoQuery) > 0; - if(!flag){ + if (!flag) { msg = "更新指定参数失败"; } - }else{ + } else { msg = "指定参数为空"; } return msg; } - public List getValues (Object paras){ + public List getValues(Object paras) { return sqlManager.select(SqlId.of("jlw.teacherOpenCourseMergeResourcesInfo.getTeacherOpenCourseMergeResourcesInfoValues"), TeacherOpenCourseMergeResourcesInfo.class, paras); } - public List getValuesByQuery (TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public List getValuesByQuery(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { return teacherOpenCourseMergeResourcesInfoDao.getValuesByQuery(teacherOpenCourseMergeResourcesInfoQuery); } - public List getValuesByQueryNotWithPermission (TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public List getValuesByQueryNotWithPermission(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { return teacherOpenCourseMergeResourcesInfoDao.getValuesByQueryNotWithPermission(teacherOpenCourseMergeResourcesInfoQuery); } - public TeacherOpenCourseMergeResourcesInfo getInfo (Long teacherOpenCourseMergeResourcesInfoId){ + public TeacherOpenCourseMergeResourcesInfo getInfo(Long teacherOpenCourseMergeResourcesInfoId) { TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery = new TeacherOpenCourseMergeResourcesInfoQuery(); teacherOpenCourseMergeResourcesInfoQuery.setTeacherOpenCourseMergeResourcesInfoId(teacherOpenCourseMergeResourcesInfoId); List list = teacherOpenCourseMergeResourcesInfoDao.getValuesByQuery(teacherOpenCourseMergeResourcesInfoQuery); - if(null != list && list.size()>0){ + if (null != list && list.size() > 0) { return list.get(0); - }else{ + } else { return null; } } - public TeacherOpenCourseMergeResourcesInfo getInfo (TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public TeacherOpenCourseMergeResourcesInfo getInfo(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { List list = teacherOpenCourseMergeResourcesInfoDao.getValuesByQuery(teacherOpenCourseMergeResourcesInfoQuery); - if(null != list && list.size()>0){ + if (null != list && list.size() > 0) { return list.get(0); - }else{ + } else { return null; } } - public JsonResult importTemplate(List fileEntityList,Listlist,CoreUser coreUser){ - ListerrMsg = new ArrayList<>(); - String msg =""; + public JsonResult importTemplate(List fileEntityList, List list, CoreUser coreUser) { + List errMsg = new ArrayList<>(); + String msg = ""; int count = 0; Date date = new Date(); - for(int item=0;null != fileEntityList && item map = new HashMap<>();//获取需要的表头的列 + Map map = new HashMap<>();//获取需要的表头的列 //从第一列找到需要的表头 - for (int i=0; i0?JsonReturnCode.SUCCESS.getCode():JsonReturnCode.FAIL.getCode()); + jsonResult.setCode(count > 0 ? JsonReturnCode.SUCCESS.getCode() : JsonReturnCode.FAIL.getCode()); jsonResult.setData(errMsg); - jsonResult.setMsg((count>0?"导入成功,共导入"+count+"条":"导入失败")+(StringUtils.isNotBlank(msg)?"
"+msg:"")); + jsonResult.setMsg((count > 0 ? "导入成功,共导入" + count + "条" : "导入失败") + (StringUtils.isNotBlank(msg) ? "
" + msg : "")); return jsonResult; } - public List> getExcelValues (TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery){ + public List> getExcelValues(TeacherOpenCourseMergeResourcesInfoQuery teacherOpenCourseMergeResourcesInfoQuery) { return teacherOpenCourseMergeResourcesInfoDao.getExcelValues(teacherOpenCourseMergeResourcesInfoQuery); } /** * 根据指定的课程ID和章节ID集合,去从系统资源拷贝到开课资源库 * - * @param teacherOpenCourseId 开课ID - * @param allCourseInfo 指定的所有课程章节 - * @param courseInfoIdPair 拷贝过来的ID段,旧ID和新ID的一个映射关系(非必填) + * @param teacherOpenCourseId 开课ID + * @param allCourseInfo 指定的所有课程章节 + * @param courseInfoIdPair 拷贝过来的ID段,旧ID和新ID的一个映射关系(非必填) */ public void copySystemResourcesInfoToOpenCourse(@NotNull(message = "开课ID不能为空!") Long teacherOpenCourseId, Collection allCourseInfo, @Nullable Map courseInfoIdPair) { @@ -369,9 +367,9 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< /** * 根据指定的课程ID和章节ID集合,去从系统资源拷贝到开课资源库 * - * @param teacherOpenCourseId 开课ID - * @param allCourseInfoIdsJoin 指定的所有课程章节ID - * @param courseInfoIdPair 拷贝过来的ID段,旧ID和新ID的一个映射关系(非必填) + * @param teacherOpenCourseId 开课ID + * @param allCourseInfoIdsJoin 指定的所有课程章节ID + * @param courseInfoIdPair 拷贝过来的ID段,旧ID和新ID的一个映射关系(非必填) */ public void copySystemResourcesInfoToOpenCourse(@NotNull(message = "开课ID不能为空!") Long teacherOpenCourseId, String allCourseInfoIdsJoin, @Nullable Map courseInfoIdPair) { @@ -399,11 +397,15 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< public void copyFromResourcesInfo(Set resourcesInfoIds, @NotNull(message = "开课ID不能为空!") final Long teacherOpenCourseId, Map courseInfoIdPair) { - if (ObjectUtil.isEmpty(resourcesInfoIds)) { return; } + if (ObjectUtil.isEmpty(resourcesInfoIds)) { + return; + } ResourcesInfoQuery resourcesInfoQuery = new ResourcesInfoQuery(); resourcesInfoQuery.setResourcesInfoIds(join(resourcesInfoIds.toArray(), ",")); List resourcesInfoList = resourcesInfoService.getValuesByQuery(resourcesInfoQuery); - if (ObjectUtil.isEmpty(resourcesInfoList)) { return; } + if (ObjectUtil.isEmpty(resourcesInfoList)) { + return; + } // 拷贝部分字段映射 CopyOptions copyOptions = CopyOptions.create().setFieldMapping(MapUtil.of("courseInfoId", "teacherOpenCourseMergeCourseInfoId")); @@ -422,13 +424,15 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< /** * 重置开课课程ID。需要拿到新旧改变的关系 + * * @param copyToList * @param courseInfoIdPair */ public void resetNewId(List copyToList, Map courseInfoIdPair) { - if (ObjectUtil.isEmpty(courseInfoIdPair)) {return;} + if (ObjectUtil.isEmpty(courseInfoIdPair)) { + return; + } copyToList.forEach(item -> { - item.setTeacherOpenCourseMergeResourcesInfoId(null); item.setTeacherOpenCourseMergeCourseInfoId(courseInfoIdPair.get(item.getTeacherOpenCourseMergeCourseInfoId())); }); @@ -455,6 +459,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< /** * 验证操作的数据,是否是教师本人上传的 + * * @param resourcesInfoIds * @param coreUser */ @@ -470,6 +475,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< /** * 位置移动 * 小于0的数字,是代表置顶。大于0代表非置顶 + * * @param id * @param moveType */ @@ -502,7 +508,8 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< BigDecimal minLinkOrder = minOrderClientLink.getOrderIndex(); // 置顶就现有的最小值减1。但是需要确保结果小于0 calcedOrder = NumberUtil.sub(min(minLinkOrder.floatValue(), 0), 1); - } break; + } + break; case MOVE_LEFT: { @@ -532,7 +539,8 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< // 左移位后的值 calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP); - } break; + } + break; case MOVE_RIGHT: { @@ -561,7 +569,8 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< // 右移位后的值 calcedOrder = RandomUtil.randomDouble(min.doubleValue(), max.doubleValue(), 6, RoundingMode.HALF_UP); - } break; + } + break; default: log.error("不支持的移动类型!"); break; @@ -583,22 +592,21 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< * 只传右元素ID,表示:拖动元素 在 右元素的右侧; * 左右元素ID都传,则拖动元素放置在两个元素的中间。 * - * @param id 拖动元素的ID - * @param leftId 左元素ID 偏小数值对应的元素ID - * @param rightId 右元素ID 偏大数值对应的元素ID - * - * 左侧(上) ==> 右侧(下) - * 小数值 ==> 大数值 - * - * 数值越小,越靠前 - * + * @param id 拖动元素的ID + * @param leftId 左元素ID 偏小数值对应的元素ID + * @param rightId 右元素ID 偏大数值对应的元素ID + *

+ * 左侧(上) ==> 右侧(下) + * 小数值 ==> 大数值 + *

+ * 数值越小,越靠前 * @Author: 87966 * @Date: 2023/1/9 16:44 */ public void drag(@NotNull(message = "要移动的元素 ID不能为空!") final Long id, final Long leftId, final Long rightId) { // 查询出来所有元素 - List allElement = teacherOpenCourseMergeResourcesInfoDao.getByIds(ArrayUtil.join(new Long[]{ id, leftId, rightId }, ",")); + List allElement = teacherOpenCourseMergeResourcesInfoDao.getByIds(ArrayUtil.join(new Long[]{id, leftId, rightId}, ",")); // 自身ID是否存在 boolean hasSelf = allElement.stream().anyMatch(item -> item.getTeacherOpenCourseMergeCourseInfoId().equals(id)); @@ -666,12 +674,13 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< updateTemplate(updatePO); } } + /** * 根据指定的课程ID和章节ID集合,去从系统资源拷贝到开课资源库 * - * @param teacherOpenCourseId 开课ID - * @param allCourseInfo 指定的所有课程章节 - * @param courseInfoIdPair 拷贝过来的ID段,旧ID和新ID的一个映射关系(非必填) + * @param teacherOpenCourseId 开课ID + * @param allCourseInfo 指定的所有课程章节 + * @param courseInfoIdPair 拷贝过来的ID段,旧ID和新ID的一个映射关系(非必填) */ public void copyOpenCourseResourcesInfoToOpenCourse(@NotNull(message = "开课ID不能为空!") Long teacherOpenCourseId, Collection allCourseInfo, @Nullable Map courseInfoIdPair) { @@ -692,15 +701,17 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< *

* 从开课资源库拉取到教师开课的资源中。 * - * @param resourcesInfoList 资源信息集合 + * @param resourcesInfoList 资源信息集合 * @param teacherOpenCourseId 开课ID * @param courseInfoIdPair * @return */ public void copyFromOpenCourseResourcesInfo(List resourcesInfoList, - @NotNull(message = "开课ID不能为空!") final Long teacherOpenCourseId, Map courseInfoIdPair) { + @NotNull(message = "开课ID不能为空!") final Long teacherOpenCourseId, Map courseInfoIdPair) { - if (CollectionUtil.isEmpty(resourcesInfoList)) { return; } + if (CollectionUtil.isEmpty(resourcesInfoList)) { + return; + } resourcesInfoList.forEach(item -> { item.setTeacherOpenCourseId(teacherOpenCourseId); @@ -708,6 +719,7 @@ public class TeacherOpenCourseMergeResourcesInfoService extends CoreBaseService< }); resetNewId(resourcesInfoList, courseInfoIdPair); + resourcesInfoList.forEach(item -> item.setTeacherOpenCourseMergeResourcesInfoId(null)); // 批量插入资源和开课关联表 insertBatch(resourcesInfoList); 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 b51dd504..0af4cdd9 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseMergeResourcesQuestionService.java @@ -705,7 +705,7 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ List questionList = getValuesByQuery(teacherOpenCourseMergeResourcesQuestionQuery); - // 拷贝其他开课题目目库到教师开课 + // 拷贝其他开课题目目库到教师开课 copyFromOpenCourseQuestion(questionList, teacherOpenCourseId, courseInfoIdPair); } } @@ -735,10 +735,15 @@ public class TeacherOpenCourseMergeResourcesQuestionService extends CoreBaseServ // 重置开课课程ID resetNewId(questionList, courseInfoIdPair); + // 设置开课ID - questionList.forEach(item -> item.setTeacherOpenCourseId(teacherOpenCourseId)); + questionList.forEach(item -> { + item.setTeacherOpenCourseId(teacherOpenCourseId); + item.setTeacherOpenCourseMergeResourcesQuestionId(null); + } + ); // 批量插入 - teacherOpenCourseMergeResourcesQuestionDao.insertBatch(convertedList); + teacherOpenCourseMergeResourcesQuestionDao.insertBatch(questionList); } diff --git a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java index 7dd2939b..913cacc0 100644 --- a/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java +++ b/web/src/main/java/com/ibeetl/jlw/service/TeacherOpenCourseQuestionSettingService.java @@ -647,6 +647,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService courseInfoIdPair) { + //resources_question_snapshot TeacherOpenCourseMergeCourseInfoQuery query = new TeacherOpenCourseMergeCourseInfoQuery(); query.setTeacherOpenCourseId(teacherOpenCourseId); query.setCourseInfoStatus(1); @@ -665,6 +666,7 @@ public class TeacherOpenCourseQuestionSettingService extends CoreBaseService result = new ConcurrentHashSet<>(12); + //循环章节 for (TeacherOpenCourseMergeCourseInfo chapter : chapterSet) { result.clear(); Long teacherOpenCourseMergeCourseInfoId = chapter.getTeacherOpenCourseMergeCourseInfoId();