|
|
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 // 声明这是一个控制器,并且返回的数据直接写入 HTTP 响应体中,而不是解析为跳转路径。
|
|
|
@RequestMapping("/student") // 设置请求的根路径为 "/student",所有方法的请求路径都会以这个为基础。
|
|
|
public class StudentController { // 定义一个名为 StudentController 的类,用于处理学生相关的请求。
|
|
|
|
|
|
@Autowired // 自动注入 StudentService 对象,用于处理学生数据的业务逻辑。
|
|
|
private StudentService学生管理 studentService;
|
|
|
|
|
|
@Autowired // 自动注入 GradeService 对象,用于处理年级数据的业务逻辑。
|
|
|
private GradeService年级管理 gradeService;
|
|
|
|
|
|
@Autowired // 自动注入 OrgService 对象,用于处理班级数据的业务逻辑。
|
|
|
private OrgService机构管理 orgService;
|
|
|
|
|
|
@PostMapping("create") // 映射 HTTP POST 请求到 create 方法,用于创建新的学生记录。
|
|
|
public Result create(@RequestBody Student student){ // 接收一个 JSON 格式的学生对象作为请求体。
|
|
|
int flag = studentService.create(student); // 调用 studentService 的 create 方法保存学生信息,并返回操作结果标志。
|
|
|
if(flag>0){ // 如果操作成功(flag > 0)。
|
|
|
return Result.ok(); // 返回成功的 Result 对象。
|
|
|
}else{ // 如果操作失败(flag <= 0)。
|
|
|
return Result.fail(); // 返回失败的 Result 对象。
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@GetMapping("delete") // 映射 HTTP GET 请求到 delete 方法,用于删除学生记录。
|
|
|
public Result delete(String ids){ // 接收要删除的学生 ID 列表作为请求参数。
|
|
|
int flag = studentService.delete(ids); // 调用 studentService 的 delete 方法删除指定的学生记录,并返回操作结果标志。
|
|
|
if(flag>0){ // 如果操作成功(flag > 0)。
|
|
|
return Result.ok(); // 返回成功的 Result 对象。
|
|
|
}else{ // 如果操作失败(flag <= 0)。
|
|
|
return Result.fail(); // 返回失败的 Result 对象。
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@PostMapping("update") // 映射 HTTP POST 请求到 update 方法,用于更新学生记录。
|
|
|
public Result update(@RequestBody Student student){ // 接收一个 JSON 格式的学生对象作为请求体。
|
|
|
int flag = studentService.updateSelective(student); // 调用 studentService 的 updateSelective 方法更新学生信息,并返回操作结果标志。
|
|
|
if(flag>0){ // 如果操作成功(flag > 0)。
|
|
|
return Result.ok(); // 返回成功的 Result 对象。
|
|
|
}else{ // 如果操作失败(flag <= 0)。
|
|
|
return Result.fail(); // 返回失败的 Result 对象。
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@GetMapping("detail") // 映射 HTTP GET 请求到 detail 方法,用于获取单个学生的详细信息。
|
|
|
public Student detail(Integer id){ // 接收学生 ID 作为请求参数。
|
|
|
return studentService.detail(id); // 调用 studentService 的 detail 方法获取指定 ID 的学生信息,并返回该学生对象。
|
|
|
}
|
|
|
|
|
|
@PostMapping("query") // 映射 HTTP POST 请求到 query 方法,用于查询学生列表。
|
|
|
public Map<String,Object> query(@RequestBody Student student){ // 接收一个 JSON 格式的学生对象作为请求体,用于查询条件。
|
|
|
PageInfo<Student> pageInfo = studentService.query(student); // 调用 studentService 的 query 方法查询符合条件的学生列表,并返回分页信息。
|
|
|
|
|
|
pageInfo.getList().forEach(entity->{ // 遍历查询结果中的每个学生对象。
|
|
|
Grade grade = gradeService.detail(entity.getGradeId()); // 根据学生对象的年级 ID 获取对应的年级信息。
|
|
|
entity.setGrade(grade); // 将年级信息设置到学生对象中。
|
|
|
Org org = orgService.detail(entity.getClazzId()); // 根据学生对象的班级 ID 获取对应的班级信息。
|
|
|
entity.setOrg(org); // 将班级信息设置到学生对象中。
|
|
|
});
|
|
|
return Result.ok(pageInfo); // 返回包含分页信息的成功的 Result 对象。
|
|
|
}
|
|
|
|
|
|
} |