|
|
@@ -4,9 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.njuzr.eaibackend.dto.ClassDTO;
|
|
|
import com.njuzr.eaibackend.enums.ClassStudentState;
|
|
|
import com.njuzr.eaibackend.exception.MyException;
|
|
|
-import com.njuzr.eaibackend.mapper.ClassMapper;
|
|
|
-import com.njuzr.eaibackend.mapper.ClassStudentMapper;
|
|
|
-import com.njuzr.eaibackend.mapper.UserMapper;
|
|
|
+import com.njuzr.eaibackend.mapper.*;
|
|
|
import com.njuzr.eaibackend.po.Class;
|
|
|
import com.njuzr.eaibackend.po.ClassStudent;
|
|
|
import com.njuzr.eaibackend.po.User;
|
|
|
@@ -38,11 +36,13 @@ public class ClassServiceImpl implements ClassService {
|
|
|
private final ClassMapper classMapper;
|
|
|
private final ClassStudentMapper classStudentMapper;
|
|
|
private final UserMapper userMapper;
|
|
|
+ private final CourseStudentMapper courseStudentMapper;
|
|
|
|
|
|
- public ClassServiceImpl(ClassMapper classMapper, ClassStudentMapper classStudentMapper, UserMapper userMapper) {
|
|
|
+ public ClassServiceImpl(ClassMapper classMapper, ClassStudentMapper classStudentMapper, UserMapper userMapper, CourseStudentMapper courseStudentMapper) {
|
|
|
this.classMapper = classMapper;
|
|
|
this.classStudentMapper = classStudentMapper;
|
|
|
this.userMapper = userMapper;
|
|
|
+ this.courseStudentMapper = courseStudentMapper;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
@@ -287,6 +287,13 @@ public class ClassServiceImpl implements ClassService {
|
|
|
.filter(number -> !existingNumbers.contains(number))
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
|
+ List<Long> studentIds = students.stream().map(student ->{
|
|
|
+ User user = userMapper.selectByOfficialNumber(student.getOfficialNumber());
|
|
|
+ return user.getId();
|
|
|
+ }).toList();
|
|
|
+ // 8. 删除课程,学生表中的记录
|
|
|
+ Class aClass = classMapper.selectById(classId);
|
|
|
+ courseStudentMapper.deleteByStudentIds(studentIds,aClass.getCourseId());
|
|
|
String successMsg = "成功删除 " + deleteCount + " 名学生";
|
|
|
if (!notFoundNumbers.isEmpty()) {
|
|
|
String notFoundMsg = ",但以下学号未在班级中找到: " + String.join(", ", notFoundNumbers);
|