소스 검색

3.3.0 评卷入口列表

xiaofei 1 년 전
부모
커밋
cd0c18f0b8
40개의 변경된 파일544개의 추가작업 그리고 32개의 파일을 삭제
  1. 2 2
      distributed-print/install/mysql/upgrade/3.3.0.sql
  2. 1 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkEntranceController.java
  3. 23 0
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkQuestionController.java
  4. 72 0
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkSettingController.java
  5. 1 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/mark/entrance/MarkEntranceDto.java
  6. 85 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/mark/setting/MarkSettingDto.java
  7. 75 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkPaper.java
  8. 6 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkQuestion.java
  9. 6 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkStudent.java
  10. 4 1
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/ScanAnswerCard.java
  11. 28 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/mark/MarkMode.java
  12. 5 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/MarkPaperMapper.java
  13. 7 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/MarkPaperService.java
  14. 48 0
      teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/MarkPaperServiceImpl.java
  15. 27 0
      teachcloud-common/src/main/resources/mapper/MarkPaperMapper.xml
  16. 8 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkArbitrateHistory.java
  17. 5 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkGroup.java
  18. 6 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkGroupStudent.java
  19. 7 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkHeaderSubjectiveScore.java
  20. 7 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkHeaderTrack.java
  21. 10 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkProblemHistory.java
  22. 6 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkSubjectiveScore.java
  23. 8 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTask.java
  24. 8 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTrack.java
  25. 7 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkUserClass.java
  26. 7 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkUserGroup.java
  27. 6 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanAnswerCardSubject.java
  28. 8 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanBatch.java
  29. 5 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanBatchPaper.java
  30. 4 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanFileProperty.java
  31. 11 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanOmrTask.java
  32. 8 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanPackage.java
  33. 8 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanPaper.java
  34. 7 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanPaperPage.java
  35. 8 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanRefixBatch.java
  36. 6 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanStudentPaper.java
  37. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkUserGroupMapper.java
  38. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkUserGroupService.java
  39. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java
  40. 1 1
      teachcloud-mark/src/main/resources/mapper/MarkUserGroupMapper.xml

+ 2 - 2
distributed-print/install/mysql/upgrade/3.3.0.sql

