package co.yixiang.yshop.module.product.service.storeproductattrvalue;

import co.yixiang.yshop.module.product.controller.admin.storeproduct.vo.CampaignSkuRespVO;
import co.yixiang.yshop.module.product.dal.dataobject.storeproductattrvalue.StoreProductAttrValueDO;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Collection;
import java.util.List;

/**
 * 商品属性值 Service 接口
 *
 * @author yshop
 */
public interface StoreProductAttrValueService extends IService<StoreProductAttrValueDO> {


    /**
     * 删除商品属性值
     *
     * @param id 编号
     */
    void deleteStoreProductAttrValue(Long id);

    /**
     * 获得商品属性值
     *
     * @param id 编号
     * @return 商品属性值
     */
    StoreProductAttrValueDO getStoreProductAttrValue(Long id);

    /**
     * 获得商品属性值列表
     *
     * @param ids 编号
     * @return 商品属性值列表
     */
    List<StoreProductAttrValueDO> getStoreProductAttrValueList(Collection<Long> ids);

    List<StoreProductAttrValueDO> getStoreProductAttrValueListByUniques(Collection<String> productAttrUniques);

    /**
     * 通过商品id集合获得商品属性值列表
     *
     * @param productIds 商品id集合
     * @return 商品属性值列表
     */
    List<StoreProductAttrValueDO> getStoreProductAttrValueByProductIds(List<Long> productIds);

}
