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

import java.util.List;

import com.bonus.canteen.core.menu.domain.MenuNutritionType;
import com.bonus.canteen.core.menu.vo.NutritionTypeV2VO;
import org.apache.ibatis.annotations.Select;

/**
 * 营养基础类型Mapper接口
 *
 * @author xsheng
 * @date 2025-04-03
 */
public interface MenuNutritionTypeMapper {
    /**
     * 查询营养基础类型
     *
     * @param id 营养基础类型主键
     * @return 营养基础类型
     */
    public MenuNutritionType selectMenuNutritionTypeById(Long id);

    /**
     * 查询营养基础类型列表
     *
     * @param menuNutritionType 营养基础类型
     * @return 营养基础类型集合
     */
    public List<MenuNutritionType> selectMenuNutritionTypeList(MenuNutritionType menuNutritionType);

    /**
     * 新增营养基础类型
     *
     * @param menuNutritionType 营养基础类型
     * @return 结果
     */
    public int insertMenuNutritionType(MenuNutritionType menuNutritionType);

    /**
     * 修改营养基础类型
     *
     * @param menuNutritionType 营养基础类型
     * @return 结果
     */
    public int updateMenuNutritionType(MenuNutritionType menuNutritionType);

    /**
     * 删除营养基础类型
     *
     * @param id 营养基础类型主键
     * @return 结果
     */
    public int deleteMenuNutritionTypeById(Long id);

    /**
     * 批量删除营养基础类型
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteMenuNutritionTypeByIds(Integer[] ids);

    List<MenuNutritionType> selectBigTypeList();

    List<NutritionTypeV2VO> selectLittleTypeList(String parentId);


    MenuNutritionType getOne(MenuNutritionType menuNutritionType);

    MenuNutritionType getParentOne(MenuNutritionType menuNutritionType);

    int checkIsExistRelation(Integer id);
}
