package com.zd.airbottle.mapper;

import com.zd.airbottle.domain.QpAirGoodsConfig;
import com.zd.airbottle.domain.vo.QpAirGoodsConfigRelationVo;

import java.util.List;

/**
 * 货物配置Mapper接口
 */
public interface QpAirGoodsConfigMapper 
{
    /**
     * 查询货物配置
     * 
     * @param id 货物配置主键
     * @return 货物配置
     */
    QpAirGoodsConfig selectQpAirGoodsConfigById(Long id);

    /**
     * 查询货物配置列表
     * 
     * @param qpAirGoodsConfig 货物配置
     * @return 货物配置集合
     */
    List<QpAirGoodsConfig> selectQpAirGoodsConfigList(QpAirGoodsConfig qpAirGoodsConfig);

    /**
     * 新增货物配置
     * 
     * @param qpAirGoodsConfig 货物配置
     * @return 结果
     */
    int insertQpAirGoodsConfig(QpAirGoodsConfig qpAirGoodsConfig);

    /**
     * 修改货物配置
     * 
     * @param qpAirGoodsConfig 货物配置
     * @return 结果
     */
    int updateQpAirGoodsConfig(QpAirGoodsConfig qpAirGoodsConfig);

    /**
     * 删除货物配置
     * 
     * @param id 货物配置主键
     * @return 结果
     */
    int deleteQpAirGoodsConfigById(Long id);

    /**
     * 批量删除货物配置
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    int deleteQpAirGoodsConfigByIds(Long[] ids);

    /**
     * 批量删除货品配置
     *
     * @param googsIds 需要删除的货品主键集合
     * @return 结果
     */
    int deleteByGoogsIds(Long[] googsIds);

    /**
     * 根据货品ID集合查询货品配置
     * @param googsIds 货品ID集合
     * @return 货品配置集合
     */
    List<QpAirGoodsConfig> getListByGoogsIds(List<Long> googsIds);

    /***
     * 查询供应商条件的气瓶
     */
    List<QpAirGoodsConfigRelationVo> selectQpAirGoodsConfigRelationList(QpAirGoodsConfigRelationVo relationVo);

    /**
     * 根据ID集合查询货品配置
     * @param ids 货品ID集合
     * @return 货品配置集合
     */
    List<QpAirGoodsConfig> getByIds(List<Long> ids);
}
