diff --git a/src/main/java/com/project/classicpaper/domain/entity/ClassicPaperSetEntity.java b/src/main/java/com/project/classicpaper/domain/entity/ClassicPaperSetEntity.java index 8829643..b37ee52 100644 --- a/src/main/java/com/project/classicpaper/domain/entity/ClassicPaperSetEntity.java +++ b/src/main/java/com/project/classicpaper/domain/entity/ClassicPaperSetEntity.java @@ -78,9 +78,7 @@ public class ClassicPaperSetEntity extends BaseEntity { @Comment("简答题数量") private Integer shortAnswerNum; - @Column(name = "score_ratio") // 移除 columnDefinition - @Comment("分值比例配置") // 使用专门的注解来定义注释 - @JdbcTypeCode(org.hibernate.type.SqlTypes.JSON) // 明确告知 Hibernate 这是 JSON 类型 + @Column(name = "score_ratio",columnDefinition = "varchar(500) comment '分值比例配置'") @TableField(value = "score_ratio", typeHandler = JacksonTypeHandler.class) // MyBatis-Plus 配置 private String scoreRatio; diff --git a/src/main/java/com/project/classicpaper/domain/service/impl/ImportClassicPaperDomainServiceImpl.java b/src/main/java/com/project/classicpaper/domain/service/impl/ImportClassicPaperDomainServiceImpl.java index 567652e..74182e7 100644 --- a/src/main/java/com/project/classicpaper/domain/service/impl/ImportClassicPaperDomainServiceImpl.java +++ b/src/main/java/com/project/classicpaper/domain/service/impl/ImportClassicPaperDomainServiceImpl.java @@ -1,7 +1,7 @@ package com.project.classicpaper.domain.service.impl; import com.fasterxml.jackson.databind.ObjectMapper; -import com.project.classicpaper.domain.dto.ClassicPaperDTO; +import com.project.base.domain.exception.BusinessErrorException; import com.project.classicpaper.domain.dto.ClassicPaperQuestionDTO; import com.project.classicpaper.domain.dto.ClassicPaperSetDTO; import com.project.classicpaper.domain.entity.ClassicPaperEntity; @@ -19,7 +19,6 @@ import com.project.question.domain.dto.QuestionDTO; import com.project.question.domain.entity.QuestionEntity; import com.project.question.domain.enums.QuestionSourceTypeEnum; import com.project.question.domain.service.QuestionBaseService; -import com.project.question.domain.service.SaveQuestionDomainService; import com.project.task.config.ExamScoreRatioConfig; import com.project.task.domain.enums.QuestionTypeEnum; import lombok.extern.slf4j.Slf4j; @@ -27,9 +26,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; - import java.util.ArrayList; -import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -38,7 +35,6 @@ import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.io.ByteArrayInputStream; -import java.io.InputStream; /** * 历史套卷导入服务实现 @@ -58,9 +54,6 @@ public class ImportClassicPaperDomainServiceImpl implements ImportClassicPaperDo @Autowired private ClassicPaperQuestionBaseService classicPaperQuestionBaseService; - @Autowired - private SaveQuestionDomainService saveQuestionDomainService; - @Autowired private QuestionBaseService questionBaseService; @@ -195,6 +188,8 @@ public class ImportClassicPaperDomainServiceImpl implements ImportClassicPaperDo scoringPoints.add(spDTO); } detailDTO.setScoringPoints(scoringPoints); + }else { + throw new BusinessErrorException("导入简答题没有得分点,请补充"); } questionDTO.setQuestionDetailDTO(detailDTO); diff --git a/src/main/java/com/project/exam/domain/service/impl/AdminSearchExamRecordDomainServiceImpl.java b/src/main/java/com/project/exam/domain/service/impl/AdminSearchExamRecordDomainServiceImpl.java index cb76d7d..fb629e6 100644 --- a/src/main/java/com/project/exam/domain/service/impl/AdminSearchExamRecordDomainServiceImpl.java +++ b/src/main/java/com/project/exam/domain/service/impl/AdminSearchExamRecordDomainServiceImpl.java @@ -85,7 +85,7 @@ public class AdminSearchExamRecordDomainServiceImpl implements AdminSearchExamRe } queryWrapper.isNotNull(ExamRecordEntity::getSubmitTime); - queryWrapper.orderByDesc(ExamRecordEntity::getId); + queryWrapper.orderByDesc(ExamRecordEntity::getSubmitTime); IPage examRecordEntityIPage = examRecordBaseService.page( PageConverter.toMpPage(param), queryWrapper); diff --git a/src/main/java/com/project/statistics/domain/service/impl/SaveSaveErrorProneStatisticsDomainServiceImpl.java b/src/main/java/com/project/statistics/domain/service/impl/SaveErrorProneStatisticsDomainServiceImpl.java similarity index 98% rename from src/main/java/com/project/statistics/domain/service/impl/SaveSaveErrorProneStatisticsDomainServiceImpl.java rename to src/main/java/com/project/statistics/domain/service/impl/SaveErrorProneStatisticsDomainServiceImpl.java index 95d68cd..a8da86a 100644 --- a/src/main/java/com/project/statistics/domain/service/impl/SaveSaveErrorProneStatisticsDomainServiceImpl.java +++ b/src/main/java/com/project/statistics/domain/service/impl/SaveErrorProneStatisticsDomainServiceImpl.java @@ -7,6 +7,7 @@ import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONUtil; import com.project.exam.domain.entity.ExamRecordEntity; +import com.project.exam.domain.enums.ExamRecordScoringStatusEnum; import com.project.question.domain.entity.QuestionEntity; import com.project.question.domain.entity.TaskKnowledgePointEntity; import com.project.question.domain.service.QuestionBaseService; @@ -35,7 +36,7 @@ import java.util.stream.Collectors; @Service @Slf4j -public class SaveSaveErrorProneStatisticsDomainServiceImpl implements SaveErrorProneStatisticsDomainService { +public class SaveErrorProneStatisticsDomainServiceImpl implements SaveErrorProneStatisticsDomainService { @Autowired private ErrorProneStatisticsBaseService errorProneStatisticsBaseService; @@ -73,7 +74,7 @@ public class SaveSaveErrorProneStatisticsDomainServiceImpl implements SaveErrorP @Override @Async public void collectShortAnswerErrorProneStatistics(TaskDTO taskDTO, List snapshots) { - collectByFilter(taskDTO, snapshots, this::isShortAnswer); + collectByFilter(taskDTO, snapshots, s -> isShortAnswer(s) && Objects.equals(s.getScoringStatus(), ExamRecordScoringStatusEnum.COMPLETED.getValue())); } private void collectByFilter(TaskDTO taskDTO, List snapshots, Predicate filter) {