package com.yanzhen.controller; import com.github.pagehelper.PageInfo; import com.yanzhen.entity.Grade; import com.yanzhen.entity.Org; import com.yanzhen.entity.Student; import com.yanzhen.service.GradeService; import com.yanzhen.service.OrgService; import com.yanzhen.service.StudentService; import com.yanzhen.utils.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; //学生管理的控制器 @RestController @RequestMapping("/student") public class StudentController { //注入实例 //注入学生服务类 @Autowired private StudentService studentService; //注入成绩服务类 @Autowired private GradeService gradeService; //注入组织服务类 @Autowired private OrgService orgService; //创建新的实例 @PostMapping("create") public Result create(@RequestBody Student student){ //在学生管理服务类中引用create方法 int flag = studentService.create(student); //判断是否创建成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //删除学生信息 @GetMapping("delete") public Result delete(String ids){ //在学生管理服务类中引用delete方法 int flag = studentService.delete(ids); //判断是否删除成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //更新学生信息 @PostMapping("update") public Result update(@RequestBody Student student){ //在学生管理服务类中引用update方法 int flag = studentService.updateSelective(student); //判断是否更新成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //获取学生详细信息 @GetMapping("detail") public Student detail(Integer id){ //返回结果 return studentService.detail(id); } //查询学生信息 @PostMapping("query") public Map query(@RequestBody Student student){ //创建分页对象 PageInfo pageInfo = studentService.query(student); // 遍历查询结果中的每个学生 pageInfo.getList().forEach(entity->{ // 根据学生的年级 ID 获取对应的年级信息。 Grade grade = gradeService.detail(entity.getGradeId()); // 成绩信息设置到学生中 entity.setGrade(grade); // 根据学生的班级 ID 获取对应的班级信息。 Org org = orgService.detail(entity.getClazzId()); // 将班级信息设置到学生对象中。 entity.setOrg(org); }); //返回结果 return Result.ok(pageInfo); } }