Bläddra i källkod

3.4.5 update-20250427,bug修改

xiaofei 1 månad sedan
förälder
incheckning
32673eee0d

+ 2 - 0
distributed-print/install/mysql/init/teachcloud_db.sql

@@ -2136,6 +2136,8 @@ CREATE TABLE IF NOT EXISTS `mark_task`
     `reject_reason`     varchar(128) DEFAULT NULL COMMENT '打回原因',
     `ai_marked` tinyint(1) NULL DEFAULT 0 COMMENT '是否AI评卷',
     `ai_mark_error_msg` varchar(2000) DEFAULT NULL COMMENT 'AI评卷错误信息',
+    `ai_mark_error_type` VARCHAR(10) NULL COMMENT 'AI评卷错误类型',
+    `retry_count` INT NULL DEFAULT 0 COMMENT '重试次数',
     PRIMARY KEY (`id`) USING BTREE,
     UNIQUE KEY `index2` (`student_id`,`group_number`,`task_number`) USING BTREE,
     KEY                 `index3` (`user_id`,`status`,`marker_time`) USING BTREE,

+ 3 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkQuestionServiceImpl.java

@@ -910,6 +910,9 @@ public class MarkQuestionServiceImpl extends ServiceImpl<MarkQuestionMapper, Mar
         if (markQuestion == null) {
             throw ExceptionResultEnum.ERROR.exception("题目不存在");
         }
+        if (lockService.isLocked(LockType.AI_MARK, markQuestion.getId())) {
+            throw ExceptionResultEnum.ERROR.exception("AI评卷任务正在评卷中,无法重置");
+        }
         if (lockService.trylock(LockType.AI_TASK_RESET, questionId)) {
             markSyncService.aiTaskResetSync(markQuestion, questionId);
             return true;

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

@@ -566,6 +566,8 @@ public class MarkTaskServiceImpl extends ServiceImpl<MarkTaskMapper, MarkTask> i
     public void updateAiMarkErrorMsg(MarkTask t) {
         UpdateWrapper<MarkTask> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().set(MarkTask::getAiMarkErrorMsg, t.getAiMarkErrorMsg())
+                .set(MarkTask::getAiMarkErrorType, t.getAiMarkErrorType())
+                .set(MarkTask::getRetryCount, t.getRetryCount())
                 .eq(MarkTask::getId, t.getId());
         this.update(updateWrapper);
     }