From 38793d70f135ff3ea0d16e7ff897101d8e948503 Mon Sep 17 00:00:00 2001 From: luotaiqian <1147642922@qq.com> Date: Wed, 19 Aug 2026 14:01:48 +0800 Subject: [PATCH] test --- .../qinan/cedu/model/vo/PaperQuestionVO.java | 3 +++ .../cedu/service/impl/PaperServiceImpl.java | 27 +++++-------------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperQuestionVO.java b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperQuestionVO.java index 265aa7d7..2b2c43af 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperQuestionVO.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/model/vo/PaperQuestionVO.java @@ -25,6 +25,9 @@ public class PaperQuestionVO { @ApiModelProperty("答案选项id,多个逗号隔开") private String answerQuestionOptionIds; + @ApiModelProperty("答案选项,多个逗号隔开") + private String answer; + @ApiModelProperty("答案解析") private String analysis; diff --git a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperServiceImpl.java b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperServiceImpl.java index 999d344e..e8b1b649 100644 --- a/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperServiceImpl.java +++ b/safety-cedu-service/src/main/java/org/qinan/cedu/service/impl/PaperServiceImpl.java @@ -125,7 +125,6 @@ public class PaperServiceImpl extends ServiceImpl implemen .eq(QuestionOptionDO::getDeleteEnum, DeleteEnum.FALSE.getCode())); // 新增试卷(使用请求中的名称/总分/合格分数) - LocalDateTime now = LocalDateTime.now(); PaperDO target = new PaperDO(); target.setPaperName(copyDTO.getPaperName().trim()); target.setPaperTotalScore(copyDTO.getPaperTotalScore()); @@ -146,40 +145,28 @@ public class PaperServiceImpl extends ServiceImpl implemen Long oldQuestionId = question.getId(); Long newQuestionId = IdUtil.getSnowflakeNextId(); question.setId(newQuestionId); - question.setCreateTime(now); - question.setUpdateTime(now); - question.setVersion(0); + InsertFieldDefaults.applyIgnoreOrgId(question); List options = allOptions.stream() .filter(option -> oldQuestionId.equals(option.getQuestionId())) .collect(Collectors.toList()); for (QuestionOptionDO option : options) { - Long oldOptionId = option.getId(); option.setId(IdUtil.getSnowflakeNextId()); option.setQuestionId(newQuestionId); - option.setCreateTime(now); - option.setUpdateTime(now); - option.setVersion(0); - if (StringUtils.hasText(question.getAnswerQuestionOptionIds())) { - // 替换正确选项id引用 - String replaced = Arrays.stream(question.getAnswerQuestionOptionIds().split(",")) - .map(String::trim) - .filter(StringUtils::hasText) - .map(oldId -> oldId.equals(String.valueOf(oldOptionId)) - ? String.valueOf(option.getId()) : oldId) - .collect(Collectors.joining(",")); - question.setAnswerQuestionOptionIds(replaced); - } + InsertFieldDefaults.applyIgnoreOrgId(option); newOptions.add(option); } + question.setAnswerQuestionOptionIds(newOptions.stream().filter(QuestionOptionDO::getIsCorrect) + .map(it -> String.valueOf(it.getId())).collect(Collectors.joining(","))); + question.setAnswer(newOptions.stream().filter(QuestionOptionDO::getIsCorrect) + .map(QuestionOptionDO::getOptionKey).collect(Collectors.joining(","))); PaperQuestionRelDO rel = new PaperQuestionRelDO(); rel.setPaperId(target.getId()); rel.setQuestionId(newQuestionId); rel.setQuestionNum(questionNumByQuestionId.get(oldQuestionId)); - rel.setCreateTime(now); - rel.setUpdateTime(now); newRels.add(rel); + InsertFieldDefaults.applyIgnoreOrgId(rel); } Db.saveBatch(questions); Db.saveBatch(newOptions);