From eb2c0d2f6c451b1dae8d029252cb7fbaa9f38da6 Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Mon, 15 Dec 2025 11:15:47 +0800 Subject: [PATCH] =?UTF-8?q?feat(student):=20=E6=B7=BB=E5=8A=A0=E5=AD=A6?= =?UTF-8?q?=E7=94=9F=E6=9F=A5=E8=AF=A2=E5=8A=9F=E8=83=BD=E5=B9=B6=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E6=8C=89=E5=A7=93=E5=90=8D=E8=BF=87=E6=BB=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 学生查询页面新增姓名输入框及查询、重置按钮 - 实现学生列表展示与分页功能 - 支持根据选中班级和年级联动查询学生 - 学生接口新增按姓名条件查询支持 - 服务层及Mapper层方法添加姓名参数过滤功能 - Vue页面同步新增学生相关响应式状态与方法 - 优化表格交互,支持点击行选中高亮及联动查询 --- .../service/controller/StudentController.java | 4 +- .../domain/mapper/StudentDOMapper.java | 3 +- .../model/vo/student/FindStudentsReqVO.java | 1 + .../service/service/StudentService.java | 2 +- .../service/student/StudentServiceImpl.java | 4 +- .../main/resources/mapper/StudentDOMapper.xml | 5 +- enlish-vue/src/api/student.js | 4 + enlish-vue/src/pages/class.vue | 101 +++++++++++++++++- 8 files changed, 112 insertions(+), 12 deletions(-) diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/StudentController.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/StudentController.java index 64935e0..e2b37d9 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/StudentController.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/StudentController.java @@ -41,8 +41,8 @@ public class StudentController { Integer gradeId = findStudentsReqVO.getGradeId(); Integer pageNo = findStudentsReqVO.getPageNo(); Integer pageSize = findStudentsReqVO.getPageSize(); - - List students = studentService.getStudentsByClassIdAndGradeId(classId, gradeId, pageNo, pageSize); + String name = findStudentsReqVO.getName(); + List students = studentService.getStudentsByClassIdAndGradeId(classId, gradeId, name, pageNo, pageSize); int allStudents = studentService.getAllStudents(); List studentItemRspVOS = students.stream().map(studentDO -> StudentItemRspVO.builder() diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java index 6e33489..829d3ef 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java @@ -1,12 +1,13 @@ package com.yinlihupo.enlish.service.domain.mapper; import com.yinlihupo.enlish.service.domain.dataobject.StudentDO; +import org.apache.ibatis.annotations.Param; import java.util.List; public interface StudentDOMapper { - List selectStudentDOListByClassIdAndGradeId(Integer classId, Integer gradeId, Integer pageSize, Integer offset); + List selectStudentDOListByClassIdAndGradeId(@Param("classId") Integer classId, @Param("gradeId") Integer gradeId, @Param("name") String name, @Param("startIndex") Integer startIndex, @Param("pageSize") Integer pageSize); int selectStudentCount(); diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/FindStudentsReqVO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/FindStudentsReqVO.java index 1b1afb7..7c057d8 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/FindStudentsReqVO.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/FindStudentsReqVO.java @@ -11,6 +11,7 @@ import lombok.NoArgsConstructor; @Builder public class FindStudentsReqVO { + private String name; private Integer classId; private Integer gradeId; diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/StudentService.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/StudentService.java index dbc1637..34e7575 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/StudentService.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/StudentService.java @@ -7,7 +7,7 @@ import java.util.List; public interface StudentService { - List getStudentsByClassIdAndGradeId(Integer classId, Integer gradeId, Integer pageNo, Integer pageSize); + List getStudentsByClassIdAndGradeId(Integer classId, Integer gradeId, String name, Integer pageNo, Integer pageSize); int getAllStudents(); diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/student/StudentServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/student/StudentServiceImpl.java index e8d3aeb..def873a 100644 --- a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/student/StudentServiceImpl.java +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/student/StudentServiceImpl.java @@ -16,9 +16,9 @@ public class StudentServiceImpl implements StudentService { private StudentDOMapper studentDOMapper; @Override - public List getStudentsByClassIdAndGradeId(Integer classId, Integer gradeId, Integer pageNo, Integer pageSize) { + public List getStudentsByClassIdAndGradeId(Integer classId, Integer gradeId, String name, Integer pageNo, Integer pageSize) { - return studentDOMapper.selectStudentDOListByClassIdAndGradeId(classId, gradeId, pageSize, (pageNo - 1) * pageSize); + return studentDOMapper.selectStudentDOListByClassIdAndGradeId(classId, gradeId, name, (pageNo - 1) * pageSize, pageSize); } @Override diff --git a/enlish-service/src/main/resources/mapper/StudentDOMapper.xml b/enlish-service/src/main/resources/mapper/StudentDOMapper.xml index c86b656..7cda7a5 100644 --- a/enlish-service/src/main/resources/mapper/StudentDOMapper.xml +++ b/enlish-service/src/main/resources/mapper/StudentDOMapper.xml @@ -22,7 +22,10 @@ AND grade_id = #{gradeId} - LIMIT #{offset}, #{pageSize} + + AND name like concat('%', #{name}, '%') + + LIMIT #{startIndex}, #{pageSize}