package com.jeesharp.business.modules.food.mapper;

import com.jeesharp.business.modules.food.entity.FoodPackage;
import com.jeesharp.business.modules.food.vo.FoodPackageQueryVO;
import com.jeesharp.framework.mybatis.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 美食套餐 Mapper；扣减库存 SQL 见同包 {@code xml/FoodPackageMapper.xml}。
 *
 * @author jeesharp
 * @since 2026-05-18
 */
@Mapper
public interface FoodPackageMapper extends BaseMapper<FoodPackage, FoodPackageQueryVO> {

    /**
     * 条件扣减可售份数。
     *
     * @param id       套餐主键
     * @param quantity 扣减份数
     * @return 影响行数（0 或 1）
     */
    int decrementAvailableQuantity(@Param("id") String id, @Param("quantity") int quantity);

    /**
     * 按主键批量查询（展示补全用，走 XML 避免租户插件过滤 NULL 租户主数据）。
     */
    List<FoodPackage> selectByIds(@Param("ids") List<String> ids);
}
