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; @RestController// 声明这是一个控制器,并且返回的数据直接写入HTTP响应体中 @RequestMapping("/bed")// 设置请求路径前缀为/bed,所有的映射都在这个路径之下 public class BedController { @Autowired// 自动注入BedService实例 private BedService在线选宿舍 bedService; @Autowired// 自动注入DormitoryStudentService实例,处理与学生宿舍相关的业务逻辑 private DormitoryStudentService宿舍预选设置 dormitoryStudentService; @PostMapping("create")// 映射HTTP POST请求到create方法 public Result create(@RequestBody Bed bed){// 从请求体中获取Bed对象 int flag = bedService.create(bed);// 调用bedService的create方法创建床位记录 if(flag>0){// 如果创建成功 return Result.ok();// 返回成功结果 }else{// 如果创建失败 return Result.fail();// 返回失败结果 } } @GetMapping("delete")// 映射HTTP GET请求到delete方法,删除床位记录 public Result delete(String ids){// 从请求参数中获取要删除的床位ID字符串 int flag = bedService.delete(ids);// 调用bedService的delete方法删除床位记录,传入要删除的床位ID字符串 if(flag>0){// 如果删除成功 return Result.ok();// 返回成功结果 }else{// 如果删除失败 return Result.fail();// 返回失败结果 } } @PostMapping("update")// 映射HTTP POST请求到update方法,更新床位信息 public Result update(@RequestBody Bed bed){// 从请求体中获取更新后的Bed对象 int flag = bedService.update(bed);// 调用bedService的update方法更新床位记录 if(flag>0){// 如果更新成功 return Result.ok();// 返回成功结果 }else{// 如果更新失败 return Result.fail();// 返回失败结果 } } @GetMapping("detail")// 映射HTTP GET请求到detail方法,获取床位详情 public Bed detail(Integer id){ // 从请求参数中获取床位ID return bedService.detail(id); // 调用bedService的detail方法获取床位详情并返回 } @PostMapping("query")// 映射HTTP POST请求到query方法,查询床位列表 public Map query(@RequestBody Bed bed){ // 从请求体中获取查询条件Bed对象 PageInfo pageInfo = bedService.query(bed);// 调用bedService的query方法进行分页查询 pageInfo.getList().forEach(entity->{// 遍历查询结果列表 entity.setStudent(dormitoryStudentService.queryStudentByBedId(entity.getId()));// 为每个床位设置对应的学生信息 }); return Result.ok(pageInfo);// 返回包含分页信息的查询结果 } }