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.
73 lines
3.3 KiB
73 lines
3.3 KiB
package com.yanzhen.controller;
|
|
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.yanzhen.entity.Building;
|
|
import com.yanzhen.entity.User;
|
|
import com.yanzhen.service.BuildingService楼层设置;
|
|
import com.yanzhen.service.UserService用户管理;
|
|
import com.yanzhen.utils.Result;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import javax.servlet.http.HttpServletRequest;
|
|
import java.util.Map;
|
|
|
|
@RestController // 标记为RESTful控制器
|
|
@RequestMapping("/building") // 映射URL路径到该控制器
|
|
public class BuildingController {
|
|
|
|
@Autowired // 自动注入BuildingService
|
|
private BuildingService楼层设置 buildingService;
|
|
@Autowired // 自动注入UserService
|
|
private UserService用户管理 userService;
|
|
|
|
@PostMapping("create") // 映射POST请求到create方法
|
|
public Result create(@RequestBody Building building){ // 接收JSON格式的楼宇对象
|
|
int flag = buildingService.create(building); // 调用服务层创建楼宇
|
|
if(flag>0){ // 如果创建成功
|
|
return Result.ok(); // 返回成功结果
|
|
}else{ // 如果创建失败
|
|
return Result.fail(); // 返回失败结果
|
|
}
|
|
}
|
|
|
|
@GetMapping("delete") // 映射GET请求到delete方法
|
|
public Result delete(String ids){ // 接收楼宇ID字符串
|
|
int flag = buildingService.delete(ids); // 调用服务层删除楼宇
|
|
if(flag>0){ // 如果删除成功
|
|
return Result.ok(); // 返回成功结果
|
|
}else{ // 如果删除失败
|
|
return Result.fail(); // 返回失败结果
|
|
}
|
|
}
|
|
|
|
@PostMapping("update") // 映射POST请求到update方法
|
|
public Result update(@RequestBody Building building){ // 接收JSON格式的楼宇对象
|
|
int flag = buildingService.update(building); // 调用服务层更新楼宇信息
|
|
if(flag>0){ // 如果更新成功
|
|
return Result.ok(); // 返回成功结果
|
|
}else{ // 如果更新失败
|
|
return Result.fail(); // 返回失败结果
|
|
}
|
|
}
|
|
|
|
@GetMapping("detail") // 映射GET请求到detail方法
|
|
public Building detail(Integer id){ // 接收楼宇ID
|
|
return buildingService.detail(id); // 调用服务层获取楼宇详情并返回
|
|
}
|
|
|
|
@PostMapping("query") // 映射POST请求到query方法
|
|
public Map<String,Object> query(@RequestBody Building building, HttpServletRequest request){ // 接收JSON格式的楼宇对象和HTTP请求
|
|
User param = (User)request.getAttribute("user"); // 从请求中获取用户信息
|
|
User loginUser = userService.detail(param.getId()); // 调用服务层获取用户详情
|
|
if(loginUser.getType() == 1){ // 如果用户是宿管员
|
|
building.setUserId(loginUser.getId()); // 设置楼宇的用户ID为当前登录用户的ID
|
|
}
|
|
PageInfo<Building> pageInfo = buildingService.query(building); // 调用服务层查询楼宇列表
|
|
pageInfo.getList().forEach(entity->{ // 遍历查询结果中的每个楼宇
|
|
User user = userService.detail(entity.getUserId()); // 调用服务层获取每个楼宇的用户信息
|
|
entity.setUser(user); // 将用户信息设置到楼宇对象中
|
|
});
|
|
return Result.ok(pageInfo); // 返回查询结果
|
|
}
|
|
} |