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

运行测试

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

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

相关推荐
MacroZheng38 分钟前
还在用WebSocket实现即时通讯?试试MQTT吧,真香!
java·spring boot·后端
midsummer_woo1 小时前
基于springboot的IT技术交流和分享平台的设计与实现(源码+论文)
java·spring boot·后端
别惹CC3 小时前
Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
人工智能·spring boot·spring
柯南二号4 小时前
【Java后端】Spring Boot 集成 MyBatis-Plus 全攻略
java·spring boot·mybatis
javachen__5 小时前
SpringBoot整合P6Spy实现全链路SQL监控
spring boot·后端·sql
IT毕设实战小研11 小时前
基于Spring Boot 4s店车辆管理系统 租车管理系统 停车位管理系统 智慧车辆管理系统
java·开发语言·spring boot·后端·spring·毕业设计·课程设计
一只爱撸猫的程序猿12 小时前
使用Spring AI配合MCP(Model Context Protocol)构建一个"智能代码审查助手"
spring boot·aigc·ai编程
甄超锋12 小时前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
武昌库里写JAVA14 小时前
JAVA面试汇总(四)JVM(一)
java·vue.js·spring boot·sql·学习
Pitayafruit15 小时前
Spring AI 进阶之路03:集成RAG构建高效知识库
spring boot·后端·llm