当前位置: 首页 > backend >正文

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

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

修改菜品

修改菜品是在原有的菜品信息的上对菜品信息进行更新,对此修改菜品信息之前需要将原有的菜品信息在修改界面进行展示,然后再对菜品信息进行修改。
修改菜品分为回显菜品信息更新菜品信息
在这里插入图片描述

回显菜品信息

点击"修改"菜品按钮,请求携带菜品id以get请求方式向“/dish”发送请求。
在这里插入图片描述

DishController类中添加查询菜品信息的方法

    @GetMapping("/{id}")public R<DishDto> getDishDtoById(@PathVariable("id") Long id){Dish dish = dishService.getById(id);DishDto dishDto = new DishDto();BeanUtils.copyProperties(dish,dishDto);QueryWrapper<DishFlavor> query = new QueryWrapper<>();//条件构造器query.eq("dish_id",id);List<DishFlavor> list = dishFlavorService.list(query);dishDto.setFlavors(list);return R.success(dishDto);}

运行测试

重新启动项目,成功登录管理端之后,在菜品管理页面单击牛肉面的“修改”按钮,请求修改信息,数据可以正常回显。
在这里插入图片描述

更新菜品信息

点击“保存”按钮,请求携带表单中的菜品信息以put请求方式向“/dish”发送请求。
在这里插入图片描述

DishController类中添加修改菜品信息的方法

    @PutMappingpublic R<String> update(@RequestBody DishDto dishDto){dishService.updateWithFlavor(dishDto);return R.success("更新菜品成功");}

DishService接口中添加updateWithFlavor()方法

void updateWithFlavor(DishDto dishDto);

DishServiceImpl类中实现DishService接口中的updateWithFlavor()方法

    @Override@Transactionalpublic void updateWithFlavor(DishDto dishDto) {//更新基本信息this.updateById(dishDto);//删除原有口味QueryWrapper<DishFlavor> query = new QueryWrapper<>();query.eq("dish_id",dishDto.getId());dishFlavorService.remove(query);//菜品口味List<DishFlavor> flavors = dishDto.getFlavors();for(DishFlavor flavor:flavors){flavor.setDishId(dishDto.getId());}//新增菜品口味数据到菜品口味表dish_flavordishFlavorService.saveBatch(flavors);}

运行测试

重新启动项目,成功登录管理端之后,在修改菜品页面中将牛肉面的价格修改为"20"后,单击“保存”按钮。
在这里插入图片描述

http://www.xdnf.cn/news/4324.html

相关文章:

  • NVIDIA Halos:智能汽车革命中的全栈式安全系统
  • LeetCode 220 存在重复元素 III 题解
  • LeetCode热题100--238.除自身以外数组的乘积--中等
  • 替换所有的问号 --- 模拟
  • Windows下安装EMQX服务代理和MQTTX客户端服务器
  • 小土堆pytorch--transform
  • sqli-labs靶场通关保姆级教学(Get传输篇)Less-1Less-10
  • CyberSentinel AI开源程序 是一个自动化安全监控与AI分析系统
  • (一)毛子整洁架构(Domain Layer/Repository Pattern/Result Pattern/Error Pattern)
  • Python基于Django的在线考试系统【附源码、文档说明】
  • WiFi那些事儿(六)
  • JavaSE核心知识点01基础语法01-03(流程控制:顺序、分支、循环)
  • C语言的重要知识点☞static关键字
  • C语言_可变参数_LOG宏
  • 2.Redis高阶实战
  • git常用命令
  • RN学习笔记 ✅
  • 如何判断内核模块是否为最新版本?
  • tinyrenderer笔记(上)
  • 【Linux我做主】深入探讨从冯诺依曼体系到进程
  • v-modal失效如何解决
  • 深入浅出iOS性能优化:打造极致用户体验的实战指南
  • 仓颉语言深度解析
  • 如何建设网站?网站建设简单步骤有哪些?
  • 认识不同格式的点云数据 -OFF格式数据转点云
  • 程序员学商务英语之Shipment Claim 运输和索赔
  • C#问题 加载格式不正确解决方法
  • Python生活手册-Numpy多维数组构建:从快递分拣到智能家居的数据变形术
  • 【AI微信小程序开发】火锅计时小程序项目代码:自动涮煮计时(含完整前端代码)
  • cesium之自定义地图与地图叠加