package com.hfkj.service.goods;

import com.hfkj.entity.GoodsSpecs;

import java.util.List;
import java.util.Map;

/**
 * @serviceName .java
 * @author Sum1Dream
 * @version 1.0.0
 * @Description // 商品规格管理
 * @createTime 15:07 2024/4/19
 **/
public interface GoodsSpecsService {

    /**
     * @Author Sum1Dream
     * @Name create
     * @Description // 创建
     * @Date 15:11 2024/4/19
     * @Param GoodsSpecs
     * @return void
     */
    void create(GoodsSpecs goodsSpecs);

    /**
     * @Author Sum1Dream
     * @Name update
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param GoodsSpecs
     * @return void
     */
    void update(GoodsSpecs goodsSpecs);

    /**
     * @Author Sum1Dream
     * @Name delete
     * @Description // 修改
     * @Date 15:12 2024/4/19
     * @Param id
     * @return void
     */
    void delete(Long id , Boolean fullDelete);

    /**
     * @Author Sum1Dream
     * @Name queryDetail
     * @Description // 根据ID查询产品类型详情
     * @Date 15:12 2024/4/19
     * @Param id
     * @return com.hfkj.entity.GoodsSpecs
     */
    GoodsSpecs queryDetail(Long id);

    GoodsSpecs queryDetailByGoodsId(Long id);

    /**
     * @Author Sum1Dream
     * @Name queryDetailByMap
     * @Description // 根据多条件查询产品类型
     * @Date 15:12 2024/4/19
     * @Param map
     * @return com.hfkj.entity.GoodsSpecs
     */
    GoodsSpecs queryDetailByMap(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name getList
     * @Description // 根据多条件查询列表
     * @Date 15:13 2024/4/19
     * @Param map
     * @return java.util.List<com.hfkj.entity.GoodsSpecs>
     */
    List<GoodsSpecs> getList(Map<String , Object> map);

    /**
     * @Author Sum1Dream
     * @Name decreaseStockNum
     * @Description // 编辑库存
     * @Date 17:34 2023/4/19
     * @Param [skuId]
     * @Param [num]
     * @Param [type]  1： 增加库存 2： 减少库存
     * @Return void
     */
    void editStockNum(Long specsId , Integer num , Integer type);
    
}
