luohairen
2024-11-12 b661bcf7e065092c876e052bad0bfaecb9dc0c17
src/main/java/com/ycl/jxkg/service/impl/ExamServiceImpl.java
@@ -1008,7 +1008,7 @@
        if (!org.springframework.util.CollectionUtils.isEmpty(examPaperMark.getTitleItems())) {
            examPaperScore.setPaperContent(JSON.toJSONString(examPaperMark.getTitleItems()));
            // 保存答题记录
            this.saveQuestionAnswerRecord(examPaperMark.getUserId(), examPaperMark.getTitleItems());
            this.saveQuestionAnswerRecord(examPaperMark.getUserId(), examPaperMark.getTitleItems(), examPaperMark.getExamId(), examPaperMark.getPaperId());
        }
        if (!org.springframework.util.CollectionUtils.isEmpty(examPaperMark.getNavbar())) {
            examPaperScore.setNavbar(JSON.toJSONString(examPaperMark.getNavbar()));
@@ -1053,14 +1053,19 @@
     *
     * @param titleItems
     */
    private void saveQuestionAnswerRecord(Integer studentUserId, List<PaperFixQuestionVO> titleItems) {
    private void saveQuestionAnswerRecord(Integer studentUserId, List<PaperFixQuestionVO> titleItems, Integer examId, Integer paperId) {
        // 删除原来的答题记录
        new LambdaUpdateChainWrapper<>(questionAnswerRecordMapper)
                .eq(QuestionAnswerRecord::getExamId, examId)
                .eq(QuestionAnswerRecord::getUserId, studentUserId).remove();
        for (PaperFixQuestionVO titleItem : titleItems) {
            for (DoQuestionVO question : titleItem.getQuestionList()) {
                QuestionAnswerRecord record = new QuestionAnswerRecord();
                record.setQuestionType(titleItem.getQuestionType());
                record.setUserId(studentUserId);
                record.setDoRight(question.getRight());
                record.setExamId(question.getExamId());
                record.setExamId(examId);
                record.setPaperId(paperId);
                record.setQuestionId(question.getId());
                record.setScore(question.getScore());
                record.setUserAnswer(StringUtils.hasText(question.getAnswer()) ? question.getAnswer() : question.getAnswerList().stream().collect(Collectors.joining("、")));