Selaa lähdekoodia

fix:修复课程删除问题”

lalala 9 kuukautta sitten
vanhempi
commit
42d8b3353e

+ 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) {
         for(Assignment assignment : assignments) {
             // 修改对应参与数量和批改数量
             // 修改对应参与数量和批改数量
             Engagement engage = studentAssignmentMapper.findEngagementByStudentIdAndAssignmentId(studentId, assignment.getAssignmentId());
             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);
         int code = courseStudentMapper.dropCourse(studentId, courseId);