You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
4.2 KiB
85 lines
4.2 KiB
package com.yanzhen.controller;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.yanzhen.entity.Repair;
|
|
import com.yanzhen.entity.Student;
|
|
import com.yanzhen.service.BuildingService楼层设置;
|
|
import com.yanzhen.service.DormitoryService宿舍编号设置;
|
|
import com.yanzhen.service.RepairService报修管理;
|
|
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 // 声明这是一个RESTful控制器
|
|
@RequestMapping("/repair") // 设置请求路径前缀为/repair
|
|
public class RepairController {
|
|
|
|
@Autowired // 自动注入RepairService实例
|
|
private RepairService报修管理 repairService;
|
|
@Autowired // 自动注入StudentService实例
|
|
private StudentService学生管理 studentService;
|
|
@Autowired // 自动注入DormitoryService实例
|
|
private DormitoryService宿舍编号设置 dormitoryService;
|
|
@Autowired // 自动注入BuildingService实例
|
|
private BuildingService楼层设置 buildingService;
|
|
|
|
@PostMapping("create") // 映射HTTP POST请求到create方法
|
|
public Result create(@RequestBody Repair repair){ // 接收一个Repair对象作为请求体
|
|
int flag = repairService.create(repair); // 调用服务层创建维修记录
|
|
if(flag>0){ // 如果创建成功
|
|
return Result.ok(); // 返回成功结果
|
|
}else{ // 如果创建失败
|
|
return Result.fail(); // 返回失败结果
|
|
}
|
|
}
|
|
|
|
@GetMapping("delete") // 映射HTTP GET请求到delete方法
|
|
public Result delete(String ids){ // 接收要删除的记录ID字符串
|
|
int flag = repairService.delete(ids); // 调用服务层删除指定ID的维修记录
|
|
if(flag>0){ // 如果删除成功
|
|
return Result.ok(); // 返回成功结果
|
|
}else{ // 如果删除失败
|
|
return Result.fail(); // 返回失败结果
|
|
}
|
|
}
|
|
|
|
@PostMapping("update") // 映射HTTP POST请求到update方法
|
|
public Result update(@RequestBody Repair repair){ // 接收一个Repair对象作为请求体
|
|
int flag = repairService.updateSelective(repair); // 调用服务层更新维修记录,只更新非空字段
|
|
if(flag>0){ // 如果更新成功
|
|
return Result.ok(); // 返回成功结果
|
|
}else{ // 如果更新失败
|
|
return Result.fail(); // 返回失败结果
|
|
}
|
|
}
|
|
|
|
@GetMapping("detail") // 映射HTTP GET请求到detail方法
|
|
public Repair detail(Integer id){ // 接收维修记录的ID
|
|
return repairService.detail(id); // 调用服务层获取指定ID的维修记录详情并返回
|
|
}
|
|
|
|
@PostMapping("query") // 映射HTTP POST请求到query方法
|
|
public Map<String,Object> query(@RequestBody Repair repair){ // 接收一个Repair对象作为查询条件
|
|
PageInfo<Repair> pageInfo = new PageInfo<>(); // 创建一个分页信息对象
|
|
if(repair.getName() != null){ // 如果查询条件中包含学生姓名
|
|
Student detailId = studentService.detailByName(repair.getName()); // 根据姓名查找学生ID
|
|
if(detailId != null){ // 如果找到对应的学生ID
|
|
repair.setStudentId(detailId.getId()); // 设置查询条件的studentId属性
|
|
}else{ // 如果没有找到对应的学生ID
|
|
pageInfo.setList(null); // 设置分页列表为空
|
|
pageInfo.setSize(0); // 设置分页大小为0
|
|
return Result.ok(pageInfo); // 返回空的查询结果
|
|
}
|
|
}
|
|
pageInfo = repairService.query(repair); // 调用服务层进行查询操作
|
|
pageInfo.getList().forEach(entity->{ // 遍历查询结果列表
|
|
entity.setBuilding(buildingService.detail(entity.getBuildingId())); // 设置每个维修记录的楼宇信息
|
|
entity.setStudent(studentService.detail(entity.getStudentId())); // 设置每个维修记录的学生信息
|
|
entity.setDormitory(dormitoryService.detail(entity.getDormitoryId())); // 设置每个维修记录的宿舍信息
|
|
});
|
|
return Result.ok(pageInfo); // 返回查询结果
|
|
}
|
|
} |