基于 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("删除成功");
    }

运行测试

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

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

相关推荐
suaizai_8 小时前
Fastjson高危漏洞紧急修复指南
spring boot
gugucoding15 小时前
59. 【Java】Spring Boot 入门:第一个 Web 应用
java·开发语言·spring boot
宠友信息18 小时前
内容社区源码开发实践解析,用Spring Boot打造1:1仿小红书源码平台
java·spring boot·redis·websocket·mysql·spring·uni-app
Su米苏19 小时前
Redis高级用法
spring boot·redis
paopaokaka_luck19 小时前
基于springboot3+vue3的车间生产管理系统(Echarts图形化分析、BI报表)
java·前端·spring boot·学习·echarts
摇滚侠1 天前
《SpringBoot 3:入门与应用实战》第 7 章 AOP 思想与实现 阅读笔记 13
java·spring boot·笔记
FYKJ_20101 天前
springboot网上购书商城---附源码15749
java·spring boot·后端·python·spark·django·php
爱学堂IT分享1 天前
码神之路-Netty-从零实现RPC框架+SpringBoot实战项目教程
spring boot·网络协议·rpc
evans在进步1 天前
Spring Boot 启动流程与 @SpringBootApplication 核心原理详解
java·spring boot·后端
摇滚侠1 天前
《SpringBoot 3:入门与应用实战》第 6 章 Spring Boot 最佳实践 阅读笔记 12
android·spring boot·笔记