xiaofei 1 рік тому
батько
коміт
51e61a033c
51 змінених файлів з 426 додано та 201 видалено
  1. 2 2
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintFinishService.java
  2. 4 19
      distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintFinishServiceImpl.java
  3. 4 7
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkArbitrateController.java
  4. 1 1
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkPaperController.java
  5. 4 4
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkQuestionController.java
  6. 2 2
      distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkSettingController.java
  7. 111 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/ScoreItem.java
  8. 2 32
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/MarkStepDTO.java
  9. 10 10
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/Task.java
  10. 3 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/TrackDTO.java
  11. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/setting/MarkGroupDto.java
  12. 53 16
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkArbitrateHistory.java
  13. 0 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkGroup.java
  14. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkPaper.java
  15. 4 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkQuestion.java
  16. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkStudent.java
  17. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/ScanAnswerCard.java
  18. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkPaperMapper.java
  19. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkQuestionMapper.java
  20. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkStudentMapper.java
  21. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/ScanAnswerCardMapper.java
  22. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/params/MarkObjectiveQuestionParams.java
  23. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/params/MarkQuestionParams.java
  24. 3 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkArbitrateHistoryService.java
  25. 3 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkHeaderTrackService.java
  26. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkPaperService.java
  27. 4 5
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkQuestionService.java
  28. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkStudentService.java
  29. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/ScanAnswerCardService.java
  30. 9 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/TaskService.java
  31. 19 8
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkArbitrateHistoryServiceImpl.java
  32. 3 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkGroupServiceImpl.java
  33. 13 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkHeaderTrackServiceImpl.java
  34. 4 4
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkPaperServiceImpl.java
  35. 3 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkProblemHistoryServiceImpl.java
  36. 8 8
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkQuestionServiceImpl.java
  37. 3 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkServiceImpl.java
  38. 4 4
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java
  39. 1 1
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkTaskServiceImpl.java
  40. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserClassServiceImpl.java
  41. 3 3
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkUserGroupServiceImpl.java
  42. 4 4
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanAnswerCardServiceImpl.java
  43. 4 4
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanOmrTaskServiceImpl.java
  44. 2 2
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanPaperServiceImpl.java
  45. 2 14
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanRefixBatchServiceImpl.java
  46. 99 0
      teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/TaskServiceImpl.java
  47. 3 3
      teachcloud-mark/src/main/resources/mapper/MarkPaperMapper.xml
  48. 2 2
      teachcloud-mark/src/main/resources/mapper/MarkQuestionMapper.xml
  49. 2 2
      teachcloud-mark/src/main/resources/mapper/MarkStudentMapper.xml
  50. 2 2
      teachcloud-mark/src/main/resources/mapper/ScanAnswerCardMapper.xml
  51. 2 2
      teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

+ 2 - 2
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/PrintFinishService.java

@@ -7,11 +7,11 @@ import com.qmth.distributed.print.business.entity.ExamDetail;
  */
 public interface PrintFinishService {
 
-    public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber);
+    /*public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber);
 
     public void insertMarkStudent(ExamDetail examDetail);
 
     public void insertScanAnswerCard();
 
-    public void insertMarkQuestion();
+    public void insertMarkQuestion();*/
 }

+ 4 - 19
distributed-print-business/src/main/java/com/qmth/distributed/print/business/service/impl/PrintFinishServiceImpl.java

@@ -1,27 +1,12 @@
 package com.qmth.distributed.print.business.service.impl;
 
-import com.qmth.distributed.print.business.entity.ExamDetail;
-import com.qmth.distributed.print.business.entity.ExamDetailCourse;
-import com.qmth.distributed.print.business.entity.ExamStudent;
-import com.qmth.distributed.print.business.service.ExamDetailCourseService;
-import com.qmth.distributed.print.business.service.ExamStudentService;
 import com.qmth.distributed.print.business.service.PrintFinishService;
-import com.qmth.teachcloud.common.entity.MarkPaper;
-import com.qmth.teachcloud.common.entity.MarkStudent;
-import com.qmth.teachcloud.common.service.MarkPaperService;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
-import com.qmth.teachcloud.common.service.MarkStudentService;
-import org.apache.commons.collections4.CollectionUtils;
 import org.springframework.stereotype.Service;
 
