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

运行测试

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

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

相关推荐
happymagic8 小时前
java spring boot做的jar包程序,如何实现自动运行启动
java·运维·服务器·spring boot·jar
2601_9638701815 小时前
【计算机毕业设计】基于Vue + Spring Boot的社区养老服务管理平台设计与实现
spring boot·后端·课程设计
乐观的Terry15 小时前
11、发布系统-用户认证与权限体系
java·spring boot·spring·spring cloud·mybatis
William Dawson16 小时前
【踩坑实录|Hive1\.2\.1数据服务接口5大疑难问题调试与全方位优化方案】
java·hive·spring boot
闲猫16 小时前
LangChain4j / Introduction
java·人工智能·spring boot·langchain4j
CodeHackerBhx17 小时前
Spring Boot 4 防重复提交:从接口幂等到 Redis 分布式锁的完整实践
java·数据库·spring boot·redis·分布式
用户31268748772019 小时前
Spring Bean 生命周期到底经历了什么?从实例化到销毁的全链路拆解
java·spring boot
Flittly20 小时前
【我的手搓轮子日记】(2)handmade-ioc 手搓 IOC 容器
java·spring boot·spring
AlunYegeer20 小时前
Spring Boot 多模块服务间 API Token 鉴权排查记录
java·spring boot·后端
paopaokaka_luck20 小时前
基于springboot3+vue3的乡村医生诊疗管理系统(AI助手、协同过滤算法、webSocket实时聊天、Echarts图形化分析)
前端·网络·人工智能·spring boot·websocket·网络协议·echarts