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}