diff --git a/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolClassController.java b/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolClassController.java index e105aba..0f21c7b 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolClassController.java +++ b/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolClassController.java @@ -21,9 +21,12 @@ import com.reading.platform.dto.response.StudentResponse; import com.reading.platform.entity.Clazz; import com.reading.platform.entity.ClassTeacher; import com.reading.platform.entity.Lesson; +import com.reading.platform.entity.ParentStudent; import com.reading.platform.entity.Student; import com.reading.platform.entity.Teacher; import com.reading.platform.mapper.ClassTeacherMapper; +import com.reading.platform.mapper.ParentMapper; +import com.reading.platform.mapper.ParentStudentMapper; import com.reading.platform.mapper.LessonMapper; import com.reading.platform.service.ClassService; import com.reading.platform.service.StudentService; @@ -52,6 +55,8 @@ public class SchoolClassController { private final StudentMapper studentMapper; private final TeacherService teacherService; private final LessonMapper lessonMapper; + private final ParentMapper parentMapper; + private final ParentStudentMapper parentStudentMapper; @Operation(summary = "Create class") @Log(module = LogModule.CLASS, type = LogOperationType.CREATE, description = "创建新班级") @@ -205,6 +210,20 @@ public class SchoolClassController { classService.getClassByIdWithTenantCheck(id, tenantId); Page page = studentService.getStudentsByClassId(id, pageNum, pageSize, keyword); List voList = studentMapper.toVO(page.getRecords()); + for (StudentResponse vo : voList) { + var parentRelation = parentStudentMapper.selectOne( + new LambdaQueryWrapper() + .eq(ParentStudent::getStudentId, vo.getId()) + .eq(ParentStudent::getIsPrimary, 1) + .last("LIMIT 1")); + if (parentRelation != null) { + var parent = parentMapper.selectById(parentRelation.getParentId()); + if (parent != null) { + vo.setParentName(parent.getName()); + vo.setParentPhone(parent.getPhone()); + } + } + } return Result.success(PageResult.of(voList, page.getTotal(), page.getCurrent(), page.getSize())); } diff --git a/reading-platform-java/src/main/java/com/reading/platform/controller/teacher/TeacherCourseController.java b/reading-platform-java/src/main/java/com/reading/platform/controller/teacher/TeacherCourseController.java index 0c055ce..3723773 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/controller/teacher/TeacherCourseController.java +++ b/reading-platform-java/src/main/java/com/reading/platform/controller/teacher/TeacherCourseController.java @@ -19,11 +19,14 @@ import com.reading.platform.dto.response.StudentResponse; import com.reading.platform.dto.response.TeacherResponse; import com.reading.platform.entity.Clazz; import com.reading.platform.entity.Lesson; +import com.reading.platform.entity.ParentStudent; import com.reading.platform.entity.CoursePackage; import com.reading.platform.entity.Student; import com.reading.platform.entity.Teacher; import com.reading.platform.entity.CourseLesson; import com.reading.platform.mapper.LessonMapper; +import com.reading.platform.mapper.ParentMapper; +import com.reading.platform.mapper.ParentStudentMapper; import com.reading.platform.service.ClassService; import com.reading.platform.service.CourseLessonService; import com.reading.platform.service.CoursePackageService; @@ -55,6 +58,8 @@ public class TeacherCourseController { private final StudentMapper studentMapper; private final TeacherMapper teacherMapper; private final LessonMapper lessonMapper; + private final ParentMapper parentMapper; + private final ParentStudentMapper parentStudentMapper; @Operation(summary = "获取教师的班级列表") @GetMapping("/classes") @@ -183,6 +188,20 @@ public class TeacherCourseController { Clazz clazz = classService.getClassByIdWithTenantCheck(id, tenantId); Page page = studentService.getStudentsByClassId(id, pageNum, pageSize, keyword); List voList = studentMapper.toVO(page.getRecords()); + for (StudentResponse vo : voList) { + var parentRelation = parentStudentMapper.selectOne( + new LambdaQueryWrapper() + .eq(ParentStudent::getStudentId, vo.getId()) + .eq(ParentStudent::getIsPrimary, 1) + .last("LIMIT 1")); + if (parentRelation != null) { + var parent = parentMapper.selectById(parentRelation.getParentId()); + if (parent != null) { + vo.setParentName(parent.getName()); + vo.setParentPhone(parent.getPhone()); + } + } + } int studentCount = studentService.getStudentListByClassId(id).size(); long lessonCount = 0;