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

基于 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.dtcms.com/a/174001.html

相关文章:

  • Spring AI Alibaba-03- Spring AI + DeepSeek-R1 + ES/Milvus + RAG 智能对话应用开发全流程
  • 当手机开始预判你的下一步:一场正在颠覆生活的AI静默革命
  • 解决JSON.stringify方法数据丢失
  • Linux 系统上安装 Firefox 浏览器的完整指南
  • 码蹄集——直线切平面、圆切平面
  • C++入门基础(上)
  • Javase 基础加强 —— 06 Stream流
  • eNSP中路由器OSPF协议配置完整实验和命令解释
  • netty单线程并发量评估对比tomcat
  • Python Bug 修复案例分析:函数参数传递引发的逻辑错误修复
  • C++ 装饰器模式详解
  • 精益数据分析(42/126):移动应用商业模式的深度剖析与实战要点
  • “二次号码焕新”服务来了 可一键解绑历史互联网账号
  • 破解工业3D可视化困局,HOOPS Visualize助力高效跨平台协作与交互!
  • Ubuntu 安装 containerd
  • 在线时间戳转换工具
  • chrome inspect 调试遇到的问题
  • 前端取经路——入门取经:初出师门的九个CSS修行
  • 黄金量化:高频实时的贵金属API
  • 系统思考:选择大于努力
  • Linux服务之nginx中高级配置
  • 第一节:Web3开发概述
  • 前端知识-useEffect
  • 使用 ANSYS SIwave 求解器在 ANSYS AEDT 中预测串行通道性能并生成眼图
  • Clojure是啥?
  • Protobuf的速成之旅
  • 从黔西游船侧翻事件看极端天气预警的科技防线——疾风气象大模型如何实现精准防御?
  • GD32F470+CH395Q
  • LabVIEW与 IMAQ Vision 机器视觉应用
  • 深入了解linux系统—— 进程地址空间