package cn.iocoder.yudao.module.product.service.storeproductattrvalue;

import cn.iocoder.yudao.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);

    /**
     * 普通商品 减库存 加销量
     *
     * @param num
     * @param productId
     * @param unique
     * @return
     */
    int decStockIncSales(Integer num, Long productId, String unique);

    /**
     * 普通商品 加库存 减销量
     * @param num 数量
     * @param productId 产品编号
     * @param unique 谓一致
     * @return
     */
    Integer inStockIncSales(Integer num, Long productId, String unique);
}
