当前位置: 首页 > 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"后,单击“保存”按钮。
在这里插入图片描述

相关文章:

  • 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
  • 系统思考:选择大于努力
  • 马克思主义理论研究教学名师系列访谈|鲍金:给予学生一碗水、自己就要有一桶水
  • 巴基斯坦所有主要城市宣布进入紧急状态,学校和教育机构停课
  • 蓝佛安:中方将采取更加积极有为的宏观政策,有信心实现今年5%左右增长目标
  • 五一假期上海两大机场客流量超193万人次,创历年同期最高
  • 法国宣布投资1亿欧元吸引外国科研人员
  • 余姚警方通报:一司机未悬挂车牌,事故现场就地粘贴安装