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

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

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

保存菜品

菜品管理页面提供了一个“+新增菜品”按钮,单击该按钮时,会打开新增菜品页面。
在这里插入图片描述
请求路径/dish,请求方法POST,参数使用DishDto类接收。
在这里插入图片描述
在这里插入图片描述

DishDto 添加flavors属性用来接收flavors数据。

@Data
public class DishDto extends Dish {private String categoryName;private List<DishFlavor> flavors;
}

添加菜品口味的通用类

新增菜品信息时,不仅需要新增菜品的基本信息,还需要新增菜品的口味信息,所以也需要操作菜品口味表。因此,需要创建DishFlavor通用类和接口。

@Mapper
public interface DishFlavorMapper extends BaseMapper<DishFlavor> {
}
public interface DishFlavorService extends IService<DishFlavor> {
}
@Service
public class DishFlavorServiceImpl extends ServiceImpl<DishFlavorMapper, DishFlavor> implements DishFlavorService {
}

在DishController类中定义新增菜品的方法

    @PostMappingpublic R<String> save(@RequestBody DishDto dishDto){dishService.saveWithFlavor(dishDto);return R.success("新增菜品成功");}

添加保存菜品和口味的接口

添加saveWithFlavor接口。

public interface DishService extends IService<Dish> {public Page<DishDto> selectDishDtoPage(Page page);public void saveWithFlavor(DishDto dishDto);}

DishServiceImpl 实现类添加实现方法。

    @Autowiredprivate DishFlavorService dishFlavorService;@Transactionalpublic void saveWithFlavor(DishDto dishDto) {//新增菜品的基本信息到菜品表dishthis.save(dishDto);Long dishId = dishDto.getId();//获取菜品id//菜品口味List<DishFlavor> flavors = dishDto.getFlavors();for(DishFlavor flavor:flavors){flavor.setDishId(dishId);}//新增菜品口味数据到菜品口味表dish_flavordishFlavorService.saveBatch(flavors);}

运行测试

输入测试数据

在这里插入图片描述

新增菜品成功

在这里插入图片描述

相关文章:

  • 读论文《Deep learning-assited pulsed discharge plasma catalysis modeling》2023 ECM
  • 在QGraphicsView中精确地以鼠标为锚缩放图片
  • 【Light文献速览】湖南大学超表面高阶庞加莱球偏振检测时钟技术突破
  • EMC isilon/PowerScale 如何收集日志
  • 【神经网络与深度学习】五折交叉验证(5-Fold Cross-Validation)
  • 数据结构 RBT 插入操作的 Python 代码实现
  • 设计模式(行为型)解释器模式
  • 如何免费把PPT的页面输出为透明的图片-快速制作图新说汇报内容
  • 【图论 拓扑排序 bfs】P6037 Ryoku 的探索|普及+
  • Docker的分解分析
  • 鹧鸪云光伏项目智慧施工软件:数字化驱动的光伏建设新范式
  • 量子算法调试:Grover算法搜索空间压缩过程可视化方案
  • elasticsearch底层模块解析与实践系列
  • python程序设习题答案
  • C#核心知识
  • [250428] Nginx 1.28.0 发布:性能优化、安全增强及新特性
  • Typecho博客使用阿里云cdn和oss:handsome主题进阶版
  • 从大众传媒到数字生态:开源AI智能名片链动2+1模式S2B2C商城小程序驱动的营销革命
  • 100天精通Python挑战总览 | 零基础到应用实战!
  • Nature Communications 仿生电子天线:赋予机器人敏锐 “触觉”
  • 湖南华容县通报“大垱湖水质受污染”,爆料者:现场已在灌清水
  • 王毅会见俄罗斯外长拉夫罗夫
  • 借助AI应用,自闭症人群开始有可能真正“读懂他人”
  • 加拿大今日大选:房价、印度移民和特朗普,年轻人在焦虑什么?
  • 人民日报社论:做新时代挺膺担当的奋斗者
  • 点燃“文化活火”,上海百年街区创新讲述“文化三地”故事