package com.erp.tenant.service.goods;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.erp.tenant.entity.goods.Goods;

/**
 * 租户端商品服务接口
 */
public interface GoodsService {

    /**
     * 商品分页列表
     */
    IPage<Goods> getGoodsPage(Long tenantId, String keyword, Long categoryId,
                               Long brandId, Integer status,
                               int page, int pageSize);

    /**
     * 商品详情
     */
    Goods getGoodsDetail(Long tenantId, Long goodsId);

    /**
     * 上架商品
     */
    boolean putOnSale(Long tenantId, Long goodsId);

    /**
     * 下架商品
     */
    boolean putOffSale(Long tenantId, Long goodsId);

    /**
     * 批量上架
     */
    int batchPutOnSale(Long tenantId, java.util.List<Long> ids);

    /**
     * 批量下架
     */
    int batchPutOffSale(Long tenantId, java.util.List<Long> ids);

    /**
     * 商品统计
     */
    GoodsStats getGoodsStats(Long tenantId);

    class GoodsStats {
        public Long total;
        public Long onSale;
        public Long offSale;
    }
}
