package com.sz.admin.system.service;

import com.mybatisflex.core.service.IService;
import com.sz.admin.system.pojo.po.Product;
import com.sz.core.common.entity.SelectIdsDTO;
import com.sz.core.common.entity.PageResult;

import java.util.List;

import com.sz.admin.system.pojo.dto.ProductCreateDTO;
import com.sz.admin.system.pojo.dto.ProductUpdateDTO;
import com.sz.admin.system.pojo.dto.ProductListDTO;
import com.sz.admin.system.pojo.vo.ProductVO;
import com.sz.core.common.entity.ImportExcelDTO;
import jakarta.servlet.http.HttpServletResponse;

/**
 * <p>
 * 商品信息表 Service
 * </p>
 *
 * @author Lz
 * @since 2026-01-22
 */
public interface ProductService extends IService<Product> {

    void create(ProductCreateDTO dto);

    void update(ProductUpdateDTO dto);

    PageResult<ProductVO> page(ProductListDTO dto);

    List<ProductVO> list(ProductListDTO dto);

    void remove(SelectIdsDTO dto);

    ProductVO detail(Object id);

    void importExcel(ImportExcelDTO dto);

    void exportExcel(ProductListDTO dto, HttpServletResponse response);
}