
package com.tmerclub.cloud.product.mapper;

import com.tmerclub.cloud.product.model.SpuConsignmentChange;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 商家代销商品基本信息相对于供应商品是否改变
 *
 * @author tmerclub
 * @date 2022-08-11 22:21:10
 */
public interface SpuConsignmentChangeMapper {

    /**
     * 获取商家代销商品基本信息相对于供应商品是否改变列表
     * @return 商家代销商品基本信息相对于供应商品是否改变列表
     */
    List<SpuConsignmentChange> list();

    /**
     * 根据商家代销商品基本信息相对于供应商品是否改变id获取商家代销商品基本信息相对于供应商品是否改变
     *
     * @param consignmentChangeId 商家代销商品基本信息相对于供应商品是否改变id
     * @return 商家代销商品基本信息相对于供应商品是否改变
     */
    SpuConsignmentChange getByConsignmentChangeId(@Param("consignmentChangeId") Long consignmentChangeId);

    /**
     * 保存商家代销商品基本信息相对于供应商品是否改变
     * @param spuConsignmentChange 商家代销商品基本信息相对于供应商品是否改变
     */
    void save(@Param("spuConsignmentChange") SpuConsignmentChange spuConsignmentChange);

    /**
     * 更新商家代销商品基本信息相对于供应商品是否改变
     * @param spuConsignmentChange 商家代销商品基本信息相对于供应商品是否改变
     */
    void update(@Param("spuConsignmentChange") SpuConsignmentChange spuConsignmentChange);

    /**
     * 根据商家代销商品基本信息相对于供应商品是否改变id删除商家代销商品基本信息相对于供应商品是否改变
     * @param consignmentChangeId
     */
    void deleteById(@Param("consignmentChangeId") Long consignmentChangeId);

    /**
     * 根据代销商品Id更新商家代销商品基本信息相对于供应商品是否改变
     * @param spuConsignmentChange 商家代销商品基本信息相对于供应商品是否改变
     */
    void updateBySpuId(@Param("spuConsignmentChange") SpuConsignmentChange spuConsignmentChange);

    /**
     * 根据商品id获取商家代销商品基本信息相对于供应商品是否改变
     *
     * @param spuId 商品id
     * @return 商家代销商品基本信息相对于供应商品是否改变
     */
    SpuConsignmentChange getBySpuId(@Param("spuId") Long spuId);

    /**
     * 根据商品id批量获取商家代销商品基本信息相对于供应商品是否改变
     * @param spuIdList
     * @return
     */
    List<SpuConsignmentChange> batchGetBySpuIdList(@Param("spuIdList") List<Long> spuIdList);
}