-import javax.annotation.Resource;
-import java.util.ArrayList;
-import java.util.List;
-
 @Service
 public class PrintFinishServiceImpl implements PrintFinishService {
 
-    @Resource
+    /*@Resource
     private MarkPaperService markPaperService;
     @Resource
     private MarkQuestionService markQuestionService;
@@ -32,14 +17,14 @@ public class PrintFinishServiceImpl implements PrintFinishService {
     @Resource
     private ExamStudentService examStudentService;
 
-    /**
+    *//**
      * 打印结束后,生成阅卷科目数据
      *
      * @param examId
      * @param courseCode
      * @param courseName
      * @param paperNumber
-     */
+     *//*
     @Override
     public void insertMarkPaper(Long examId, String courseCode, String courseName, String paperNumber) {
         MarkPaper markPaper = markPaperService.getByExamIdAndPaperNumber(examId, paperNumber);
@@ -77,5 +62,5 @@ public class PrintFinishServiceImpl implements PrintFinishService {
     @Override
     public void insertMarkQuestion() {
 
-    }
+    }*/
 }

+ 4 - 7
distributed-print/src/main/java/com/qmth/distributed/print/api/mark/MarkArbitrateController.java

@@ -9,6 +9,7 @@ import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateSettingDto;
 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.dto.mark.manage.Task;
 import com.qmth.teachcloud.mark.service.MarkArbitrateHistoryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -88,12 +89,8 @@ public class MarkArbitrateController {
      */
     @ApiOperation(value = "获取单个任务")
     @RequestMapping(value = "/getTask", method = RequestMethod.POST)
-    public Result getTask(@ApiParam(value = "考试ID", required = true) @RequestParam Long examId,
-                          @ApiParam(value = "试卷编号", required = true) @RequestParam String paperNumber,
-                          @ApiParam(value = "分组号") @RequestParam(required = false) Integer groupNumber,
-                          @RequestParam @Min(SystemConstant.PAGE_NUMBER_MIN) Integer pageNumber,
-                          @RequestParam @Min(SystemConstant.PAGE_SIZE_MIN) @Max(SystemConstant.PAGE_SIZE_MAX) Integer pageSize) {
-        IPage<MarkArbitrateDto> markArbitrateDtoIPage = markArbitrateHistoryService.pageArbitrate(examId, paperNumber, groupNumber, pageNumber, pageSize);
-        return ResultUtil.ok(markArbitrateDtoIPage);
+    public Result getTask(@ApiParam(value = "仲裁历史ID", required = true) @RequestParam Long arbitrateId) {
+        Task task = markArbitrateHistoryService.getArbitrateTask(arbitrateId);
+        return ResultUtil.ok(task);
     }
 }

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

@@ -6,7 +6,7 @@ import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.common.contant.SystemConstant;
 import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
-import com.qmth.teachcloud.common.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;

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

@@ -3,12 +3,12 @@ package com.qmth.distributed.print.api.mark;
 
 import com.qmth.boot.api.constant.ApiConstant;
 import com.qmth.teachcloud.common.annotation.OperationLogDetail;
-import com.qmth.teachcloud.common.bean.params.mark.setting.MarkObjectiveQuestionParams;
-import com.qmth.teachcloud.common.bean.params.mark.setting.MarkQuestionParams;
+import com.qmth.teachcloud.mark.params.MarkObjectiveQuestionParams;
+import com.qmth.teachcloud.mark.params.MarkQuestionParams;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
 import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import io.swagger.annotations.Api;

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

@@ -7,9 +7,9 @@ import com.qmth.teachcloud.common.annotation.OperationLogDetail;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkManageDto;
 import com.qmth.teachcloud.common.bean.dto.mark.MarkSettingDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.common.enums.log.CustomizedOperationTypeEnum;
-import com.qmth.teachcloud.common.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.common.util.Result;
 import com.qmth.teachcloud.common.util.ResultUtil;
 import com.qmth.teachcloud.mark.service.MarkTaskService;

+ 111 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/ScoreItem.java

@@ -0,0 +1,111 @@
+package com.qmth.teachcloud.mark.dto.mark;
+
+import com.qmth.teachcloud.mark.entity.MarkSubjectiveScore;
+
+import java.text.DecimalFormat;
+
+public class ScoreItem {
+
+    public static final String SPLIT = ":";
+
+    public static final DecimalFormat NUMBER_FORMAT = new DecimalFormat("####.###");
+
+    private int mainNumber;
+
+    private String subNumber;
+
+    private String title;
+
+    private Double score;
+
+    private String answer;
+
+    private boolean objective;
+
+    public ScoreItem(MarkSubjectiveScore ss) {
+        this.objective = false;
+        this.mainNumber = ss.getMainNumber();
+        this.subNumber = ss.getSubNumber();
+        this.score = ss.getScore();
+    }
+
+    public ScoreItem(boolean objective) {
+        this.objective = objective;
+    }
+
+    public int getMainNumber() {
+        return mainNumber;
+    }
+
+    public void setMainNumber(int mainNumber) {
+        this.mainNumber = mainNumber;
+    }
+
+    public String getSubNumber() {
+        return subNumber;
+    }
+
+    public void setSubNumber(String subNumber) {
+        this.subNumber = subNumber;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+
+    public void setTitle(String title) {
+        this.title = title;
+    }
+
+    public Double getScore() {
+        return score;
+    }
+
+    public void setScore(Double score) {
+        this.score = score;
+    }
+
+    public String getAnswer() {
+        return answer;
+    }
+
+    public void setAnswer(String answer) {
+        this.answer = answer;
+    }
+
+    public boolean isObjective() {
+        return objective;
+    }
+
+    public void setObjective(boolean objective) {
+        this.objective = objective;
+    }
+
+    public String toString() {
+        return objective ? answer + SPLIT + getScoreString() : getScoreString();
+    }
+
+    public static ScoreItem parse(String content, boolean objective) {
+        ScoreItem item = new ScoreItem(objective);
+        try {
+            if (objective) {
+                String[] values = content.split(SPLIT);
+                item.setAnswer(values[0]);
+                item.setScore(Double.valueOf(values[1]));
+            } else {
+                item.setScore(Double.valueOf(content));
+            }
+        } catch (Exception e) {
+            item = null;
+        }
+        return item;
+    }
+
+    public String getScoreString() {
+        try {
+            return NUMBER_FORMAT.format(score);
+        } catch (Exception e) {
+            return "";
+        }
+    }
+}

+ 2 - 32
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/MarkStepDTO.java

@@ -14,8 +14,6 @@ public class MarkStepDTO implements Serializable {
 
     private String subNumber;
 
-    private String questionName;
-
     private double intervalScore;
 
     private double defaultScore;
@@ -30,13 +28,9 @@ public class MarkStepDTO implements Serializable {
 
     private boolean uncalculate;
 
-    private Integer selectiveIndex;
-
-    private boolean rejected;
+    private List<TrackDTO> trackList = new ArrayList<>();
 
-    private List<TrackDTO> trackList = new ArrayList<TrackDTO>();
-
-    private List<TrackDTO> headerTrack = new ArrayList<TrackDTO>();
+    private List<TrackDTO> headerTrack = new ArrayList<>();
 
     public int getMainNumber() {
         return mainNumber;
@@ -130,30 +124,6 @@ public class MarkStepDTO implements Serializable {
         this.uncalculate = uncalculate;
     }
 
-    public Integer getSelectiveIndex() {
-        return selectiveIndex;
-    }
-
-    public void setSelectiveIndex(Integer selectiveIndex) {
-        this.selectiveIndex = selectiveIndex;
-    }
-
-    public String getQuestionName() {
-        return questionName;
-    }
-
-    public void setQuestionName(String questionName) {
-        this.questionName = questionName;
-    }
-
-    public boolean isRejected() {
-        return rejected;
-    }
-
-    public void setRejected(boolean rejected) {
-        this.rejected = rejected;
-    }
-
     public List<TrackDTO> getHeaderTrack() {
         return headerTrack;
     }

+ 10 - 10
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/Task.java

@@ -1,6 +1,6 @@
 package com.qmth.teachcloud.mark.dto.mark.manage;
 
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 
 import java.io.Serializable;
 import java.util.Date;
@@ -13,12 +13,12 @@ public class Task implements Serializable {
     /**
      * 评卷任务编号
      */
-    private Integer libraryId;
+    private Long libraryId;
 
     /**
      * 考生编号
      */
-    private Integer studentId;
+    private Long studentId;
 
     /**
      * 显示考生密号
@@ -83,7 +83,7 @@ public class Task implements Serializable {
     /**
      * 评卷时间
      */
-    private Date markerTime;
+    private Long markerTime;
 
     /**
      * 是否自评
@@ -115,19 +115,19 @@ public class Task implements Serializable {
      */
     private String message;
 
-    public Integer getLibraryId() {
+    public Long getLibraryId() {
         return libraryId;
     }
 
-    public void setLibraryId(Integer libraryId) {
+    public void setLibraryId(Long libraryId) {
         this.libraryId = libraryId;
     }
 
-    public Integer getStudentId() {
+    public Long getStudentId() {
         return studentId;
     }
 
-    public void setStudentId(Integer studentId) {
+    public void setStudentId(Long studentId) {
         this.studentId = studentId;
     }
 
@@ -211,11 +211,11 @@ public class Task implements Serializable {
         this.markerScore = markerScore;
     }
 
-    public Date getMarkerTime() {
+    public Long getMarkerTime() {
         return markerTime;
     }
 
-    public void setMarkerTime(Date markerTime) {
+    public void setMarkerTime(Long markerTime) {
         this.markerTime = markerTime;
     }
 

+ 3 - 3
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/manage/TrackDTO.java

@@ -1,5 +1,6 @@
 package com.qmth.teachcloud.mark.dto.mark.manage;
 
+import com.qmth.teachcloud.mark.entity.MarkHeaderTrack;
 import com.qmth.teachcloud.mark.entity.MarkTask;
 import com.qmth.teachcloud.mark.entity.MarkTrack;
 import com.qmth.teachcloud.mark.entity.MarkUserGroup;
@@ -53,7 +54,7 @@ public class TrackDTO implements Serializable {
         setOffsetY(track.getOffsetY());
     }
 
-    /*public TrackDTO(HeaderTrack track) {
+    public TrackDTO(MarkHeaderTrack track) {
         String questionNumber = track.getQuestionNumber();
         String str[] = questionNumber.split("\\.");
         setMainNumber(Integer.parseInt(str[0]));
@@ -65,8 +66,7 @@ public class TrackDTO implements Serializable {
         setOffsetIndex(track.getOffsetIndex());
         setOffsetX(track.getOffsetX());
         setOffsetY(track.getOffsetY());
-        setUnanswered(track.isUnanswered());
-    }*/
+    }
 
     public MarkTrack transform(MarkTask markTask, MarkUserGroup markUserGroup) {
         MarkTrack track = new MarkTrack();

+ 1 - 1
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/dto/mark/setting/MarkGroupDto.java

@@ -2,7 +2,7 @@ package com.qmth.teachcloud.mark.dto.mark.setting;
 
 import com.qmth.teachcloud.common.bean.dto.mark.MarkUser;
 import com.qmth.teachcloud.common.bean.dto.mark.PictureConfig;
-import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
 
 import java.util.List;
 

+ 53 - 16
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkArbitrateHistory.java

@@ -1,15 +1,18 @@
 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 com.qmth.teachcloud.common.enums.mark.MarkArbitrateStatus;
+import com.qmth.teachcloud.mark.dto.mark.ScoreItem;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
+import org.apache.commons.lang3.StringUtils;
 
 import java.io.Serializable;
+import java.util.LinkedList;
+import java.util.List;
 
 /**
  * <p>
@@ -20,7 +23,7 @@ import java.io.Serializable;
  * @since 2023-09-22
  */
 @TableName("mark_arbitrate_history")
-@ApiModel(value="MarkArbitrateHistory对象", description="仲裁记录表")
+@ApiModel(value = "MarkArbitrateHistory对象", description = "仲裁记录表")
 public class MarkArbitrateHistory implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -76,6 +79,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setId(Long id) {
         this.id = id;
     }
+
     public Long getExamId() {
         return examId;
     }
@@ -83,6 +87,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setExamId(Long examId) {
         this.examId = examId;
     }
+
     public String getPaperNumber() {
         return paperNumber;
     }
@@ -90,6 +95,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setPaperNumber(String paperNumber) {
         this.paperNumber = paperNumber;
     }
+
     public Integer getGroupNumber() {
         return groupNumber;
     }
@@ -97,6 +103,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setGroupNumber(Integer groupNumber) {
         this.groupNumber = groupNumber;
     }
+
     public String getStudentCode() {
         return studentCode;
     }
@@ -104,6 +111,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setStudentCode(String studentCode) {
         this.studentCode = studentCode;
     }
+
     public String getSecretNumber() {
         return secretNumber;
     }
@@ -111,6 +119,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setSecretNumber(String secretNumber) {
         this.secretNumber = secretNumber;
     }
+
     public Long getStudentId() {
         return studentId;
     }
@@ -118,6 +127,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setStudentId(Long studentId) {
         this.studentId = studentId;
     }
+
     public MarkArbitrateStatus getStatus() {
         return status;
     }
@@ -141,6 +151,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setTotalScore(Double totalScore) {
         this.totalScore = totalScore;
     }
+
     public String getScoreList() {
         return scoreList;
     }
@@ -148,6 +159,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setScoreList(String scoreList) {
         this.scoreList = scoreList;
     }
+
     public Long getCreateTime() {
         return createTime;
     }
@@ -155,6 +167,7 @@ public class MarkArbitrateHistory implements Serializable {
     public void setCreateTime(Long createTime) {
         this.createTime = createTime;
     }
+
     public Long getUpdateTime() {
         return updateTime;
     }
@@ -163,22 +176,46 @@ public class MarkArbitrateHistory implements Serializable {
         this.updateTime = updateTime;
     }
 
+    public List<ScoreItem> getScoreItemList() {
+        List<ScoreItem> list = new LinkedList<>();
+        if (StringUtils.isNotBlank(scoreList)) {
+            try {
+                String[] values = scoreList.split(",");
+                for (String value : values) {
+                    if (value.equals("")) {
+                        list.add(new ScoreItem(false));
+                    } else {
+                        ScoreItem item = ScoreItem.parse(value, false);
+                        if (item != null) {
+                            list.add(item);
+                        }
+                    }
+                }
+                if (scoreList.endsWith(",")) {
+                    list.add(new ScoreItem(false));
+                }
+            } catch (Exception e) {
+            }
+        }
+        return list;
+    }
+
     @Override
     public String toString() {
         return "MarkArbitrateHistory{" +
-            "id=" + id +
-            ", examId=" + examId +
-            ", paperNumber=" + paperNumber +
-            ", groupNumber=" + groupNumber +
-            ", studentCode=" + studentCode +
-            ", secretNumber=" + secretNumber +
-            ", studentId=" + studentId +
-            ", status=" + status +
-            ", updateUserId=" + updateUserId +
-            ", totalScore=" + totalScore +
-            ", scoreList=" + scoreList +
-            ", createTime=" + createTime +
-            ", updateTime=" + updateTime +
-        "}";
+                "id=" + id +
+                ", examId=" + examId +
+                ", paperNumber=" + paperNumber +
+                ", groupNumber=" + groupNumber +
+                ", studentCode=" + studentCode +
+                ", secretNumber=" + secretNumber +
+                ", studentId=" + studentId +
+                ", status=" + status +
+                ", updateUserId=" + updateUserId +
+                ", totalScore=" + totalScore +
+                ", scoreList=" + scoreList +
+                ", createTime=" + createTime +
+                ", updateTime=" + updateTime +
+                "}";
     }
 }

+ 0 - 2
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkGroup.java

@@ -2,7 +2,6 @@ package com.qmth.teachcloud.mark.entity;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
-import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import java.io.Serializable;
 import java.text.DecimalFormat;
@@ -12,7 +11,6 @@ import java.util.Set;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
 import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
-import com.qmth.teachcloud.common.entity.MarkQuestion;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import org.apache.commons.lang3.StringUtils;

+ 1 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkPaper.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkPaper.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.entity;
+package com.qmth.teachcloud.mark.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 

+ 4 - 1
teachcloud-common/src/main/java/com/qmth/teachcloud/common/entity/MarkQuestion.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/entity/MarkQuestion.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.entity;
+package com.qmth.teachcloud.mark.entity;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.annotation.IdType;
@@ -167,6 +167,9 @@ public class MarkQuestion implements Serializable {
         this.name = name;
     }
 
+    public String getQuestionNumber() {
+        return getMainNumber() + "." + getSubNumber();
+    }
     @Override
     public String toString() {
         return "MarkQuestion{" +

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

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.entity;
+package com.qmth.teachcloud.mark.entity;
 
 import java.io.Serializable;
 

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

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.entity;
+package com.qmth.teachcloud.mark.entity;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/MarkPaperMapper.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkPaperMapper.java

@@ -1,10 +1,10 @@
-package com.qmth.teachcloud.common.mapper;
+package com.qmth.teachcloud.mark.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.qmth.teachcloud.common.bean.dto.mark.MarkSettingDto;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/MarkQuestionMapper.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkQuestionMapper.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.mapper;
+package com.qmth.teachcloud.mark.mapper;
 
-import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Param;
 

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/MarkStudentMapper.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/MarkStudentMapper.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.mapper;
+package com.qmth.teachcloud.mark.mapper;
 
-import com.qmth.teachcloud.common.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/mapper/ScanAnswerCardMapper.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/mapper/ScanAnswerCardMapper.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.mapper;
+package com.qmth.teachcloud.mark.mapper;
 
-import com.qmth.teachcloud.common.entity.ScanAnswerCard;
+import com.qmth.teachcloud.mark.entity.ScanAnswerCard;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
 /**

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/mark/setting/MarkObjectiveQuestionParams.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/params/MarkObjectiveQuestionParams.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.bean.params.mark.setting;
+package com.qmth.teachcloud.mark.params;
 
-import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
 
 import java.io.Serializable;
 import java.util.List;

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/bean/params/mark/setting/MarkQuestionParams.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/params/MarkQuestionParams.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.bean.params.mark.setting;
+package com.qmth.teachcloud.mark.params;
 
-import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
 
 import java.io.Serializable;
 import java.util.List;

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

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateDto;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateMarkerDto;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateSettingDto;
+import com.qmth.teachcloud.mark.dto.mark.manage.Task;
 import com.qmth.teachcloud.mark.entity.MarkArbitrateHistory;
 import com.baomidou.mybatisplus.extension.service.IService;
 
@@ -26,4 +27,6 @@ public interface MarkArbitrateHistoryService extends IService<MarkArbitrateHisto
     List<MarkArbitrateMarkerDto> listMarkerArbitrateRecord(Long arbitrateId);
 
     MarkArbitrateSettingDto getArbitrateSetting(Long arbitrateId);
+
+    Task getArbitrateTask(Long arbitrateId);
 }

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

@@ -3,6 +3,8 @@ package com.qmth.teachcloud.mark.service;
 import com.qmth.teachcloud.mark.entity.MarkHeaderTrack;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 组长轨迹给分表 服务类
@@ -13,4 +15,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface MarkHeaderTrackService extends IService<MarkHeaderTrack> {
 
+    List<MarkHeaderTrack> listByExamAndPaperNumberAndGroupNumberAndStudentId(Long examId, String paperNumber, Integer groupNumber, Long studentId);
 }

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/MarkPaperService.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkPaperService.java

@@ -1,8 +1,8 @@
-package com.qmth.teachcloud.common.service;
+package com.qmth.teachcloud.mark.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.qmth.teachcloud.common.bean.dto.mark.MarkSettingDto;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 

+ 4 - 5
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/MarkQuestionService.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkQuestionService.java

@@ -1,10 +1,9 @@
-package com.qmth.teachcloud.common.service;
+package com.qmth.teachcloud.mark.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
-import com.qmth.teachcloud.common.bean.params.mark.setting.MarkObjectiveQuestionParams;
-import com.qmth.teachcloud.common.bean.params.mark.setting.MarkQuestionParams;
-import com.qmth.teachcloud.common.entity.MarkQuestion;
-import com.qmth.teachcloud.common.enums.UploadFileEnum;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.params.MarkObjectiveQuestionParams;
+import com.qmth.teachcloud.mark.params.MarkQuestionParams;
 import org.springframework.web.multipart.MultipartFile;
 
 import java.util.List;

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/MarkStudentService.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/MarkStudentService.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.service;
+package com.qmth.teachcloud.mark.service;
 
-import com.qmth.teachcloud.common.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
 

+ 2 - 2
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/ScanAnswerCardService.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/ScanAnswerCardService.java

@@ -1,6 +1,6 @@
-package com.qmth.teachcloud.common.service;
+package com.qmth.teachcloud.mark.service;
 
-import com.qmth.teachcloud.common.entity.ScanAnswerCard;
+import com.qmth.teachcloud.mark.entity.ScanAnswerCard;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 /**

+ 9 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/TaskService.java

@@ -0,0 +1,9 @@
+package com.qmth.teachcloud.mark.service;
+
+import com.qmth.teachcloud.mark.dto.mark.manage.Task;
+import com.qmth.teachcloud.mark.entity.MarkArbitrateHistory;
+import com.qmth.teachcloud.mark.entity.MarkGroup;
+
+public interface TaskService {
+    Task build(MarkArbitrateHistory markArbitrateHistory, MarkGroup markGroup);
+}

+ 19 - 8
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkArbitrateHistoryServiceImpl.java

@@ -3,22 +3,22 @@ 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.mark.dto.mark.manage.MarkArbitrateDto;
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateMarkerDto;
-import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateSettingDto;
-import com.qmth.teachcloud.common.entity.MarkPaper;
-import com.qmth.teachcloud.common.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.service.*;
 import com.qmth.teachcloud.common.util.ServletUtil;
+import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateDto;
+import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateMarkerDto;
+import com.qmth.teachcloud.mark.dto.mark.manage.MarkArbitrateSettingDto;
+import com.qmth.teachcloud.mark.dto.mark.manage.Task;
 import com.qmth.teachcloud.mark.entity.MarkArbitrateHistory;
+import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkTask;
 import com.qmth.teachcloud.mark.entity.MarkUserGroup;
 import com.qmth.teachcloud.mark.mapper.MarkArbitrateHistoryMapper;
-import com.qmth.teachcloud.mark.service.MarkArbitrateHistoryService;
-import com.qmth.teachcloud.mark.service.MarkTaskService;
-import com.qmth.teachcloud.mark.service.MarkUserGroupService;
+import com.qmth.teachcloud.mark.service.*;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;
 
@@ -44,6 +44,8 @@ public class MarkArbitrateHistoryServiceImpl extends ServiceImpl<MarkArbitrateHi
     @Resource
     private MarkQuestionService markQuestionService;
     @Resource
+    private MarkGroupService markGroupService;
+    @Resource
     private MarkStudentService markStudentService;
     @Resource
     private MarkTaskService markTaskService;
@@ -52,6 +54,8 @@ public class MarkArbitrateHistoryServiceImpl extends ServiceImpl<MarkArbitrateHi
     @Resource
     private SysUserService sysUserService;
     @Resource
+    private TaskService taskService;
+    @Resource
     private TeachcloudCommonService teachcloudCommonService;
 
     @Override
@@ -132,6 +136,13 @@ public class MarkArbitrateHistoryServiceImpl extends ServiceImpl<MarkArbitrateHi
         return markArbitrateSettingDto;
     }
 
+    @Override
+    public Task getArbitrateTask(Long arbitrateId) {
+        MarkArbitrateHistory markArbitrateHistory = this.getById(arbitrateId);
+        MarkGroup markGroup = markGroupService.getByExamIdAndPaperNumberAndGroupNumber(markArbitrateHistory.getExamId(), markArbitrateHistory.getPaperNumber(), markArbitrateHistory.getGroupNumber());
+        return taskService.build(markArbitrateHistory, markGroup);
+    }
+
     private void releaseTask(Long taskId) {
         synchronized (currentTaskMap) {
             currentTaskMap.remove(taskId);

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

@@ -15,10 +15,10 @@ import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupTaskDto;
 import com.qmth.teachcloud.common.bean.dto.mark.MarkUser;
 import com.qmth.teachcloud.common.bean.dto.mark.PictureConfig;
 import com.qmth.teachcloud.common.bean.params.mark.setting.GroupPictureConfigParams;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.service.MarkPaperService;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkTask;
 import com.qmth.teachcloud.mark.entity.MarkUserGroup;

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

@@ -1,11 +1,14 @@
 package com.qmth.teachcloud.mark.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.mark.entity.MarkHeaderTrack;
 import com.qmth.teachcloud.mark.mapper.MarkHeaderTrackMapper;
 import com.qmth.teachcloud.mark.service.MarkHeaderTrackService;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 组长轨迹给分表 服务实现类
@@ -17,4 +20,13 @@ import org.springframework.stereotype.Service;
 @Service
 public class MarkHeaderTrackServiceImpl extends ServiceImpl<MarkHeaderTrackMapper, MarkHeaderTrack> implements MarkHeaderTrackService {
 
+    @Override
+    public List<MarkHeaderTrack> listByExamAndPaperNumberAndGroupNumberAndStudentId(Long examId, String paperNumber, Integer groupNumber, Long studentId) {
+        QueryWrapper<MarkHeaderTrack> queryWrapper = new QueryWrapper<>();
+        queryWrapper.lambda().eq(MarkHeaderTrack::getExamId, examId)
+                .eq(MarkHeaderTrack::getPaperNumber, paperNumber)
+                .eq(MarkHeaderTrack::getGroupNumber, groupNumber)
+                .eq(MarkHeaderTrack::getStudentId, studentId);
+        return this.list(queryWrapper);
+    }
 }

+ 4 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/MarkPaperServiceImpl.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkPaperServiceImpl.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.service.impl;
+package com.qmth.teachcloud.mark.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
@@ -6,11 +6,11 @@ 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.MarkSettingDto;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
-import com.qmth.teachcloud.common.mapper.MarkPaperMapper;
-import com.qmth.teachcloud.common.service.MarkPaperService;
+import com.qmth.teachcloud.mark.mapper.MarkPaperMapper;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
 import org.springframework.stereotype.Service;
 
 import java.util.List;

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

@@ -5,11 +5,11 @@ 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.mark.dto.mark.manage.MarkProblemDto;
-import com.qmth.teachcloud.common.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.mark.MarkProblemStatus;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
-import com.qmth.teachcloud.common.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.entity.MarkProblemHistory;

+ 8 - 8
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/MarkQuestionServiceImpl.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkQuestionServiceImpl.java

@@ -1,17 +1,17 @@
-package com.qmth.teachcloud.common.service.impl;
+package com.qmth.teachcloud.mark.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.teachcloud.common.bean.params.mark.setting.MarkObjectiveQuestionParams;
-import com.qmth.teachcloud.common.bean.params.mark.setting.MarkQuestionParams;
-import com.qmth.teachcloud.common.entity.MarkPaper;
-import com.qmth.teachcloud.common.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.params.MarkObjectiveQuestionParams;
+import com.qmth.teachcloud.mark.params.MarkQuestionParams;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.UploadFileEnum;
-import com.qmth.teachcloud.common.mapper.MarkQuestionMapper;
-import com.qmth.teachcloud.common.service.MarkPaperService;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.mapper.MarkQuestionMapper;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.common.service.TeachcloudCommonService;
 import com.qmth.teachcloud.common.util.FileStoreUtil;
 import org.apache.commons.collections4.CollectionUtils;

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

@@ -1,11 +1,11 @@
 package com.qmth.teachcloud.mark.service.impl;
 
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
 import com.qmth.teachcloud.common.enums.mark.MarkProblemStatus;
 import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
-import com.qmth.teachcloud.common.service.MarkPaperService;
-import com.qmth.teachcloud.common.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkGroupStudent;
 import com.qmth.teachcloud.mark.entity.MarkTask;

+ 4 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/MarkStudentServiceImpl.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/MarkStudentServiceImpl.java

@@ -1,12 +1,12 @@
-package com.qmth.teachcloud.common.service.impl;
+package com.qmth.teachcloud.mark.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.teachcloud.common.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
 import com.qmth.teachcloud.common.enums.mark.SubjectiveStatus;
-import com.qmth.teachcloud.common.mapper.MarkStudentMapper;
-import com.qmth.teachcloud.common.service.MarkStudentService;
+import com.qmth.teachcloud.mark.mapper.MarkStudentMapper;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
 import org.apache.commons.collections4.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.stereotype.Service;

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

@@ -8,7 +8,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkManageDto;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkerInfoDto;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.common.util.ExcelUtil;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkTask;

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

@@ -10,8 +10,8 @@ import com.qmth.teachcloud.mark.dto.mark.setting.MarkGroupDto;
 import com.qmth.teachcloud.common.bean.dto.mark.MarkUser;
 import com.qmth.teachcloud.mark.dto.mark.setting.MarkUserClassDto;
 import com.qmth.teachcloud.common.bean.params.mark.setting.MarkClassUserParams;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
-import com.qmth.teachcloud.common.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkUserClass;
 import com.qmth.teachcloud.mark.mapper.MarkUserClassMapper;

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

@@ -10,11 +10,11 @@ import com.qmth.teachcloud.mark.dto.mark.manage.MarkQualityChartDto;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkQualityDto;
 import com.qmth.teachcloud.mark.dto.mark.manage.MarkUserGroupProgressDto;
 import com.qmth.teachcloud.common.bean.dto.mark.MarkUser;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.service.MarkPaperService;
-import com.qmth.teachcloud.common.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
 import com.qmth.teachcloud.common.service.SysUserService;
 import com.qmth.teachcloud.common.util.ServletUtil;
 import com.qmth.teachcloud.mark.entity.MarkGroup;

+ 4 - 4
teachcloud-common/src/main/java/com/qmth/teachcloud/common/service/impl/ScanAnswerCardServiceImpl.java → teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanAnswerCardServiceImpl.java

@@ -1,4 +1,4 @@
-package com.qmth.teachcloud.common.service.impl;
+package com.qmth.teachcloud.mark.service.impl;
 
 import org.springframework.stereotype.Service;
 
@@ -6,9 +6,9 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.core.exception.ParameterException;
-import com.qmth.teachcloud.common.entity.ScanAnswerCard;
-import com.qmth.teachcloud.common.mapper.ScanAnswerCardMapper;
-import com.qmth.teachcloud.common.service.ScanAnswerCardService;
+import com.qmth.teachcloud.mark.entity.ScanAnswerCard;
+import com.qmth.teachcloud.mark.mapper.ScanAnswerCardMapper;
+import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
 
 /**
  * <p>

+ 4 - 4
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanOmrTaskServiceImpl.java

@@ -19,15 +19,15 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.core.concurrent.service.ConcurrentService;
 import com.qmth.boot.core.exception.ParameterException;
-import com.qmth.teachcloud.common.entity.MarkStudent;
-import com.qmth.teachcloud.common.entity.ScanAnswerCard;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
+import com.qmth.teachcloud.mark.entity.ScanAnswerCard;
 import com.qmth.teachcloud.common.entity.SysUser;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
 import com.qmth.teachcloud.common.enums.ScanStatus;
 import com.qmth.teachcloud.common.enums.scan.ConditionType;
 import com.qmth.teachcloud.common.enums.scan.OmrField;
-import com.qmth.teachcloud.common.service.MarkStudentService;
-import com.qmth.teachcloud.common.service.ScanAnswerCardService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
 import com.qmth.teachcloud.mark.bean.OmrTaskItem;
 import com.qmth.teachcloud.mark.bean.OmrTaskPage;
 import com.qmth.teachcloud.mark.dto.OmrTaskDto;

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

@@ -9,9 +9,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.qmth.teachcloud.common.entity.ScanAnswerCard;
+import com.qmth.teachcloud.mark.entity.ScanAnswerCard;
 import com.qmth.teachcloud.common.enums.ExceptionResultEnum;
-import com.qmth.teachcloud.common.service.ScanAnswerCardService;
+import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
 import com.qmth.teachcloud.mark.entity.ScanPaper;
 import com.qmth.teachcloud.mark.entity.ScanPaperPage;
 import com.qmth.teachcloud.mark.mapper.ScanPaperMapper;

+ 2 - 14
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/ScanRefixBatchServiceImpl.java

@@ -1,29 +1,17 @@
 package com.qmth.teachcloud.mark.service.impl;
 
-import java.util.ArrayList;
-import java.util.List;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.qmth.boot.core.concurrent.service.ConcurrentService;
-import com.qmth.boot.core.exception.ParameterException;
-import com.qmth.teachcloud.common.entity.MarkStudent;
-import com.qmth.teachcloud.common.entity.ScanAnswerCard;
 import com.qmth.teachcloud.common.entity.SysUser;
-import com.qmth.teachcloud.common.service.MarkStudentService;
-import com.qmth.teachcloud.common.service.ScanAnswerCardService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
+import com.qmth.teachcloud.mark.service.ScanAnswerCardService;
 import com.qmth.teachcloud.mark.dto.refix.AnswerRefixDomain;
 import com.qmth.teachcloud.mark.dto.refix.AnswerRefixVo;
-import com.qmth.teachcloud.mark.dto.refix.PageRefixDomain;
-import com.qmth.teachcloud.mark.dto.refix.PaperRefixDomain;
-import com.qmth.teachcloud.mark.entity.ScanPaper;
-import com.qmth.teachcloud.mark.entity.ScanPaperPage;
 import com.qmth.teachcloud.mark.entity.ScanRefixBatch;
-import com.qmth.teachcloud.mark.entity.ScanStudentPaper;
-import com.qmth.teachcloud.mark.enums.LockType;
 import com.qmth.teachcloud.mark.mapper.ScanRefixBatchMapper;
 import com.qmth.teachcloud.mark.service.ScanPaperPageService;
 import com.qmth.teachcloud.mark.service.ScanPaperService;

+ 99 - 0
teachcloud-mark/src/main/java/com/qmth/teachcloud/mark/service/impl/TaskServiceImpl.java

@@ -0,0 +1,99 @@
+package com.qmth.teachcloud.mark.service.impl;
+
+import com.qmth.teachcloud.mark.entity.MarkQuestion;
+import com.qmth.teachcloud.mark.entity.MarkStudent;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkQuestionService;
+import com.qmth.teachcloud.mark.service.MarkStudentService;
+import com.qmth.teachcloud.mark.dto.mark.ScoreItem;
+import com.qmth.teachcloud.mark.dto.mark.manage.MarkStepDTO;
+import com.qmth.teachcloud.mark.dto.mark.manage.Task;
+import com.qmth.teachcloud.mark.dto.mark.manage.TrackDTO;
+import com.qmth.teachcloud.mark.entity.MarkArbitrateHistory;
+import com.qmth.teachcloud.mark.entity.MarkGroup;
+import com.qmth.teachcloud.mark.entity.MarkHeaderTrack;
+import com.qmth.teachcloud.mark.service.MarkHeaderTrackService;
+import com.qmth.teachcloud.mark.service.TaskService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.List;
+
+@Service
+public class TaskServiceImpl implements TaskService {
+
+    @Resource
+    private MarkPaperService markPaperService;
+    @Resource
+    private MarkStudentService markStudentService;
+    @Resource
+    private MarkQuestionService markQuestionService;
+    @Resource
+    private MarkHeaderTrackService markHeaderTrackService;
+
+    @Override
+    public Task build(MarkArbitrateHistory markArbitrateHistory, MarkGroup markGroup) {
+        MarkStudent markStudent = markStudentService.getById(markArbitrateHistory.getStudentId());
+        Task task = new Task();
+        task.setStudentId(markArbitrateHistory.getStudentId());
+        task.setLibraryId(markArbitrateHistory.getId());
+        task.setSecretNumber(markArbitrateHistory.getSecretNumber());
+        task.setQuestionList(buildArbitrateStep(markGroup, markArbitrateHistory));
+//        task.setSpecialTagList(getHeaderTagList(history.getStudentId(), group.getNumber()));
+        // todo jsonurl xf
+//        task.setJsonUrl(fileService.getJsonUri(student.getExamId(), student.getSecretNumber()));
+        if (StringUtils.isNotBlank(markStudent.getObjectiveScoreList())) {
+            task.setObjectiveScore(markStudent.getObjectiveScore());
+        }
+        task.setMarkerTime(markArbitrateHistory.getUpdateTime());
+        if (markArbitrateHistory.getTotalScore() != null) {
+            task.setMarkerScore(markArbitrateHistory.getTotalScore());
+        }
+        return task;
+    }
+
+    private List<MarkStepDTO> buildArbitrateStep(MarkGroup group, MarkArbitrateHistory markArbitrateHistory) {
+        List<MarkStepDTO> list = new LinkedList<>();
+        List<MarkQuestion> markQuestionList = markQuestionService.listQuestionByExamIdAndPaperNumberAndGroupNumber(group.getExamId(), group.getPaperNumber(), group.getNumber(), false);
+        List<MarkHeaderTrack> tracks = markHeaderTrackService.listByExamAndPaperNumberAndGroupNumberAndStudentId(group.getExamId(), group.getPaperNumber(), group.getNumber(), markArbitrateHistory.getStudentId());
+        List<ScoreItem> sItems = new ArrayList<ScoreItem>();
+        if (markArbitrateHistory != null) {
+            sItems = markArbitrateHistory.getScoreItemList();
+        }
+        for (int i = 0; i < markQuestionList.size(); i++) {
+            MarkQuestion question = markQuestionList.get(i);
+            MarkStepDTO step = buildStep(question);
+            if (markArbitrateHistory != null) {
+                if (!sItems.isEmpty() && sItems.size() == markQuestionList.size()) {
+                    step.setScore(sItems.get(i).getScore());
+                }
+                // 增加阅卷轨迹列表获取
+                String questionNumber = question.getQuestionNumber();
+                for (MarkHeaderTrack track : tracks) {
+                    if (track.getQuestionNumber().equals(questionNumber)) {
+                        step.addTrack(new TrackDTO(track));
+                    }
+                }
+            }
+            list.add(step);
+        }
+        return list;
+    }
+
+    private MarkStepDTO buildStep(MarkQuestion question) {
+        MarkStepDTO step = new MarkStepDTO();
+        step.setMainNumber(question.getMainNumber());
+        step.setSubNumber(String.valueOf(question.getSubNumber()));
+        step.setGroupNumber(question.getGroupNumber());
+        step.setTitle(question.getMainTitle());
+        step.setDefaultScore(0d);
+        step.setMaxScore(question.getTotalScore());
+        step.setMinScore(0d);
+        step.setIntervalScore(question.getIntervalScore());
+        step.setUncalculate(false);
+        return step;
+    }
+}

+ 3 - 3
teachcloud-common/src/main/resources/mapper/MarkPaperMapper.xml → teachcloud-mark/src/main/resources/mapper/MarkPaperMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.teachcloud.common.mapper.MarkPaperMapper">
+<mapper namespace="com.qmth.teachcloud.mark.mapper.MarkPaperMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.common.entity.MarkPaper">
+    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.mark.entity.MarkPaper">
         <result column="exam_id" property="examId" />
         <result column="course_code" property="courseCode" />
         <result column="course_name" property="courseName" />
@@ -50,7 +50,7 @@
                 and mp.group_status = #{groupStatus}
             </if>
     </select>
-    <select id="listQualityMarkPaperByStatus" resultType="com.qmth.teachcloud.common.entity.MarkPaper">
+    <select id="listQualityMarkPaperByStatus" resultType="com.qmth.teachcloud.mark.entity.MarkPaper">
         SELECT
             exam_id examId,
             paper_number paperNumber

+ 2 - 2
teachcloud-common/src/main/resources/mapper/MarkQuestionMapper.xml → teachcloud-mark/src/main/resources/mapper/MarkQuestionMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.teachcloud.common.mapper.MarkQuestionMapper">
+<mapper namespace="com.qmth.teachcloud.mark.mapper.MarkQuestionMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.common.entity.MarkQuestion">
+    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.mark.entity.MarkQuestion">
         <id column="id" property="id" />
         <result column="exam_id" property="examId" />
         <result column="paper_number" property="paperNumber" />

+ 2 - 2
teachcloud-common/src/main/resources/mapper/MarkStudentMapper.xml → teachcloud-mark/src/main/resources/mapper/MarkStudentMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.teachcloud.common.mapper.MarkStudentMapper">
+<mapper namespace="com.qmth.teachcloud.mark.mapper.MarkStudentMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.common.entity.MarkStudent">
+    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.mark.entity.MarkStudent">
         <id column="id" property="id" />
         <result column="exam_id" property="examId" />
         <result column="course_code" property="courseCode" />

+ 2 - 2
teachcloud-common/src/main/resources/mapper/ScanAnswerCardMapper.xml → teachcloud-mark/src/main/resources/mapper/ScanAnswerCardMapper.xml

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.qmth.teachcloud.common.mapper.ScanAnswerCardMapper">
+<mapper namespace="com.qmth.teachcloud.mark.mapper.ScanAnswerCardMapper">
 
     <!-- 通用查询映射结果 -->
-    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.common.entity.ScanAnswerCard">
+    <resultMap id="BaseResultMap" type="com.qmth.teachcloud.mark.entity.ScanAnswerCard">
         <id column="exam_id" property="examId" />
         <result column="paper_number" property="paperNumber" />
         <result column="course_paper_id" property="coursePaperId" />

+ 2 - 2
teachcloud-task/src/main/java/com/qmth/teachcloud/task/job/service/impl/JobServiceImpl.java

@@ -4,9 +4,9 @@ import com.qmth.boot.redis.uid.RedisMachineService;
 import com.qmth.distributed.print.business.service.*;
 import com.qmth.teachcloud.common.bean.dto.MqDto;
 import com.qmth.teachcloud.common.contant.SystemConstant;
-import com.qmth.teachcloud.common.entity.MarkPaper;
+import com.qmth.teachcloud.mark.entity.MarkPaper;
 import com.qmth.teachcloud.common.enums.mark.MarkPaperStatus;
-import com.qmth.teachcloud.common.service.MarkPaperService;
+import com.qmth.teachcloud.mark.service.MarkPaperService;
 import com.qmth.teachcloud.common.util.RedisUtil;
 import com.qmth.teachcloud.mark.entity.MarkGroup;
 import com.qmth.teachcloud.mark.entity.MarkUserGroup;