fix: GET /school/classes 班级列表关联教师已删除时不抛异常

- 新增 TeacherService.findTeacherById 教师不存在时返回 null
- SchoolClassController 使用 findTeacherById 替代 getTeacherById

Made-with: Cursor
This commit is contained in:
zhonghua 2026-03-23 17:59:45 +08:00
parent 0e77fae390
commit 212559fd9f
3 changed files with 13 additions and 2 deletions

View File

@ -94,7 +94,7 @@ public class SchoolClassController {
new LambdaQueryWrapper<ClassTeacher>().eq(ClassTeacher::getClassId, vo.getId()));
List<ClassTeacherResponse> teacherList = new ArrayList<>();
for (ClassTeacher ct : classTeachers) {
Teacher t = teacherService.getTeacherById(ct.getTeacherId());
Teacher t = teacherService.findTeacherById(ct.getTeacherId());
teacherList.add(ClassTeacherResponse.builder()
.id(ct.getId())
.classId(ct.getClassId())
@ -157,7 +157,7 @@ public class SchoolClassController {
new LambdaQueryWrapper<ClassTeacher>().eq(ClassTeacher::getClassId, id));
List<ClassTeacherResponse> teacherList = new ArrayList<>();
for (ClassTeacher ct : classTeachers) {
Teacher t = teacherService.getTeacherById(ct.getTeacherId());
Teacher t = teacherService.findTeacherById(ct.getTeacherId());
teacherList.add(ClassTeacherResponse.builder()
.id(ct.getId())
.classId(ct.getClassId())

View File

@ -34,6 +34,11 @@ public interface TeacherService extends IService<Teacher> {
*/
Teacher getTeacherById(Long id);
/**
* 根据 ID 查询教师不存在时返回 null不抛异常
*/
Teacher findTeacherById(Long id);
/**
* 根据 ID 查询教师带租户验证
*/

View File

@ -160,6 +160,12 @@ public class TeacherServiceImpl extends com.baomidou.mybatisplus.extension.servi
return teacher;
}
@Override
public Teacher findTeacherById(Long id) {
if (id == null) return null;
return teacherMapper.selectById(id);
}
@Override
public Teacher getTeacherByIdWithTenantCheck(Long id, Long tenantId) {
log.debug("查询教师带租户验证ID: {}, tenantId: {}", id, tenantId);