package com.ruoyi.web.modules.goods.service;

import java.util.List;
import java.util.Map;
import com.ruoyi.web.modules.goods.domain.BizGoods;
import com.ruoyi.web.modules.goods.dto.GoodsAuditDTO;
import com.ruoyi.web.modules.goods.dto.GoodsBatchIdsDTO;
import com.ruoyi.web.modules.goods.dto.GoodsOffShelfDTO;
import com.ruoyi.web.modules.goods.dto.GoodsSaveDTO;
import com.ruoyi.web.modules.goods.vo.GoodsDetailVO;
import com.ruoyi.web.modules.goods.vo.GoodsListVO;

/**
 * 商品服务
 */
public interface IGoodsService
{
    List<GoodsListVO> selectPlatformList(BizGoods query);

    int countPlatformPending();

    List<GoodsListVO> selectSellerList(Long shopId, BizGoods query);

    GoodsDetailVO selectPlatformDetail(Long goodsId);

    GoodsDetailVO selectSellerDetail(Long shopId, Long goodsId);

    Long insertSellerGoods(Long shopId, GoodsSaveDTO dto, String operator);

    void updateSellerGoods(Long shopId, GoodsSaveDTO dto, String operator);

    Map<String, Object> submitGoods(Long shopId, Long goodsId, String operator);

    void submitGoodsBatch(Long shopId, GoodsBatchIdsDTO dto, String operator);

    void auditGoods(GoodsAuditDTO dto, String operator);

    void offShelfPlatform(GoodsOffShelfDTO dto, String operator);

    void offShelfSeller(Long shopId, Long goodsId, String operator);

    void offShelfSellerBatch(Long shopId, GoodsOffShelfDTO dto, String operator);

    void deleteSellerGoods(Long shopId, Long goodsId, String operator);

    void deleteSellerGoodsBatch(Long shopId, GoodsBatchIdsDTO dto, String operator);
}
