新增套餐——后端

2024-06-10 18:12
文章标签 新增 套餐

本文主要是介绍新增套餐——后端,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.交互逻辑

        新增套餐,就是将新增页面的套餐信息插入到setmeal表,并向setmeal_dish中插入套餐和菜品关联数据。涉及setmeal, setmeal_dish两张表。

        页面发送ajax请求,请求服务端获取套餐分类数据并展示到下拉框中;获取菜品分类数据并展示到菜品窗口中;根据菜品分类查询对应的菜品数据并展示到添加菜品窗口中;进行图片上传,将图片保存到服务器并进行图片下载,将上传的图片进行回显;点击保存按钮,页面发送ajax请求,将套餐相关数据以json形式提交到服务端。

        服务端需要处理以上页面发送的请求。

2.代码实现

2.1 根据分类查询菜品

    /*** 根据条件查询对应的菜品数据* @param dish* @return*/@GetMapping("/list")public R<List<Dish>> list(Dish dish){//构造查询条件LambdaQueryWrapper<Dish> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(dish.getCategoryId() != null, Dish::getCategoryId, dish.getCategoryId());//添加条件,查询状态为1(起售状态)的菜品queryWrapper.eq(Dish::getStatus, 1);//添加排序条件queryWrapper.orderByAsc(Dish::getSort).orderByDesc(Dish::getUpdateTime);List<Dish> list = dishService.list(queryWrapper);return R.success(list);}

2.2 服务端接收数据并保存

SetmealController.java中:

    /*** 新增套餐* @param setmealDto* @return*/@PostMappingpublic R<String> save(@RequestBody SetmealDto setmealDto){log.info("套餐信息:{}", setmealDto);setmealService.saveWithDish(setmealDto);return R.success("新增套餐成功");}

SetmealServiceImpl.java中:

    @Autowiredprivate SetmealDishService setmealDishService;/*** 新增套餐,同时需要保存套餐和菜品的关联关系* @param setmealDto*/@Transactionalpublic void saveWithDish(SetmealDto setmealDto) {//保存套餐的基本信息,setmeal表this.save(setmealDto);//保存套餐和菜品的关联关系List<SetmealDish> setmealDishes = setmealDto.getSetmealDishes();setmealDishes.stream().map((item) -> {item.setSetmealId(setmealDto.getId());return item;}).collect(Collectors.toList());setmealDishService.saveBatch(setmealDishes);}

这篇关于新增套餐——后端的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1048894

相关文章

Android13_SystemUI下拉框新增音量控制条

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 Android13_SystemUI下拉框新增音量控制条 一、必备知识二、源码分析对比1.brightness模块分析对比2.statusbar/phone 对应模块对比对比初始化类声明对比构造方法 三、源码修改四、相关资源 一、必备知识 在Android12 版本上面已经完成了功能的实现,目前是在And

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

【Git 学习笔记_24】Git 使用冷门操作技巧(四)——更多实用 git 别名设置、交互式新增提交

文章目录 11.8 更多别名设置别名1:只查看当前分支(git b)别名2:以图表形式显示自定义格式的 git 日志(git graph)别名3:查看由于合并分支导致的冲突后仍有冲突的、待合并的文件列表(git unmerged)别名4:查看 git 状态(git st)别名5:查看 git 简要状态(git s)别名6:查看最新版本的统计信息(git l1)别名7:查看最近 5 个版本的提

ant design pro 新增页面

1.在 src/routes/ 下面创建一个页面 // 填写如下内容/** NewPage.js内容 */import React, { Component } from 'react';export default class NewPage extends Component {render() {return (<div>这是新页面</div>)}}/** NewPage.le

Flink新增特性 | CDC(Change Data Capture) 原理和实践应用

点击上方蓝色字体,选择“设为星标” 回复”资源“获取更多资源 大数据技术与架构 点击右侧关注,大数据开发领域最强公众号! 大数据真好玩 点击右侧关注,大数据真好玩! CDC简介 CDC,Change Data Capture,变更数据获取的简称,使用CDC我们可以从数据库中获取已提交的更改并将这些更改发送到下游,供下游使用。这些变更可以包括INSERT,DELETE,UPDATE等。

【硬刚ES】ES入门 (12)Java API 操作(3)DML 新增文档/修改文档/查询文档/删除文档/批量操作

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的ES部分补充。 1 新增文档 创建数据模型 package com.atguigu.es.test;public class User {private String name;private String sex;private Integer age;public String getName() {re

Nexpose 6.6.268 发布下载,新增功能概览

Nexpose 6.6.268 for Linux & Windows - 漏洞扫描 Rapid7 Vulnerability Management, release Sep 04, 2024 请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 新增功能 2024 年 9 月

vue3.5新增特性

1.响应式内部源码优化 2.Props的解构 比较方便设置默认值解构后依旧是响应式 // 子组件const { message = "默认值message", count = 0 } = defineProps({message:String,count: Number})// 编译器会自动对解构变量(message,count)的访问编译到props.count中,因此在访问时会跟踪它

Navicat 17 新特性 | 新增 Redis 哨兵部署模式

随着 Navicat 17 的发布,在业界引起了广泛的共鸣与热议。我们曾深入剖析其众多革新特性,包括新增 PolarDB 与 Garnet、模型设计创新与优化、增强的商业智能 BI 能力、高效的查询与配置、用户界面交互体验再升级,以及原生适配国产平台和操作系统等。这些 17 的新特性实现了 Navicat 工具全面升级。今日,小编带您探索17 的另一大功能亮点—全新引入的Redis哨兵部署模式,为

附送试听地址!OpenAI ChatGPT被曝将新增8种语音!英特尔酷睿Ultra 200V正式发布|AI日报

文章推荐 如人类交流一样丝滑!讯飞星火版「Her」正式上线!成立仅16月的无问芯穹完成近5亿元A轮融资|AI日报 8款国内外免费AI生成视频工具对比实测!我们真的可以做到“一人搞定一部影视作品“吗? 今日热点 Sam Altman等OpenAI高管与投资者会面,以推进在美国建设人工智能基础设施 OpenAI Sam Altman今年早些时候一直在寻求美国政府对该项目的支持,该项目旨在组建