浏览代码

fix:修复课程删除问题”

lalala 8 月之前
父节点
当前提交
42d8b3353e
共有 1 个文件被更改,包括 7 次插入5 次删除
  1. 7 5
      src/main/java/com/njuzr/eaibackend/service/impl/CourseServiceImpl.java

+ 7 - 5
src/main/java/com/njuzr/eaibackend/service/impl/CourseServiceImpl.java

@@ -394,12 +394,14 @@ public class CourseServiceImpl implements CourseService {
         for(Assignment assignment : assignments) {
             // 修改对应参与数量和批改数量
             Engagement engage = studentAssignmentMapper.findEngagementByStudentIdAndAssignmentId(studentId, assignment.getAssignmentId());
-            if(engage.getStatus() == AssignmentCompletionStatus.CORRECTED || engage.getStatus() == AssignmentCompletionStatus.PUBLISHED){
-                assignment.setCorrectNumber(assignment.getCorrectNumber() - 1);
+            if(engage != null){
+                if(engage.getStatus() == AssignmentCompletionStatus.CORRECTED || engage.getStatus() == AssignmentCompletionStatus.PUBLISHED){
+                    assignment.setCorrectNumber(assignment.getCorrectNumber() - 1);
+                }
+                assignment.setEngageNumber(assignment.getEngageNumber() - 1);
+                assignmentMapper.updateById(assignment);
+                studentAssignmentMapper.delete(studentId, assignment.getAssignmentId());
             }
-            assignment.setEngageNumber(assignment.getEngageNumber() - 1);
-            assignmentMapper.updateById(assignment);
-            studentAssignmentMapper.delete(studentId, assignment.getAssignmentId());
         }
         // 学生退课
         int code = courseStudentMapper.dropCourse(studentId, courseId);