基于 Spring Boot 瑞吉外卖系统开发(十二)

基于 Spring Boot 瑞吉外卖系统开发(十二)

菜品删除

单击"批量删除"和"删除"时,会携带需要删除的菜品的id以delete请求方式向"/dish"发送请求。

|------|----------------------------|
| URL | http://127.0.0.1:8080/dish |
| 调用方法 | DELETE |
| 参数 | ids |

DishController添加删除方法

在该方法中根据提交过来的菜品id删除菜品信息和对应的菜品口味信息。如果菜品售卖状态为启售状态的话,为确保不影响用户体验,则不允许删除。

java 复制代码
	 @DeleteMapping
    public 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("删除成功");
    }

运行测试

删除"辣子鸡",显示启售菜品不能删除。

"辣子鸡"修改为停售,删除成功。

相关推荐
RuoyiOffice19 小时前
SpringBoot OA推荐:面向信创选型,看看这套企业协同平台
spring boot·vue3·信创·flowable·企业协同·ruoyi office·oa选型
jianxuan19 小时前
Spring Boot + Maven 接入 Allatori:从普通打包到可选混淆发布
spring boot·python·maven
RuoyiOffice21 小时前
llama.cpp + SpringBoot3:本地部署 Qwen3.8,接入 AgentOS 企业办公智能体
spring boot·springboot3·llama.cpp·spring ai·qwen3.8·agentos
学长毕设1 天前
基于SpringBoot的青少年编程学习平台系统-附源码
spring boot·学习·青少年编程
学长毕设1 天前
基于SpringBoot的建筑材料管理系统-附源码
java·spring boot·后端
星光开发者2 天前
基于springboot智慧草场牛羊管理系统-计算机毕设【课程设计】50360
vue.js·spring boot·后端·mysql·php·课程设计·express
weixin_BYSJ19872 天前
电竞先锋网站---附源码02032
java·vue.js·spring boot·python·django·tomcat·php
她的男孩2 天前
超时配置了自动驳回,任务状态却全变「已取消」:Forge Admin 流程超时终态与 Flowable ENTITY_DELETED
spring boot·低代码·工作流引擎
二宝哥2 天前
02.springboot项目对接国内模型实现对话聊天
数据库·人工智能·spring boot
学长毕设2 天前
基于springboot的农资管理系统-附源码
java·spring boot·后端