package com.yc.ship.module.product.api;

import com.yc.ship.framework.common.pojo.CommonResult;
import com.yc.ship.module.product.api.dto.*;
import io.swagger.v3.oas.annotations.tags.Tag;

import java.util.Collection;
import java.util.List;

@Tag(name = "API 服务 - 订单")
public interface ProductApi {


    List<ProductSpuRespDTO> getProductListByTenantId( Long tenantId);

    List<ProductSpuRespDTO> getAllProductList();

    List<ProductSpuRespDTO> getProductList(Collection<Long> ids);


    CommonResult<ProductCheckChannelRespDTO> getProductCheckChannel(Long productBaseId, Long channelId);

    CommonResult<ProductBaseRespDTO> getProductBaseById(Long baseId);
    CommonResult<ProductSpuRespDTO> getCalendarProduct(Long id,String useDate);

    CommonResult<ProductSpuRespDTO> getCalendarProduct(Long id, String useDate, Long routePlanId);

    CommonResult<ProductSpuRespDTO> getProduct(Long id);

    CommonResult<CategoryRespDTO> getCategory(Long id);

    VoyageRespDTO getVoyage(Long id);

    CommonResult<List<CategoryRespDTO>> getCategoryListByIds(Integer type, List<Long> ids);
}
