package com.sky.mapper; import com.github.pagehelper.Page; import com.sky.annotation.AutoFill; import com.sky.dto.DishPageQueryDTO; import com.sky.entity.Dish; import com.sky.enumeration.OperationType; import com.sky.result.Result; import com.sky.vo.DishItemVO; import com.sky.vo.DishVO; import org.apache.ibatis.annotations.Delete; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import java.util.List; @Mapper public interface DishMapper { /** * 根据分类id查询菜品数量 * @param categoryId * @return */ @Select("select count(id) from dish where category_id = #{categoryId}") Integer countByCategoryId(Long categoryId); /** * 插入菜品数据 * @param dish */ @AutoFill(OperationType.INSERT) void insert(Dish dish); /** * 菜品分页查询 * @param pageQueryDTO * @return */ Page pageQuery(DishPageQueryDTO pageQueryDTO); /** * 根据id查找菜品 * @param id * @return */ @Select("select * from dish where id = #{id}") Dish selectById(Long id); /** * 根据id删除菜品 * @param id */ @Delete("delete from dish where id = #{id}") void deleteById(Long id); /** * 根据菜品ids集合批量删除菜品 * @param ids */ void deleteByIds(List ids); @AutoFill(OperationType.UPDATE) void update(Dish dish); /** * 根据分类id查询菜品 * @param categoryId * @return */ @Select("select * from dish where category_id = #{categoryId} and status = 1") List selectByCategoryId(Long categoryId); List selectByDishIdsAndStatusDisable(List dishIds); List selectDishBySetmealId(Long id); }