package com.ghy.goods.mapper;

import com.ghy.goods.domain.GoodsStandard;
import com.ghy.goods.request.AppGoodsRequest;
import org.apache.ibatis.annotations.Param;

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

/**
 * 商品规格
 *
 * @author clunt
 */
public interface GoodsStandardMapper {

    /**
     * @param goodsStandardId 规格id
     * @return 规格实体
     */
    GoodsStandard selectById(Long goodsStandardId);

    /**
     * @param goodsStandardIds 规格id集合
     * @return 规格集合
     */
    List<GoodsStandard> selectByIds(Collection<Long> goodsStandardIds);

    /**
     * @param goodsId 商品id
     * @return 所有规格集合
     */
    List<GoodsStandard> selectByGoodsId(Long goodsId);

    List<GoodsStandard> selectByGoodsStandardId(Long goodsStandardId);

    /**
     * @param goodsStandardList 批量添加商品规格
     * @return 添加成功条数
     */
    int batchInsert(@Param("goodsStandards") List<GoodsStandard> goodsStandardList);

    /**
     * @param request 校验的商品数量
     * @return 返回结果
     */
    List<GoodsStandard> checkStore(AppGoodsRequest request);

    /**
     * 用商品ID删除商品规格
     *
     * @param goodsId 商品ID
     */
    int deleteByGoodsId(Long goodsId);
}
