package com.sky.mapper; import com.github.pagehelper.Page; import com.sky.annotation.AutoFill; import com.sky.dto.SetmealPageQueryDTO; import com.sky.entity.Setmeal; import com.sky.enumeration.OperationType; import com.sky.vo.DishItemVO; import com.sky.vo.SetmealVO; import org.apache.ibatis.annotations.Insert; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Update; import java.util.List; import java.util.Map; @Mapper public interface SetmealMapper { /** * 根据分类id查询套餐的数量 * @param id * @return */ @Select("select count(id) from setmeal where category_id = #{categoryId}") Integer countByCategoryId(Long id); /* * 新增套餐 * */ @AutoFill(OperationType.INSERT) void insert(Setmeal setmeal); Page pageQuery(SetmealPageQueryDTO setmealPageQueryDTO); /* * 根据套餐id获取套餐数据 * */ @Select("select * from setmeal where id = #{id}") Setmeal getById(Long Id); void deleteBatch(List ids); @AutoFill(OperationType.UPDATE) void updateWithDish(Setmeal setmeal); @Update("update setmeal set status = #{status} where id = #{id}") void startOrStop(Setmeal setmeal); /** * 动态条件查询套餐 * @param setmeal * @return */ List list(Setmeal setmeal); /** * 根据套餐id查询菜品选项 * @param setmealId * @return */ @Select("select sd.name, sd.copies, d.image, d.description " + "from setmeal_dish sd left join dish d on sd.dish_id = d.id " + "where sd.setmeal_id = #{setmealId}") List getDishItemBySetmealId(Long setmealId); /** * 根据条件统计套餐数量 * @param map * @return */ Integer countByMap(Map map); }