基于 Spring Boot 瑞吉外賣系統開發(十二)
菜品刪除
單擊“批量刪除”和“刪除”時,會攜帶需要刪除的菜品的id以delete請求方式向“/dish”發送請求。
URL | http://127.0.0.1:8080/dish |
調用方法 | DELETE |
參數 | ids |
DishController添加刪除方法
在該方法中根據提交過來的菜品id刪除菜品信息和對應的菜品口味信息。如果菜品售賣狀態為啟售狀態的話,為確保不影響用戶體驗,則不允許刪除。
@DeleteMappingpublic R<String> delete(@RequestParam List<Long> ids){QueryWrapper<Dish> query = new QueryWrapper<>();query.in("id",ids);query.eq("status",1);int count = dishService.count(query);if(count>0){//如果不能刪除,拋出一個業務異常throw new CustomException("菜品正在售賣中,不能刪除");}//刪除dish表基本信息dishService.removeByIds(ids);//清理當前菜品對應口味數據---dish_flavor表的delete操作QueryWrapper<DishFlavor> query2 = new QueryWrapper<>();query2.in("dish_id",ids);dishFlavorService.remove(query2);return R.success("刪除成功");}
運行測試
刪除”辣子雞“,顯示啟售菜品不能刪除。
“辣子雞”修改為停售,刪除成功。