package cn.iocoder.yudao.module.system.service.dishesnutrition;

import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.system.controller.admin.dishesnutrition.vo.DishesNutritionPageReqVO;
import cn.iocoder.yudao.module.system.controller.admin.dishesnutrition.vo.DishesNutritionSaveReqVO;
import cn.iocoder.yudao.module.system.dal.dataobject.dishesnutrition.DishesNutritionDO;

import javax.validation.*;
import java.util.List;

/**
 * 菜品营养 Service 接口
 *
 * @author 开发账号
 */
public interface DishesNutritionService {

    /**
     * 创建菜品营养
     *
     * @param createReqVO 创建信息
     * @return 编号
     */
    Long createDishesNutrition(@Valid DishesNutritionSaveReqVO createReqVO);
    Long createDishesNutritionList(@Valid List<DishesNutritionSaveReqVO> createReqVO);

    /**
     * 更新菜品营养
     *
     * @param updateReqVO 更新信息
     */
    void updateDishesNutrition(@Valid DishesNutritionSaveReqVO updateReqVO);

    void updateDishesNutritionList(@Valid List<DishesNutritionSaveReqVO> updateReqVO);

    /**
     * 删除菜品营养
     *
     * @param id 编号
     */
    void deleteDishesNutrition(Long id);

    /**
     * 获得菜品营养
     *
     * @param id 编号
     * @return 菜品营养
     */
    DishesNutritionDO getDishesNutrition(Long id);

    /**
     * 获得菜品营养分页
     *
     * @param pageReqVO 分页查询
     * @return 菜品营养分页
     */
    PageResult<DishesNutritionDO> getDishesNutritionPage(DishesNutritionPageReqVO pageReqVO);
    /**
     * @Description:  获得菜品营养集合
     * @Author: qjq
     * @Date: 2024/4/2 10:28
     * @return
     */
     List<DishesNutritionDO>getDishesNutritionList(DishesNutritionPageReqVO pageReqV);
     String getDishesNutritionKcal(Long dishesId);
}