Explorar el Código

Merge branch 'lll_course_drop_fix' of FanYanPeng/EAI-Backend into refactor

LiuLuLin hace 8 meses
padre
commit
dd65d52e04

+ 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);