Ver Fonte

3.4.5 update-20250410,新功能开发

xiaofei há 2 meses atrás
pai
commit
ae03254e88

+ 3 - 0
distributed-print/install/mysql/upgrade/3.4.5.sql

@@ -0,0 +1,3 @@
+USE teachcloud_db;
+
+ALTER TABLE `mark_paper` ADD COLUMN `ai_mark` VARCHAR(12) NULL DEFAULT 'NONE' COMMENT 'AI评卷(NONE:不开启,AI_ONLY:仅AI评卷,MAN_MACHINE:人机双评)' AFTER `archive`;

+ 29 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/mark/MarkPaperAiMark.java

@@ -0,0 +1,29 @@
+package com.qmth.teachcloud.common.enums.mark;
+
+public enum MarkPaperAiMark {
+
+    NONE("未开启"),
+    AI_ONLY("仅AI评卷"),
+    MAN_MACHINE("人机双评");
+
+    private String name;
+
+
+    private MarkPaperAiMark(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+
+    public static MarkPaperAiMark findByName(String name) {
+        for (MarkPaperAiMark c : MarkPaperAiMark.values()) {
+            if (c.toString().equalsIgnoreCase(name)) {
+                return c;
+            }
+        }
+        return null;
+    }
+}

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

@@ -8,6 +8,7 @@ import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.mark.MarkMode;
+import com.qmth.teachcloud.common.enums.mark.MarkPaperAiMark;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -143,6 +144,8 @@ public class MarkPaper implements Serializable {
 
     @ApiModelProperty(value = "是否归档")
     private Boolean archive;
+    @ApiModelProperty(value = "是否开启AI智能评卷")
+    private MarkPaperAiMark aiMark;
 
     @TableField(exist = false)
     private List<String> paperTypeList;
@@ -177,6 +180,7 @@ public class MarkPaper implements Serializable {
         this.forceMode = true;
         this.showObjectScore = false;
         this.archive = false;
+        this.aiMark = MarkPaperAiMark.NONE;
     }
 
     public MarkPaper(Long examId, String courseCode, String courseName, String paperNumber, Double totalScore, Double passScore) {
@@ -485,6 +489,14 @@ public class MarkPaper implements Serializable {
         this.archive = archive;
     }
 
+    public MarkPaperAiMark getAiMark() {
+        return aiMark;
+    }
+
+    public void setAiMark(MarkPaperAiMark aiMark) {
+        this.aiMark = aiMark;
+    }
+
     public List<String> getPaperTypeList() {
         return StringUtils.isBlank(this.paperType) ? Collections.emptyList() : Arrays.asList(this.paperType.split(","));
     }

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

@@ -163,6 +163,7 @@ public class MarkPaperServiceImpl extends ServiceImpl<MarkPaperMapper, MarkPaper
                 .set(MarkPaper::getAutoScroll, markPaper.getAutoScroll())
                 .set(MarkPaper::getDoubleMark, markPaper.getDoubleMark())
                 .set(MarkPaper::getMergeMarker, markPaper.getMergeMarker())
+                .set(MarkPaper::getAiMark, markPaper.getAiMark())
                 .eq(MarkPaper::getExamId, markPaper.getExamId())
                 .eq(MarkPaper::getPaperNumber, markPaper.getPaperNumber());
         if (StringUtils.isNotBlank(markPaper.getSheetConfig())) {