From d424f72183f9bd942776e39cbb8ab3762633d612 Mon Sep 17 00:00:00 2001 From: lbw <1192299468@qq.com> Date: Wed, 10 Dec 2025 19:30:08 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=96=B0=E5=A2=9E=E6=9F=A5=E8=AF=A2?= =?UTF-8?q?=E5=AD=A6=E7=94=9F=E5=88=97=E8=A1=A8=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/controller/StudentController.java | 47 +++++++++++++++++++ .../service/domain/dataobject/StudentDO.java | 26 ++++++++++ .../domain/mapper/StudentDOMapper.java | 12 +++++ .../model/vo/student/FindStudentsReqVO.java | 19 ++++++++ .../model/vo/student/StudentItemRspVO.java | 18 +++++++ .../service/service/StudentService.java | 13 +++++ .../assessment/StudentServiceImpl.java | 28 +++++++++++ .../service/student/StudentServiceImpl.java | 12 +++++ .../src/main/resources/generatorConfig.xml | 2 +- .../main/resources/mapper/StudentDOMapper.xml | 34 ++++++++++++++ 10 files changed, 210 insertions(+), 1 deletion(-) create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/StudentController.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/dataobject/StudentDO.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/FindStudentsReqVO.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/StudentItemRspVO.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/service/StudentService.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/service/assessment/StudentServiceImpl.java create mode 100644 enlish-service/src/main/java/com/yinlihupo/enlish/service/service/student/StudentServiceImpl.java create mode 100644 enlish-service/src/main/resources/mapper/StudentDOMapper.xml 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 new file mode 100644 index 0000000..67268bc --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/controller/StudentController.java @@ -0,0 +1,47 @@ +package com.yinlihupo.enlish.service.controller; + + +import com.yinlihupo.enlish.service.domain.dataobject.StudentDO; +import com.yinlihupo.enlish.service.model.vo.student.FindStudentsReqVO; +import com.yinlihupo.enlish.service.model.vo.student.StudentItemRspVO; +import com.yinlihupo.enlish.service.service.StudentService; +import com.yinlihupo.framework.biz.operationlog.aspect.ApiOperationLog; +import com.yinlihupo.framework.common.response.PageResponse; +import jakarta.annotation.Resource; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.List; + +@RequestMapping("/student/") +@RestController +public class StudentController { + + @Resource + private StudentService studentService; + + + @PostMapping("/list") + @ApiOperationLog(description = "查询学生列表") + public PageResponse findStudents(@RequestBody FindStudentsReqVO findStudentsReqVO) { + + Integer classId = findStudentsReqVO.getClassId(); + Integer gradeId = findStudentsReqVO.getGradeId(); + Integer pageNo = findStudentsReqVO.getPageNo(); + Integer pageSize = findStudentsReqVO.getPageSize(); + + List students = studentService.getStudentsByClassIdAndGradeId(classId, gradeId, pageNo, pageSize); + int allStudents = studentService.getAllStudents(); + + List studentItemRspVOS = students.stream().map(studentDO -> StudentItemRspVO.builder() + .id(studentDO.getId()) + .name(studentDO.getName()) + .classId(studentDO.getClassId()) + .gradeId(studentDO.getGradeId()) + .build()).toList(); + + return PageResponse.success(studentItemRspVOS, pageNo, allStudents, pageSize); + } +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/dataobject/StudentDO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/dataobject/StudentDO.java new file mode 100644 index 0000000..96a4a11 --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/dataobject/StudentDO.java @@ -0,0 +1,26 @@ +package com.yinlihupo.enlish.service.domain.dataobject; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class StudentDO { + + private Integer id; + + private String name; + + private Integer classId; + + private Integer gradeId; + + private Integer initialVocabularySize; + + private Integer currentVocabularySize; + +} \ No newline at end of file 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 new file mode 100644 index 0000000..f1f04aa --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/domain/mapper/StudentDOMapper.java @@ -0,0 +1,12 @@ +package com.yinlihupo.enlish.service.domain.mapper; + +import com.yinlihupo.enlish.service.domain.dataobject.StudentDO; + +import java.util.List; + +public interface StudentDOMapper { + + List selectStudentDOListByClassIdAndGradeId(Integer classId, Integer gradeId, Integer pageSize, Integer offset); + + int selectStudentCount(); +} \ No newline at end of file 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 new file mode 100644 index 0000000..1b1afb7 --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/FindStudentsReqVO.java @@ -0,0 +1,19 @@ +package com.yinlihupo.enlish.service.model.vo.student; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class FindStudentsReqVO { + + private Integer classId; + private Integer gradeId; + + private Integer pageNo; + private Integer pageSize; +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/StudentItemRspVO.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/StudentItemRspVO.java new file mode 100644 index 0000000..c8ab140 --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/model/vo/student/StudentItemRspVO.java @@ -0,0 +1,18 @@ +package com.yinlihupo.enlish.service.model.vo.student; + +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@AllArgsConstructor +@NoArgsConstructor +@Data +@Builder +public class StudentItemRspVO { + + private Integer id; + 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 new file mode 100644 index 0000000..7f3311b --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/StudentService.java @@ -0,0 +1,13 @@ +package com.yinlihupo.enlish.service.service; + + +import com.yinlihupo.enlish.service.domain.dataobject.StudentDO; + +import java.util.List; + +public interface StudentService { + + List getStudentsByClassIdAndGradeId(Integer classId, Integer gradeId, Integer pageNo, Integer pageSize); + + int getAllStudents(); +} diff --git a/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/assessment/StudentServiceImpl.java b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/assessment/StudentServiceImpl.java new file mode 100644 index 0000000..f57460d --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/assessment/StudentServiceImpl.java @@ -0,0 +1,28 @@ +package com.yinlihupo.enlish.service.service.assessment; + + +import com.yinlihupo.enlish.service.domain.dataobject.StudentDO; +import com.yinlihupo.enlish.service.domain.mapper.StudentDOMapper; +import com.yinlihupo.enlish.service.service.StudentService; +import jakarta.annotation.Resource; +import org.springframework.stereotype.Service; + +import java.util.List; + +@Service +public class StudentServiceImpl implements StudentService { + + @Resource + private StudentDOMapper studentDOMapper; + + @Override + public List getStudentsByClassIdAndGradeId(Integer classId, Integer gradeId, Integer pageNo, Integer pageSize) { + + return studentDOMapper.selectStudentDOListByClassIdAndGradeId(classId, gradeId, pageSize, (pageNo - 1) * pageSize); + } + + @Override + public int getAllStudents() { + return studentDOMapper.selectStudentCount(); + } +} 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 new file mode 100644 index 0000000..b05318e --- /dev/null +++ b/enlish-service/src/main/java/com/yinlihupo/enlish/service/service/student/StudentServiceImpl.java @@ -0,0 +1,12 @@ +package com.yinlihupo.enlish.service.service.student; + + +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +@Service +@Slf4j +public class StudentServiceImpl { + + +} diff --git a/enlish-service/src/main/resources/generatorConfig.xml b/enlish-service/src/main/resources/generatorConfig.xml index fa7fa14..cec6772 100644 --- a/enlish-service/src/main/resources/generatorConfig.xml +++ b/enlish-service/src/main/resources/generatorConfig.xml @@ -45,7 +45,7 @@ targetProject="src/main/java"/> - + + + + + + + + + + + + + id, `name`, class_id, grade_id, initial_vocabulary_size, current_vocabulary_size + + + + + + \ No newline at end of file