@@ -40,8 +40,8 @@ INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('913', '主观题标答提交', '/api/admin/mark/subjective/save', 'URL', '897', '12', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('900', '查询', '/api/admin/mark/setting/summary', 'URL', '897', '1', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('914', '评卷设置', 'MarkConfig', 'LINK', '897', '4', 'AUTH', '915,916', '1', '1', '1');
-INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('915', '数据获取', '/api/admin/mark/config/get', 'URL', '897', '13', 'AUTH', '1', '1', '1');
-INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('916', '数据保存', '/api/admin/mark/config/save', 'URL', '897', '14', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('915', '数据获取', '/api/admin/mark/setting/paper/get', 'URL', '897', '13', 'AUTH', '1', '1', '1');
+INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('916', '数据保存', '/api/admin/mark/setting/paper/save', 'URL', '897', '14', 'AUTH', '1', '1', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `enable`, `default_auth`, `front_display`) VALUES ('917', '评卷管理', 'MarkManage', 'MENU', '486', '3', 'AUTH', '1', '0', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('918', '列表', 'List', 'LIST', '917', '1', 'AUTH', '925', '1', '0', '1');
 INSERT INTO `sys_privilege` (`id`, `name`, `url`, `type`, `parent_id`, `sequence`, `property`, `related`, `enable`, `default_auth`, `front_display`) VALUES ('919', '查询', 'Select', 'BUTTON', '917', '2', 'AUTH', '925', '1', '0', '1');

+ 1 - 2
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkEntranceController.java

@@ -3,11 +3,10 @@ package com.qmth.distributed.print.api.mark;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.boot.api.constant.ApiConstant;
-import com.qmth.teachcloud.common.bean.dto.mark.MarkEntranceDto;
+import com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
-import com.qmth.teachcloud.mark.service.MarkGroupService;
 import com.qmth.teachcloud.mark.service.MarkUserGroupService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;

+ 23 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkQuestionController.java

@@ -3,11 +3,20 @@ package com.qmth.distributed.print.api.mark;
 
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+
 /**
  * <p>
  * 小题信息表 前端控制器
@@ -21,4 +30,18 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/question")
 public class MarkQuestionController {
 
+    /**
+     * 评卷入口数据列表
+     */
+    @ApiOperation(value = "查询")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public Result list(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                       @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
+                       @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
+                       @ApiParam(value = "提交状态") @RequestParam(required = false) String groupStatus,
+                       @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                       @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+//        IPage<MarkEntranceDto> markEntranceDtoIPage = markUserGroupService.listEntranceGroup(examId, courseCode, paperNumber, pageNumber, pageSize);
+        return ResultUtil.ok();
+    }
 }

+ 72 - 0
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkSettingController.java

@@ -0,0 +1,72 @@
+package com.qmth.distributed.print.api.mark;
+
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.boot.api.constant.ApiConstant;
+import com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto;
+import com.qmth.teachcloud.common.bean.dto.mark.setting.MarkSettingDto;
+import com.qmth.teachcloud.common.contant.SystemConstant;
+import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.common.service.MarkPaperService;
+import com.qmth.teachcloud.common.util.Result;
+import com.qmth.teachcloud.common.util.ResultUtil;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+
+/**
+ * <p>
+ * 小题信息表 前端控制器
+ * </p>
+ *
+ * @author xf
+ * @since 2023-09-22
+ */
+@Api(tags = "评卷-试卷结构")
+@RestController
+@RequestMapping(ApiConstant.DEFAULT_URI_PREFIX + SystemConstant.PREFIX_URL_MARK + "/setting")
+public class MarkSettingController {
+
+    @Resource
+    MarkPaperService markPaperService;
+
+    /**
+     * 评卷入口数据列表
+     */
+    @ApiOperation(value = "查询")
+    @RequestMapping(value = "/list", method = RequestMethod.POST)
+    public Result list(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                       @ApiParam(value = "课程代码") @RequestParam(required = false) String courseCode,
+                       @ApiParam(value = "试卷编号") @RequestParam(required = false) String paperNumber,
+                       @ApiParam(value = "提交状态") @RequestParam(required = false) Boolean groupStatus,
+                       @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
+                       @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
+        IPage<MarkSettingDto> markSettingDtoIPage = markPaperService.listPaperSetting(examId, courseCode, paperNumber, groupStatus, pageNumber, pageSize);
+        return ResultUtil.ok(markSettingDtoIPage);
+    }
+
+    /**
+     * 评判设置数据获取
+     */
+    @ApiOperation(value = "评判设置数据获取")
+    @RequestMapping(value = "/paper/get", method = RequestMethod.POST)
+    public Result paperGet(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
+                           @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber) {
+        return ResultUtil.ok(markPaperService.getByExamIdAndPaperNumber(examId, paperNumber));
+    }
+
+    /**
+     * 评判设置数据获取
+     */
+    @ApiOperation(value = "评判设置数据获取")
+    @RequestMapping(value = "/paper/save", method = RequestMethod.POST)
+    public Result paperSave(@RequestBody MarkPaper markPaper) {
+        markPaperService.savePaperSetting(markPaper);
+        return ResultUtil.ok(true);
+    }
+}

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/mark/MarkEntranceDto.java → teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/mark/entrance/MarkEntranceDto.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.bean.dto.mark;
+package com.qmth.teachcloud.common.bean.dto.mark.entrance;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;

+ 85 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/dto/mark/setting/MarkSettingDto.java

@@ -0,0 +1,85 @@
+package com.qmth.teachcloud.common.bean.dto.mark.setting;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import com.qmth.teachcloud.common.enums.mark.MarkMode;
+
+/**
+ * 评卷设置 列表
+ */
+public class MarkSettingDto {
+
+    @JsonSerialize(using = ToStringSerializer.class)
+    private Long examId;
+    private Integer groupNumber;
+    private String courseCode;
+    private String courseName;
+    private String paperNumber;
+    private Boolean groupStatus;
+    private MarkMode markMode;
+    private String markModeDisplay;
+
+    public Long getExamId() {
+        return examId;
+    }
+
+    public void setExamId(Long examId) {
+        this.examId = examId;
+    }
+
+    public Integer getGroupNumber() {
+        return groupNumber;
+    }
+
+    public void setGroupNumber(Integer groupNumber) {
+        this.groupNumber = groupNumber;
+    }
+
+    public String getCourseCode() {
+        return courseCode;
+    }
+
+    public void setCourseCode(String courseCode) {
+        this.courseCode = courseCode;
+    }
+
+    public String getCourseName() {
+        return courseName;
+    }
+
+    public void setCourseName(String courseName) {
+        this.courseName = courseName;
+    }
+
+    public String getPaperNumber() {
+        return paperNumber;
+    }
+
+    public void setPaperNumber(String paperNumber) {
+        this.paperNumber = paperNumber;
+    }
+
+    public Boolean getGroupStatus() {
+        return groupStatus;
+    }
+
+    public void setGroupStatus(Boolean groupStatus) {
+        this.groupStatus = groupStatus;
+    }
+
+    public MarkMode getMarkMode() {
+        return markMode;
+    }
+
+    public void setMarkMode(MarkMode markMode) {
+        this.markMode = markMode;
+    }
+
+    public String getMarkModeDisplay() {
+        return markModeDisplay;
+    }
+
+    public void setMarkModeDisplay(String markModeDisplay) {
+        this.markModeDisplay = markModeDisplay;
+    }
+}

+ 75 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkPaper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,6 +24,7 @@ public class MarkPaper implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -69,6 +73,23 @@ public class MarkPaper implements Serializable {
     @ApiModelProperty(value = "评卷是否跳转")
     private Boolean autoScroll;
 
+    @ApiModelProperty(value = "评卷模式")
+    private String markMode;
+
+    @ApiModelProperty(value = "评卷开始时间")
+    private Long markStartTime;
+
+    @ApiModelProperty(value = "评卷结束时间")
+    private Long markEndTime;
+
+    @ApiModelProperty(value = "是否原卷显示")
+    private Boolean sheetView;
+
+    @ApiModelProperty(value = "评卷是否显示客观分")
+    private Boolean showObjectScore;
+    @ApiModelProperty(value = "评卷分组是否提交")
+    private Boolean groupStatus;
+
     public Long getExamId() {
         return examId;
     }
@@ -182,6 +203,54 @@ public class MarkPaper implements Serializable {
         this.autoScroll = autoScroll;
     }
 
+    public String getMarkMode() {
+        return markMode;
+    }
+
+    public void setMarkMode(String markMode) {
+        this.markMode = markMode;
+    }
+
+    public Long getMarkStartTime() {
+        return markStartTime;
+    }
+
+    public void setMarkStartTime(Long markStartTime) {
+        this.markStartTime = markStartTime;
+    }
+
+    public Long getMarkEndTime() {
+        return markEndTime;
+    }
+
+    public void setMarkEndTime(Long markEndTime) {
+        this.markEndTime = markEndTime;
+    }
+
+    public Boolean getSheetView() {
+        return sheetView;
+    }
+
+    public void setSheetView(Boolean sheetView) {
+        this.sheetView = sheetView;
+    }
+
+    public Boolean getShowObjectScore() {
+        return showObjectScore;
+    }
+
+    public void setShowObjectScore(Boolean showObjectScore) {
+        this.showObjectScore = showObjectScore;
+    }
+
+    public Boolean getGroupStatus() {
+        return groupStatus;
+    }
+
+    public void setGroupStatus(Boolean groupStatus) {
+        this.groupStatus = groupStatus;
+    }
+
     @Override
     public String toString() {
         return "MarkPaper{" +
@@ -201,6 +270,12 @@ public class MarkPaper implements Serializable {
             ", paperFileType=" + paperFileType +
             ", answerFileType=" + answerFileType +
             ", autoScroll=" + autoScroll +
+            ", markMode=" + markMode +
+            ", markStartTime=" + markStartTime +
+            ", markEndTime=" + markEndTime +
+            ", sheetView=" + sheetView +
+            ", showObjectScore=" + showObjectScore +
+            ", groupStatus=" + groupStatus +
         "}";
     }
 }

+ 6 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkQuestion.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,10 +24,12 @@ public class MarkQuestion implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 

+ 6 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkStudent.java

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.common.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,10 +24,12 @@ public class MarkStudent implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "主键(和exam_student表id一样)")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -86,6 +90,7 @@ public class MarkStudent implements Serializable {
     @ApiModelProperty(value = "复核时间")
     private Long inspectTime;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "复核人ID")
     private Long inspectorId;
 

+ 4 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/ScanAnswerCard.java

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.common.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,8 +24,9 @@ public class ScanAnswerCard implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
-    @TableId(value = "exam_id", type = IdType.AUTO)
+    @TableId(value = "exam_id")
     private Long examId;
 
     @ApiModelProperty(value = "科目代码")

+ 28 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/enums/mark/MarkMode.java

@@ -0,0 +1,28 @@
+package com.qmth.teachcloud.common.enums.mark;
+
+/**
+ * 评卷模式
+ */
+public enum MarkMode {
+
+    COMMON("普通"), TRACK("轨迹");
+
+    private String name;
+
+    private MarkMode(String name) {
+        this.name = name;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public static MarkMode findByName(String name) {
+        for (MarkMode c : MarkMode.values()) {
+            if (c.toString().equalsIgnoreCase(name)) {
+                return c;
+            }
+        }
+        return null;
+    }
+}

+ 5 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/MarkPaperMapper.java

@@ -1,7 +1,11 @@
 package com.qmth.teachcloud.common.mapper;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.qmth.teachcloud.common.bean.dto.mark.setting.MarkSettingDto;
 import com.qmth.teachcloud.common.entity.MarkPaper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -13,4 +17,5 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  */
 public interface MarkPaperMapper extends BaseMapper<MarkPaper> {
 
+    IPage<MarkSettingDto> listPaperSetting(@Param("page") Page<MarkSettingDto> page, @Param("examId") Long examId, @Param("courseCode") String courseCode, @Param("paperNumber") String paperNumber, @Param("groupStatus") Boolean groupStatus);
 }

+ 7 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/MarkPaperService.java

@@ -1,5 +1,7 @@
 package com.qmth.teachcloud.common.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.qmth.teachcloud.common.bean.dto.mark.setting.MarkSettingDto;
 import com.qmth.teachcloud.common.entity.MarkPaper;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -13,4 +15,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface MarkPaperService extends IService<MarkPaper> {
 
+    IPage<MarkSettingDto> listPaperSetting(Long examId, String courseCode, String paperNumber, Boolean groupStatus, Integer pageNumber, Integer pageSize);
+
+    MarkPaper getByExamIdAndPaperNumber(Long examId, String paperNumber);
+
+    void savePaperSetting(MarkPaper markPaper);
 }

+ 48 - 0
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/MarkPaperServiceImpl.java

@@ -1,11 +1,19 @@
 package com.qmth.teachcloud.common.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.qmth.teachcloud.common.bean.dto.mark.setting.MarkSettingDto;
 import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.mapper.MarkPaperMapper;
 import com.qmth.teachcloud.common.service.MarkPaperService;
 import org.springframework.stereotype.Service;
 
+import java.util.Objects;
+
 /**
  * <p>
  * 考试科目表 服务实现类
@@ -17,4 +25,44 @@ import org.springframework.stereotype.Service;
 @Service
 public class MarkPaperServiceImpl extends ServiceImpl<MarkPaperMapper, MarkPaper> implements MarkPaperService {
 
+    @Override
+    public IPage<MarkSettingDto> listPaperSetting(Long examId, String courseCode, String paperNumber, Boolean groupStatus, Integer pageNumber, Integer pageSize) {
+        Page<MarkSettingDto> page = new Page<>(pageNumber, pageSize);
+        IPage<MarkSettingDto> markSettingDtoIPage = this.baseMapper.listPaperSetting(page, examId, courseCode, paperNumber, groupStatus);
+        for (MarkSettingDto record : markSettingDtoIPage.getRecords()) {
+            if (Objects.nonNull(record.getMarkMode())) {
+                record.setMarkModeDisplay(record.getMarkMode().getName());
+            }
+        }
+        return markSettingDtoIPage;
+    }
+
+    @Override
+    public MarkPaper getByExamIdAndPaperNumber(Long examId, String paperNumber) {
+        QueryWrapper<MarkPaper> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(MarkPaper::getExamId, examId)
+                .eq(MarkPaper::getPaperNumber, paperNumber);
+        return this.getOne(queryWrapper);
+    }
+
+    @Override
+    public void savePaperSetting(MarkPaper markPaper) {
+        MarkPaper markPaperOld = this.getByExamIdAndPaperNumber(markPaper.getExamId(), markPaper.getPaperNumber());
+        if (markPaperOld == null) {
+            throw ExceptionResultEnum.ERROR.exception("评卷设置数据不存在");
+        }
+        UpdateWrapper<MarkPaper> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().set(MarkPaper::getMarkMode, markPaper.getMarkMode())
+                .set(MarkPaper::getMarkStartTime, markPaper.getMarkStartTime())
+                .set(MarkPaper::getMarkEndTime, markPaper.getMarkEndTime())
+                .set(MarkPaper::getSheetView, markPaper.getSheetView())
+                .set(MarkPaper::getShowObjectScore, markPaper.getObjectiveScore())
+                .set(MarkPaper::getAutoScroll, markPaper.getAutoScroll())
+                .set(MarkPaper::getPassScore, markPaper.getPassScore())
+                .set(MarkPaper::getExcellentScore, markPaper.getExcellentScore())
+                .set(MarkPaper::getSheetConfig, markPaper.getSheetConfig())
+                .eq(MarkPaper::getExamId, markPaper.getExamId())
+                .eq(MarkPaper::getPaperNumber, markPaper.getPaperNumber());
+        this.update(updateWrapper);
+    }
 }

+ 27 - 0
teachcloud-common/src/main/resources/mapper/MarkPaperMapper.xml

@@ -20,6 +20,33 @@
         <result column="paper_file_type" property="paperFileType" />
         <result column="answer_file_type" property="answerFileType" />
         <result column="auto_scroll" property="autoScroll" />
+        <result column="mark_mode" property="markMode" />
+        <result column="mark_start_time" property="markStartTime" />
+        <result column="mark_end_time" property="markEndTime" />
+        <result column="sheet_view" property="sheetView" />
+        <result column="show_object_score" property="showObjectScore" />
     </resultMap>
+    <select id="listPaperSetting" resultType="com.qmth.teachcloud.common.bean.dto.mark.setting.MarkSettingDto">
+        SELECT
+            mp.exam_id examId,
+            mp.course_code courseCode,
+            mp.course_name courseName,
+            mp.paper_number paperNumber,
+            mp.mark_mode markMode,
+            mp.group_status groupStatus
+        FROM
+            mark_paper mp
+        WHERE
+            mp.exam_id = #{examId}
+            <if test="courseCode != null and courseCode != ''">
+                and mp.course_code = #{courseCode}
+            </if>
+            <if test="courseName != null and courseName != ''">
+                and mp.course_name = #{courseName}
+            </if>
+            <if test="groupStatus != null">
+                and mp.group_status = #{groupStatus}
+            </if>
+    </select>
 
 </mapper>

+ 8 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkArbitrateHistory.java

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.mark.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,10 +24,12 @@ public class MarkArbitrateHistory implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value = "自增主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -41,12 +45,14 @@ public class MarkArbitrateHistory implements Serializable {
     @ApiModelProperty(value = "考生密号")
     private String secretNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
     private Long studentId;
 
     @ApiModelProperty(value = "状态")
     private String status;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "处理人ID")
     private Long userId;
 

+ 5 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkGroup.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,8 +24,9 @@ public class MarkGroup implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
-    @TableId(value = "exam_id", type = IdType.AUTO)
+    @TableId(value = "exam_id")
     private Long examId;
 
     @ApiModelProperty(value = "课程代码")

+ 6 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkGroupStudent.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,13 +24,15 @@ public class MarkGroupStudent implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
-    @TableId(value = "student_id", type = IdType.AUTO)
+    @TableId(value = "student_id")
     private Long studentId;
 
     @ApiModelProperty(value = "分组ID")
     private Integer groupNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 

+ 7 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkHeaderSubjectiveScore.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,8 +24,9 @@ public class MarkHeaderSubjectiveScore implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
-    @TableId(value = "student_id", type = IdType.AUTO)
+    @TableId(value = "student_id")
     private Long studentId;
 
     @ApiModelProperty(value = "大题号")
@@ -31,6 +35,7 @@ public class MarkHeaderSubjectiveScore implements Serializable {
     @ApiModelProperty(value = "小题号")
     private String subNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -52,6 +57,7 @@ public class MarkHeaderSubjectiveScore implements Serializable {
     @ApiModelProperty(value = "是否合分")
     private Integer uncalculate;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "科组长ID")
     private Long userId;
 

+ 7 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkHeaderTrack.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,8 +24,9 @@ public class MarkHeaderTrack implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
-    @TableId(value = "student_id", type = IdType.AUTO)
+    @TableId(value = "student_id")
     private Long studentId;
 
     @ApiModelProperty(value = "完整题号")
@@ -31,6 +35,7 @@ public class MarkHeaderTrack implements Serializable {
     @ApiModelProperty(value = "序号")
     private Integer number;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -40,6 +45,7 @@ public class MarkHeaderTrack implements Serializable {
     @ApiModelProperty(value = "大题题号")
     private Integer groupNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "用户ID")
     private Long userId;
 

+ 10 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkProblemHistory.java

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.mark.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,10 +24,12 @@ public class MarkProblemHistory implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @ApiModelProperty(value = "自增主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @ApiModelProperty(value = "主键")
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -44,18 +48,22 @@ public class MarkProblemHistory implements Serializable {
     @ApiModelProperty(value = "问题类型")
     private String type;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
     private Long studentId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "评卷任务ID")
     private Long taskId;
 
     @ApiModelProperty(value = "状态")
     private String status;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "处理人ID")
     private Long updateUserId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "评卷员ID")
     private Long userId;
 

+ 6 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkSubjectiveScore.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,8 +24,9 @@ public class MarkSubjectiveScore implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
-    @TableId(value = "student_id", type = IdType.AUTO)
+    @TableId(value = "student_id")
     private Long studentId;
 
     @ApiModelProperty(value = "大题号")
@@ -31,6 +35,7 @@ public class MarkSubjectiveScore implements Serializable {
     @ApiModelProperty(value = "小题号")
     private String subNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 

+ 8 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTask.java

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.mark.entity;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -22,10 +24,12 @@ public class MarkTask implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -35,6 +39,7 @@ public class MarkTask implements Serializable {
     @ApiModelProperty(value = "大题号")
     private Integer groupNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
     private Long studentId;
 
@@ -50,6 +55,7 @@ public class MarkTask implements Serializable {
     @ApiModelProperty(value = "状态")
     private String status;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "评卷员ID")
     private Long userId;
 
@@ -65,6 +71,7 @@ public class MarkTask implements Serializable {
     @ApiModelProperty(value = "评卷时长")
     private Integer markerSpent;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "科组长ID")
     private Long headerId;
 

+ 8 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkTrack.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,8 +24,9 @@ public class MarkTrack implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "评卷任务ID")
-    @TableId(value = "task_id", type = IdType.AUTO)
+    @TableId(value = "task_id")
     private Long taskId;
 
     @ApiModelProperty(value = "完整题号")
@@ -31,9 +35,11 @@ public class MarkTrack implements Serializable {
     @ApiModelProperty(value = "序号")
     private Integer number;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
     private Long studentId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -43,6 +49,7 @@ public class MarkTrack implements Serializable {
     @ApiModelProperty(value = "大题题号")
     private Integer groupNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "评卷员ID")
     private Long userId;
 

+ 7 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkUserClass.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,15 +24,18 @@ public class MarkUserClass implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "Id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "Id")
     private Long Id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
     @ApiModelProperty(value = "试卷编号")
     private String paperNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "评卷员ID")
     private Long userId;
 

+ 7 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkUserGroup.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,10 +24,12 @@ public class MarkUserGroup implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -34,6 +39,7 @@ public class MarkUserGroup implements Serializable {
     @ApiModelProperty(value = "分组编号")
     private Integer groupNumber;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "用户ID")
     private Long userId;
 

+ 6 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanAnswerCardSubject.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,10 +24,12 @@ public class ScanAnswerCardSubject implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "主键")
-    @TableId(value = "id", type = IdType.AUTO)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 

+ 8 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanBatch.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,12 +24,15 @@ public class ScanBatch implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @TableId(value = "id", type = IdType.AUTO)
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "扫描员ID")
     private Long userId;
 
@@ -41,8 +47,10 @@ public class ScanBatch implements Serializable {
     @ApiModelProperty(value = "状态")
     private String status;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long creatorId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long updaterId;
 
     private Long createTime;

+ 5 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanBatchPaper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -25,12 +28,14 @@ public class ScanBatchPaper implements Serializable {
     @TableId(value = "batch_id", type = IdType.AUTO)
     private Long batchId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
     private Long studentId;
 
     @ApiModelProperty(value = "试卷页数")
     private Integer paperIndex;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "试卷ID")
     private Long paperId;
 

+ 4 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanFileProperty.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -28,6 +31,7 @@ public class ScanFileProperty implements Serializable {
     @ApiModelProperty(value = "文件md5")
     private String md5;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 

+ 11 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanOmrTask.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,21 +24,25 @@ public class ScanOmrTask implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
     @ApiModelProperty(value = "条件")
     private String conditions;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考生ID")
     private Long studentId;
 
     @ApiModelProperty(value = "试卷页数")
     private Integer paperIndex;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "试卷ID")
     private Integer paperId;
 
@@ -45,12 +52,15 @@ public class ScanOmrTask implements Serializable {
     @ApiModelProperty(value = "状态")
     private String status;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long userId;
 
     private String pages;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long creatorId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long updaterId;
 
     private Long createTime;

+ 8 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanPackage.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,9 +24,11 @@ public class ScanPackage implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -41,8 +46,10 @@ public class ScanPackage implements Serializable {
 
     private Boolean assigned;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long creatorId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long updaterId;
 
     private Long createTime;

+ 8 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanPaper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,9 +24,11 @@ public class ScanPaper implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     @ApiModelProperty(value = "考试ID")
     private Long examId;
 
@@ -42,8 +47,10 @@ public class ScanPaper implements Serializable {
 
     private Boolean questionFilled;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long creatorId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long updaterId;
 
     private Long createTime;

+ 7 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanPaperPage.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,7 +24,8 @@ public class ScanPaperPage implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "paper_id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "paper_id")
     private Long paperId;
 
     private Integer pageIndex;
@@ -38,8 +42,10 @@ public class ScanPaperPage implements Serializable {
 
     private String recogData;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long creatorId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long updaterId;
 
     private Long createTime;

+ 8 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanRefixBatch.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,9 +24,11 @@ public class ScanRefixBatch implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "id")
     private Long id;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long examId;
 
     private Integer cardNumber;
@@ -38,8 +43,10 @@ public class ScanRefixBatch implements Serializable {
 
     private Boolean finished;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long creatorId;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long updaterId;
 
     private Long createTime;

+ 6 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanStudentPaper.java

@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
+
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 
@@ -21,11 +24,13 @@ public class ScanStudentPaper implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-    @TableId(value = "student_id", type = IdType.AUTO)
+    @JsonSerialize(using = ToStringSerializer.class)
+    @TableId(value = "student_id")
     private Long studentId;
 
     private Integer paperIndex;
 
+    @JsonSerialize(using = ToStringSerializer.class)
     private Long paperId;
 
     private Long createTime;

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

@@ -2,7 +2,7 @@ package com.qmth.teachcloud.mark.mapper;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.qmth.teachcloud.common.bean.dto.mark.MarkEntranceDto;
+import com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto;
 import com.qmth.teachcloud.mark.entity.MarkUserGroup;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;

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

@@ -1,7 +1,7 @@
 package com.qmth.teachcloud.mark.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.qmth.teachcloud.common.bean.dto.mark.MarkEntranceDto;
+import com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto;
 import com.qmth.teachcloud.mark.entity.MarkUserGroup;
 import com.baomidou.mybatisplus.extension.service.IService;
 

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

@@ -3,7 +3,7 @@ package com.qmth.teachcloud.mark.service.impl;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.teachcloud.common.bean.dto.mark.MarkEntranceDto;
+import com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.MarkQuestionService;

+ 1 - 1
teachcloud-mark/src/main/resources/mapper/MarkUserGroupMapper.xml

@@ -16,7 +16,7 @@
         <result column="avg_speed" property="avgSpeed" />
         <result column="stdev_score" property="stdevScore" />
     </resultMap>
-    <select id="listEntranceGroup" resultType="com.qmth.teachcloud.common.bean.dto.mark.MarkEntranceDto">
+    <select id="listEntranceGroup" resultType="com.qmth.teachcloud.common.bean.dto.mark.entrance.MarkEntranceDto">
         SELECT
             mg.exam_id examId,
             mg.number groupNumber,