From c2d194b45d48b2649c56d0ccf79595b747649929 Mon Sep 17 00:00:00 2001 From: zhonghua Date: Tue, 24 Mar 2026 11:04:09 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=8F=AD=E7=BA=A7=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=BF=94=E5=9B=9E=E4=B8=BB=E5=AE=B6=E9=95=BF?= =?UTF-8?q?=E5=A7=93=E5=90=8D=E4=B8=8E=E8=81=94=E7=B3=BB=E7=94=B5=E8=AF=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - SchoolClassController: 学生列表补充 parentName、parentPhone - TeacherCourseController: 学生列表补充 parentName、parentPhone - 通过 ParentStudentMapper 查询主家长(isPrimary=1),关联 Parent 获取信息 Made-with: Cursor --- .../school/SchoolClassController.java | 19 +++++++++++++++++++ .../teacher/TeacherCourseController.java | 19 +++++++++++++++++++ 2 files changed, 38 insertions(+) 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;