package com.bonus.canteen.core.menu.mapper;

import java.util.List;

import com.bonus.canteen.core.menu.domain.MenuDishesEffectRelation;
import com.bonus.canteen.core.menu.domain.MenuNutrition;
import com.bonus.canteen.core.menu.domain.MenuSuitDishes;
import com.bonus.canteen.core.menu.dto.MenuNutritionDTO;

/**
 * 食材营养基础信息Mapper接口
 *
 * @author xsheng
 * @date 2025-04-03
 */
public interface MenuNutritionMapper {
    /**
     * 查询食材营养基础信息
     *
     * @param id 食材营养基础信息主键
     * @return 食材营养基础信息
     */
    public MenuNutrition selectMenuNutritionById(Long id);

    /**
     * 查询食材营养基础信息列表
     *
     * @param menuNutrition 食材营养基础信息
     * @return 食材营养基础信息集合
     */
    public List<MenuNutrition> selectMenuNutritionList(MenuNutrition menuNutrition);

    /**
     * 新增食材营养基础信息
     *
     * @param menuNutrition 食材营养基础信息
     * @return 结果
     */
    public int insertMenuNutrition(MenuNutrition menuNutrition);

    /**
     * 修改食材营养基础信息
     *
     * @param menuNutrition 食材营养基础信息
     * @return 结果
     */
    public int updateMenuNutrition(MenuNutritionDTO menuNutrition);

    /**
     * 删除食材营养基础信息
     *
     * @param id 食材营养基础信息主键
     * @return 结果
     */
    public int deleteMenuNutritionById(Long id);

    /**
     * 批量删除食材营养基础信息
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMenuNutritionByIds(String[] ids);
    /**
     * 根据食材名称查询食材营养基础信息
     *
     * @param menuNutrition 实体
     * @return 食材营养基础信息
     */
        MenuNutrition getOne(MenuNutritionDTO menuNutrition);


        int delSuitDishesBatch(MenuNutritionDTO menuNutritionDTO);

        int  insertMenuSuitDishes(List<MenuSuitDishes> suitDishesList);

        int delDishesEffect(MenuNutritionDTO menuNutritionDTO);

        int insertMenuDishesEffect(List<MenuDishesEffectRelation> effectIdsList);
}
