|
|
@@ -332,6 +332,30 @@ public class AssignmentServiceImpl implements AssignmentService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 补交作业,更新文件版本和作业状态为已补交
|
|
|
+ *
|
|
|
+ * @param studentId
|
|
|
+ * @param assignmentId
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void engagementLateSubmit(Long studentId, Long assignmentId) {
|
|
|
+ Engagement engagement = studentAssignmentMapper.findEngagementByStudentIdAndAssignmentId(studentId, assignmentId);
|
|
|
+ if (engagement == null)
|
|
|
+ throw MyException.create(HttpStatus.BAD_REQUEST, "参与作业情况不存在");
|
|
|
+ int originalVersion = engagement.getVersion();
|
|
|
+ engagement.setVersion(originalVersion + 1);
|
|
|
+ engagement.setStatus(AssignmentCompletionStatus.LATE_SUBMITTED);
|
|
|
+ try {
|
|
|
+ int code = studentAssignmentMapper.updateById(engagement);
|
|
|
+ if (code == 0)
|
|
|
+ throw MyException.create(HttpStatus.INTERNAL_SERVER_ERROR, "更新文件版本失败");
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error(e.getMessage());
|
|
|
+ throw MyException.create(HttpStatus.INTERNAL_SERVER_ERROR, "更新文件版本失败");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
/**
|
|
|
* 作业暂存,更新文件版本,不修改作业状态
|
|
|
@@ -384,9 +408,13 @@ public class AssignmentServiceImpl implements AssignmentService {
|
|
|
if (!Objects.equals(assignment.getTeacherId(), teacherId))
|
|
|
throw MyException.create(HttpStatus.BAD_REQUEST, "无权限批改");
|
|
|
|
|
|
- if(engagement.getStatus() != AssignmentCompletionStatus.CORRECTED){
|
|
|
+ if(engagement.getStatus() != AssignmentCompletionStatus.CORRECTED && engagement.getStatus() != AssignmentCompletionStatus.LATE_SUBMITTED_CORRECTED){
|
|
|
assignment.setCorrectNumber(assignment.getCorrectNumber() + 1);
|
|
|
- engagement.setStatus(AssignmentCompletionStatus.CORRECTED);
|
|
|
+ if(engagement.getStatus() == AssignmentCompletionStatus.SUBMITTED){
|
|
|
+ engagement.setStatus(AssignmentCompletionStatus.CORRECTED);
|
|
|
+ } else if(engagement.getStatus() == AssignmentCompletionStatus.LATE_SUBMITTED){
|
|
|
+ engagement.setStatus(AssignmentCompletionStatus.LATE_SUBMITTED_CORRECTED);
|
|
|
+ }
|
|
|
}
|
|
|
engagement.setScore(correctDTO.getScore());
|
|
|
engagement.setRemark(correctDTO.getRemark());
|