diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java index dc2d1fd4..b2cad044 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/ClassCourseServiceImpl.java @@ -111,7 +111,7 @@ public class ClassCourseServiceImpl extends ServiceImpl(query.getCurrent(), query.getSize())); IPage convert = page.convert(courseManagementConvertor::convertEToVo); + Map collectMap = classCourseMapper.selectList(new LambdaQueryWrapper() + .in(ClassCourseDO::getCourseId, convert.getRecords().stream().map(CourseManagementVO::getId))) + .stream().collect(Collectors.toMap(ClassCourseDO::getCourseId, v -> 1)); convert.getRecords().forEach(vo -> { vo.setCourseRelCoursewareVOList(courseRelCoursewareConvertor.convertEListToVoList( courseRelCoursewareMapper.selectList(new LambdaQueryWrapper() .eq(CourseRelCoursewareDO::getCourseId, vo.getId()) .orderByAsc(CourseRelCoursewareDO::getSort)) )); + vo.setUsed(Math.toIntExact(collectMap.getOrDefault(Long.valueOf(vo.getId()), 0))); }); return convert; } @@ -80,7 +93,7 @@ public class CourseManagementServiceImpl extends ServiceImpl() .eq(CourseRelCoursewareDO::getCourseId, entity.getId())); List courseRelCoursewareDOS = courseRelCoursewareConvertor.convertDtoListToEList(dto.getCourseRelCoursewareDTOList()); diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java index 31e689b7..544a5388 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/CoursewareManagementServiceImpl.java @@ -68,7 +68,7 @@ public class CoursewareManagementServiceImpl extends ServiceImpl String.valueOf(option.getId())) .collect(Collectors.joining(","))); - InsertFieldDefaults.applyIgnoreOrgId(question); + InsertFieldDefaults.apply(question); questionMapper.insert(question); Db.saveBatch(options); @@ -96,7 +96,7 @@ public class PaperQuestionRelServiceImpl extends ServiceImpl implemen // 新增试卷(名称/总分/合格分数取请求,其余属性沿用源试卷) PaperDO target = paperConvertor.convertCopyDtoToE(copyDTO, source); - InsertFieldDefaults.applyIgnoreOrgId(target); + InsertFieldDefaults.apply(target); this.savePaper(target); // 复制试题+选项+试卷试题关系(id全部换新雪花id) @@ -170,7 +170,7 @@ public class PaperServiceImpl extends ServiceImpl implemen Long oldQuestionId = question.getId(); Long newQuestionId = IdUtil.getSnowflakeNextId(); question.setId(newQuestionId); - InsertFieldDefaults.applyIgnoreOrgId(question); + InsertFieldDefaults.apply(question); List options = allOptions.stream() .filter(option -> oldQuestionId.equals(option.getQuestionId())) @@ -180,7 +180,7 @@ public class PaperServiceImpl extends ServiceImpl implemen for (QuestionOptionDO option : options) { option.setId(IdUtil.getSnowflakeNextId()); option.setQuestionId(newQuestionId); - InsertFieldDefaults.applyIgnoreOrgId(option); + InsertFieldDefaults.apply(option); newQueOptions.add(option); newOptions.add(option); } @@ -196,7 +196,7 @@ public class PaperServiceImpl extends ServiceImpl implemen rel.setQuestionId(newQuestionId); rel.setQuestionNum(oldRel.getQuestionNum()); newRels.add(rel); - InsertFieldDefaults.applyIgnoreOrgId(rel); + InsertFieldDefaults.apply(rel); } Db.saveBatch(questions); Db.saveBatch(newOptions); @@ -268,7 +268,7 @@ public class PaperServiceImpl extends ServiceImpl implemen paper.setPaperTotalScore(importDTO.getPaperTotalScore()); paper.setPaperPassScore(importDTO.getPaperPassScore()); paper.setExamTime(importDTO.getExamTime()); - InsertFieldDefaults.applyIgnoreOrgId(paper); + InsertFieldDefaults.apply(paper); this.savePaper(paper); // 保存试题和选项(id已预置雪花id) @@ -284,7 +284,7 @@ public class PaperServiceImpl extends ServiceImpl implemen rel.setQuestionId(questions.get(i).getId()); rel.setScore(questions.get(i).getScore()); rel.setQuestionNum(i + 1); - InsertFieldDefaults.applyIgnoreOrgId(rel); + InsertFieldDefaults.apply(rel); rels.add(rel); } Db.saveBatch(rels); @@ -316,7 +316,7 @@ public class PaperServiceImpl extends ServiceImpl implemen rel.setQuestionId(questionId); rel.setQuestionNum(questionNum++); rel.setScore(rule.getScore()); - InsertFieldDefaults.applyIgnoreOrgId(rel); + InsertFieldDefaults.apply(rel); rels.add(rel); } } @@ -329,7 +329,7 @@ public class PaperServiceImpl extends ServiceImpl implemen paper.setExamTime(dto.getExamTime()); paper.setPaperType(PaperTypeEnum.CONFIG_RULE.getValue()); paper.setConfigRule(JSONUtil.toJsonStr(dto.getQuestionTypeRuleList())); - InsertFieldDefaults.applyIgnoreOrgId(paper); + InsertFieldDefaults.apply(paper); this.savePaper(paper); // 3. 绑定试卷试题关系(回填试卷id后批量保存) diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java index 424f033d..e050d4a9 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/QuestionServiceImpl.java @@ -144,7 +144,7 @@ public class QuestionServiceImpl extends ServiceImpl InsertFieldDefaults.applyForUpdate(option); } else { option.setId(IdUtil.getSnowflakeNextId()); - InsertFieldDefaults.applyIgnoreOrgId(option); + InsertFieldDefaults.apply(option); toInsert.add(option); } }