瀏覽代碼

3.4.5 update-20250415,新功能开发

xiaofei 2 月之前
父節點
當前提交
a76f438dda

+ 4 - 1
distributed-print/install/mysql/upgrade/3.4.5.sql

@@ -88,4 +88,7 @@ INSERT INTO sys_privilege
 VALUES(1228, '获取AI智能评卷任务数量', '/api/admin/mark/inspected/ai/mark/getTask/count', 'URL', 946, 6, 'AUTH', NULL, 1, 1, 1);
 INSERT INTO sys_privilege
 (id, name, url, `type`, parent_id, `sequence`, property, related, enable, default_auth, front_display)
-VALUES(1229, 'AI智能评卷待复核', 'InspectedAiMark', 'LINK', 946, 9, 'AUTH', '1228', 1, 0, 1);
+VALUES(1229, 'AI智能评卷待复核', 'InspectedAiMark', 'LINK', 946, 9, 'AUTH', '1228', 1, 0, 1);
+
+-- 2025-04-15
+ALTER TABLE `mark_task` ADD COLUMN `ai_mark_error_msg` VARCHAR(2000) NULL COMMENT 'AI评卷错误信息' AFTER `ai_marked`;

+ 12 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTask.java

@@ -134,6 +134,10 @@ public class MarkTask implements Serializable {
     @ApiModelProperty(value = "是否AI评卷")
     private Boolean aiMarked;
 
+    @ApiModelProperty(value = "AI评卷错误信息")
+    @TableField(updateStrategy = FieldStrategy.IGNORED)
+    private String aiMarkErrorMsg;
+
     public Long getId() {
         return id;
     }
@@ -358,6 +362,14 @@ public class MarkTask implements Serializable {
         this.aiMarked = aiMarked;
     }
 
+    public String getAiMarkErrorMsg() {
+        return aiMarkErrorMsg;
+    }
+
+    public void setAiMarkErrorMsg(String aiMarkErrorMsg) {
+        this.aiMarkErrorMsg = aiMarkErrorMsg;
+    }
+
     public List<TrackDTO> listMarkerTrack() {
         List<TrackDTO> markTrackList = new ArrayList<>();
         if (StringUtils.isNotBlank(markerTrackList)) {

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

@@ -120,13 +120,14 @@ public class AiMarkServiceImpl implements AiMarkService {
                     AutoScoreResult autoScoreResult = aiService.autoScore(request, AiUtil.signature(basicSchool));
 
                 } catch (Exception e) {
-                    throw new RuntimeException(e);
+                    t.setAiMarkErrorMsg(e.getMessage());
                 } finally {
+                    t.setAiMarkErrorMsg(null);
                 }
             }
             pageNumber++;
             markTasks = markTaskService.findAiUnMarked(new Page<>(pageNumber, 20), examId, paperNumber, questionId);
-        }while (CollectionUtils.isNotEmpty(markTasks));
+        } while (CollectionUtils.isNotEmpty(markTasks));
     }
 
     private List<StandardAnswer> buildStandardAnswer(MarkAiQuestionParam markAiQuestionParam) {