/** * 下架房子 * @return */ @RequestMapping("/down") @ResponseBody public JsonResult downHouse(@RequestParam("id")Long id){ try{ House house = houseService.get(id); if(house==null){ return JsonResult.error("没有这个房子"); } //如果不是管理员权限又要下架别人的房子,跳转403 if(!loginUserIsAdmin() && !Objects.equals(house.getUserId(),getLoginUserId())){ return JsonResult.error("你不能下架别人的房子"); } if(Objects.equals(house.getStatus(),HouseStatusEnum.HAS_RENT.getValue())){ return JsonResult.error("房子正在租住中,不能下架"); } house.setStatus(HouseStatusEnum.HAS_DOWN.getValue()); //执行更新操作 houseService.update(house); }catch (Exception e){ return JsonResult.error("下架房子失败"); } return JsonResult.success("下架成功"); }
时间: 2024-02-14 08:20:57 浏览: 123
springmvc关于@requestMapping和@requestParam的使用
这是一段 Java 代码,它定义了一个 downHouse 方法,用于将指定 id 的房子下架。该方法使用 Spring MVC 的注解 @RequestMapping 和 @ResponseBody 实现了一个 Web 接口,该接口可以通过 HTTP 请求访问。
具体来说,该方法首先调用 houseService 的 get 方法获取指定 id 的房子对象。如果房子不存在,则返回一个错误的 JsonResult 对象。接着,该方法检查当前用户是否有下架该房子的权限,如果没有,则返回一个错误的 JsonResult 对象。如果房子正在租住中,则返回一个错误的 JsonResult 对象。
最后,该方法将房子对象的状态设置为已下架状态,即调用 house 的 setStatus 方法,并将参数设置为 HouseStatusEnum.HAS_DOWN 常量的值。最后,该方法调用 houseService 的 update 方法将修改后的房子对象保存到数据库中,并返回一个成功的 JsonResult 对象。
阅读全文