package com.ghy.goods.mapper;

import com.ghy.goods.domain.Goods;

import java.util.List;

/**
 * @author clunt
 * 商品的mapper层
 */
public interface GoodsMapper {

    /**
     * @param goods 商品属性
     * @return 成功条数
     */
    public int insertGoods(Goods goods);

    /**
     * @param goods 商品属性
     * @return 成功条数
     */
    public int updateGoods(Goods goods);

    /**
     * @param goods 商品入参
     * @return 商品集合
     */
    public List<Goods> selectGoodsList(Goods goods);


    /**
     * @param goodsId 商品id
     * @return 商品
     */
    public Goods selectById(Long goodsId);

    /**
     * 批量删除商品信息
     *
     * @param goodsId 需要删除的数据ID
     * @return 结果
     */
    public int deleteGoodsByIds(Long[] goodsId);

    /**
     * @param goodsName 商品名称
     * @return 商品信息
     */
    public Goods checkGoodsNameUnique(String goodsName);

    /**
     * @param goodsCode 商品编码
     * @return 商品信息
     */
    public Goods checkGoodsCodeUnique(String goodsCode);

    /**
     * 用商品类别ID查询一条商品信息
     * 一般用于校验商品类别是否正在被使用
     *
     * @param goodsCategoryId 设备类别ID
     * @return 商品信息
     */
    Goods selectOneByGoodsCategoryId(Long goodsCategoryId);
}
