添加菜品接口
- 前言
- 效果图
- 1、菜品分类查询接口
- 2、上传图片和下载图片
- 3、创建接收数据的Dto
- 4、创建提交的方法
前言
本项目gitee位置:gitee网址
本篇文章是学习了添加菜品的总结,其中包括菜品分类的接口,图片上传接口,数据整体上传等接口
效果图
1、菜品分类查询接口
和之前不同的是之前分页查询,不过分页构造器,通过类型判断获取数据
/*** 获取菜品分类列表* @param category* @return*/@GetMapping("list")public R<List<Category>> list(Category category){
// 添加条件构造器LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();queryWrapper.eq(category.getType()!=null,Category::getType,category.getType());queryWrapper.orderByAsc(Category::getSort).orderByDesc(Category::getUpdateTime);List<Category> list = categoryService.list(queryWrapper);return R.success(list);}
2、上传图片和下载图片
上传图片和下载图片文章链接
3、创建接收数据的Dto
我们需要接收的参数,会发现菜品中没有存储口味的字段,所以需要创建一个dto用来继承菜品表创建口味表从而实现数据的接收
4、创建提交的方法
两张表通过dishid来关联的所以需要将id和附给dishid
package com.example.ruiji_demo.service.impl;import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.example.ruiji_demo.dto.DishDto;
import com.example.ruiji_demo.entity.Dish;
import com.example.ruiji_demo.entity.DishFlavor;
import com.example.ruiji_demo.mapper.DishMapper;
import com.example.ruiji_demo.service.DishFlavorService;
import com.example.ruiji_demo.service.DishService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;import java.util.List;
import java.util.stream.Collectors;/*** @author jitwxs* @date 2024年04月03日 15:53*/
@Slf4j
@Service
public class DishServiceImpl extends ServiceImpl<DishMapper, Dish> implements DishService {
// 引入相关的表@Autowiredprivate DishFlavorService dishFlavorService;// 新增菜品的方法/*** 由于是多张表需要加入事务控制* @param dishDto*/@Transactionalpublic void saveWithFlavor(DishDto dishDto){this.save(dishDto);Long dishId = dishDto.getId();List<DishFlavor> flavors = dishDto.getFlavors();flavors = flavors.stream().map((item)->{item.setDishId(dishId);return item;}).collect(Collectors.toList());dishFlavorService.saveBatch(flavors);}
}