Преглед изворни кода

3.4.5 update-20250411,新功能开发

xiaofei пре 2 месеци
родитељ
комит
209fcbc1e9

+ 1 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkTaskMapper.java

@@ -37,6 +37,7 @@ public interface MarkTaskMapper extends BaseMapper<MarkTask> {
                                 @Param("userId") Long userId);
 
     List<MarkTask> findUnMarkedFilterClass(@Param("page") Page<MarkTask> page, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("userId") Long userId, @Param("questionId") Long questionId, @Param("classNames") List<String> classNames);
+    List<MarkTask> findAiUnMarked(@Param("page") Page<MarkTask> page, @Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("questionId") Long questionId);
 
     List<MarkTask> listByExamIdAndPaperNumberAndQuestionIdAndUserIdAndClassName(@Param("examId") Long examId, @Param("paperNumber") String paperNumber, @Param("questionId") Long questionId, @Param("userId") Long userId, @Param("className") String className);
 

+ 1 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkTaskService.java

@@ -64,6 +64,7 @@ public interface MarkTaskService extends IService<MarkTask> {
     List<MarkTask> findUnMarked(Page<MarkTask> page, Long examId, String paperNumber, Long userId);
 
     List<MarkTask> findUnMarkedFilterClass(Page<MarkTask> page, Long examId, String paperNumber, Long userId, Long questionId, List<String> classNames);
+    List<MarkTask> findAiUnMarked(Page<MarkTask> page, Long examId, String paperNumber, Long questionId);
 
     int countByIdAndStatus(Long studentId, MarkTaskStatus status);
 

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/AiMarkServiceImpl.java

@@ -1498,7 +1498,7 @@ public class AiMarkServiceImpl implements AiMarkService {
         int pageNumber = 1;
         while (CollectionUtils.isNotEmpty(markTasks)) {
             Set<Long> questions = new HashSet<>(Arrays.asList(questionId));
-            markTasks = markTaskService.findUnMarkedFilterClass(new Page<>(pageNumber, 20), examId, paperNumber, null, questionId, null);
+            markTasks = markTaskService.findAiUnMarked(new Page<>(pageNumber, 20), examId, paperNumber, questionId);
             if (markTasks.isEmpty()) {
                 break;
             }

+ 5 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkTaskServiceImpl.java

@@ -262,6 +262,11 @@ public class MarkTaskServiceImpl extends ServiceImpl<MarkTaskMapper, MarkTask> i
         return this.baseMapper.findUnMarkedFilterClass(page, examId, paperNumber, userId, questionId, classNames);
     }
 
+    @Override
+    public List<MarkTask> findAiUnMarked(Page<MarkTask> page, Long examId, String paperNumber, Long questionId) {
+        return this.baseMapper.findAiUnMarked(page, examId, paperNumber, questionId);
+    }
+
     @Override
     public int countByIdAndStatus(Long studentId, MarkTaskStatus status) {
         QueryWrapper<MarkTask> queryWrapper = new QueryWrapper<>();

+ 14 - 0
teachcloud-mark/src/main/resources/mapper/MarkTaskMapper.xml

@@ -231,6 +231,20 @@
         </if>
         </where>
     </select>
+    <select id="findAiUnMarked" resultType="com.qmth.teachcloud.mark.entity.MarkTask">
+        SELECT
+        mt.*
+        FROM
+        mark_task mt
+        <where>
+            mt.exam_id = #{examId}
+            AND mt.paper_number = #{paperNumber}
+            AND mt.question_id = #{questionId}
+            AND mt.user_id is null
+            AND mt.ai_marked = true
+            AND mt.status='WAITING'
+        </where>
+    </select>
     <select id="listByExamIdAndPaperNumberAndQuestionIdAndUserIdAndClassName"
             resultType="com.qmth.teachcloud.mark.entity.MarkTask">
         SELECT