package com.yanzhen.controller; import com.github.pagehelper.PageInfo; import com.yanzhen.entity.Student; import com.yanzhen.entity.Visit; import com.yanzhen.service.StudentService; import com.yanzhen.service.VisitService; import com.yanzhen.utils.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; //来访管理的控制器 @RestController @RequestMapping("/visit") public class VisitController { //注入实例 //注入来访管理服务类 @Autowired private VisitService visitService; //注入学生服务类 @Autowired private StudentService studentService; //创建新的实例 @PostMapping("create") public Result create(@RequestBody Visit visit){ //在来访管理服务类中引用create方法 int flag = visitService.create(visit); //判断是否创建成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //删除来访记录信息 @GetMapping("delete") public Result delete(String ids){ //在来访管理服务类中引用delete方法 int flag = visitService.delete(ids); //判断是否删除成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //更新来访信息 @PostMapping("update") public Result update(@RequestBody Visit visit){ //在来访管理服务类中引用update方法 int flag = visitService.updateSelective(visit); //判断是否更新成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //获取来访详细信息 @GetMapping("detail") public Visit detail(Integer id){ //返回结果 return visitService.detail(id); } //查询来访信息 @PostMapping("query") public Map query(@RequestBody Visit visit){ //创建分页对象 PageInfo pageInfo = visitService.query(visit); // 遍历查询结果中的每条记录 pageInfo.getList().forEach(entity->{ // 根据学生 ID 获取学生的详细信息 Student detail = studentService.detail(entity.getStudentId()); // 将学生详细信息设置到访问记录中 entity.setStudent(detail); }); //返回结果 return Result.ok(pageInfo); } }