From 1d23f617d5f83a6788dd08d6b5f464e5aeb7e4f7 Mon Sep 17 00:00:00 2001 From: zhonghua Date: Mon, 23 Mar 2026 16:03:00 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=96=B0=E5=A2=9E=E5=AD=A6=E7=94=9F?= =?UTF-8?q?=E6=97=B6=E7=8F=AD=E7=BA=A7=E4=B8=8D=E5=9B=9E=E6=98=BE=20-=20St?= =?UTF-8?q?udentCreateRequest=20=E6=94=AF=E6=8C=81=20classId=EF=BC=8C?= =?UTF-8?q?=E5=88=9B=E5=BB=BA=E6=97=B6=E5=88=86=E9=85=8D=E7=8F=AD=E7=BA=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Made-with: Cursor --- .../src/views/school/students/StudentListView.vue | 4 ++++ .../platform/controller/school/SchoolStudentController.java | 4 +++- .../reading/platform/dto/request/StudentCreateRequest.java | 3 +++ .../com/reading/platform/service/impl/StudentServiceImpl.java | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) diff --git a/reading-platform-frontend/src/views/school/students/StudentListView.vue b/reading-platform-frontend/src/views/school/students/StudentListView.vue index 8d5105a..9b51f4b 100644 --- a/reading-platform-frontend/src/views/school/students/StudentListView.vue +++ b/reading-platform-frontend/src/views/school/students/StudentListView.vue @@ -492,6 +492,10 @@ const resetForm = () => { const showAddModal = () => { isEdit.value = false; resetForm(); + // 若当前筛选了班级,预填班级选择 + if (selectedClassId.value) { + formState.classId = selectedClassId.value; + } modalVisible.value = true; }; diff --git a/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolStudentController.java b/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolStudentController.java index 6359aa5..43c6f01 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolStudentController.java +++ b/reading-platform-java/src/main/java/com/reading/platform/controller/school/SchoolStudentController.java @@ -34,7 +34,9 @@ public class SchoolStudentController { public Result createStudent(@Valid @RequestBody StudentCreateRequest request) { Long tenantId = SecurityUtils.getCurrentTenantId(); Student student = studentService.createStudent(tenantId, request); - return Result.success(studentMapper.toVO(student)); + StudentResponse vo = studentMapper.toVO(student); + vo.setClassId(request.getClassId()); + return Result.success(vo); } @Operation(summary = "Update student") diff --git a/reading-platform-java/src/main/java/com/reading/platform/dto/request/StudentCreateRequest.java b/reading-platform-java/src/main/java/com/reading/platform/dto/request/StudentCreateRequest.java index b7b6c66..8824bbc 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/dto/request/StudentCreateRequest.java +++ b/reading-platform-java/src/main/java/com/reading/platform/dto/request/StudentCreateRequest.java @@ -35,4 +35,7 @@ public class StudentCreateRequest { @Schema(description = "备注") private String notes; + @Schema(description = "所在班级 ID,创建后分配到该班级") + private Long classId; + } diff --git a/reading-platform-java/src/main/java/com/reading/platform/service/impl/StudentServiceImpl.java b/reading-platform-java/src/main/java/com/reading/platform/service/impl/StudentServiceImpl.java index 851f7d8..71376d1 100644 --- a/reading-platform-java/src/main/java/com/reading/platform/service/impl/StudentServiceImpl.java +++ b/reading-platform-java/src/main/java/com/reading/platform/service/impl/StudentServiceImpl.java @@ -58,6 +58,10 @@ public class StudentServiceImpl extends com.baomidou.mybatisplus.extension.servi studentMapper.insert(student); + if (request.getClassId() != null) { + classService.assignStudentToClass(student.getId(), request.getClassId(), tenantId); + } + log.info("学生创建成功,ID: {}", student.getId()); return student; }