package com.yanzhen.controller; import com.github.pagehelper.PageInfo; import com.yanzhen.entity.Bed; import com.yanzhen.service.BedService; import com.yanzhen.service.DormitoryStudentService; import com.yanzhen.utils.Result; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Map; //BedController控制类 @RestController @RequestMapping("/bed") public class BedController { //注入实例--处理与学生宿舍相关的业务逻辑 //注入床位的实例 @Autowired private BedService bedService; //注入学生宿舍的实例 @Autowired private DormitoryStudentService dormitoryStudentService; //创建床位对象 @PostMapping("create") public Result create(@RequestBody Bed bed){ //调用床位的服务层create方法删除床位 int flag = bedService.create(bed); //判断是否创建成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } //根据床位id删除床位 @GetMapping("delete") public Result delete(String ids){ //调用床位的服务层delete方法删除床位 int flag = bedService.delete(ids); //判断删除是否成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } // 更新床位记录 @PostMapping("update") // 从请求体中获取更新后的Bed对象 public Result update(@RequestBody Bed bed){ //调用床位的服务层update方法更新床位 int flag = bedService.update(bed); //判断更新是否成功 if(flag>0){ //成功 return Result.ok(); }else{ //失败 return Result.fail(); } } // 遍历查询--为每个床位设置对应的学生信息 @GetMapping("detail") // 调用bedService的detail方法获取床位详情并返回 public Bed detail(Integer id){ return bedService.detail(id); } //分页查询 @PostMapping("query") // 从请求体中获取查询条件Bed对象--分页显示 public Map query(@RequestBody Bed bed){ //创建分页对象 PageInfo pageInfo = bedService.query(bed); //遍历 pageInfo.getList().forEach(entity->{ entity.setStudent(dormitoryStudentService.queryStudentByBedId(entity.getId())); }); //返回结果 return Result.ok(pageInfo); } }