package com.erp.product.service;

import com.erp.product.dto.*;
import com.erp.product.entity.Goods;

import java.util.List;

/**
 * 商品服务接口
 */
public interface GoodsService {
    
    /**
     * 获取商品列表（分页）
     */
    GoodsListResponse listGoods(GoodsListRequest request);
    
    /**
     * 获取所有商品（用于下拉选择）
     */
    List<GoodsDTO> listAllGoods(String type);
    
    /**
     * 获取商品详情
     */
    GoodsDTO getGoodsById(Long id);
    
    /**
     * 创建商品
     */
    Long createGoods(CreateGoodsRequest request);
    
    /**
     * 更新商品
     */
    void updateGoods(Long id, UpdateGoodsRequest request);
    
    /**
     * 删除商品
     */
    void deleteGoods(Long id);
    
    /**
     * 生成商品编码
     */
    String generateGoodsCode();
    
    /**
     * 检查商品是否被组套商品引用
     */
    boolean isReferencedByCombo(Long goodsId);
}
