package com.sky.service.impl; import com.sky.dto.SetmealDTO; import com.sky.entity.Setmeal; import com.sky.entity.SetmealDish; import com.sky.mapper.DishMapper; import com.sky.mapper.SetMealDishMapper; import com.sky.mapper.SetmealMapper; import com.sky.service.SetmealService; import com.sky.vo.DishItemVO; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; /** * 套餐业务实现 */ @Service @Slf4j public class SetmealServiceImpl implements SetmealService { @Resource private SetmealMapper setmealMapper; @Resource private SetMealDishMapper setmealDishMapper; @Resource private DishMapper dishMapper; /** * 条件查询 * * @param setmeal Setmeal * @return List */ public List list(Setmeal setmeal) { return setmealMapper.list(setmeal); } /** * 根据id查询菜品选项 * * @param id Long * @return List */ public List getDishItemById(Long id) { return setmealMapper.getDishItemBySetmealId(id); } /** * 新增套餐,同时需要保存套餐和菜品的关联关系 * * @param setmealDTO SetmealDTO */ @Override public void saveWithDish(SetmealDTO setmealDTO) { Setmeal setmeal = new Setmeal(); BeanUtils.copyProperties(setmealDTO, setmeal); // 向套餐表插入数据 setmealMapper.insert(setmeal); // 获取生成的套餐id Long setmealId = setmeal.getId(); List setmealDishes = setmealDTO.getSetmealDishes(); setmealDishes.forEach(setmealDish -> { setmealDish.setSetmealId(setmealId); }); // 保存套餐和菜品的关联关系 setmealDishMapper.insertBatch(setmealDishes); } }