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; }