
package com.tmerclub.cloud.api.product.feign;

import com.tmerclub.cloud.api.product.bo.PlatformCommissionOrderItemBO;
import com.tmerclub.cloud.api.product.dto.CategoryShopDTO;
import com.tmerclub.cloud.common.response.ServerResponseEntity;

import java.util.List;

/**
 * @author tmerclub
 * @date 2021/5/24
 */
public interface CategoryShopFeignClient {


    /**
     * 根据分类，店铺，获取订单项的佣金比例
     * @param platformCommissionOrderItems 订单项平台佣金需要的参数
     * @return 订单项佣金比例
     */
    ServerResponseEntity<List<PlatformCommissionOrderItemBO>> calculatePlatformCommission(List<PlatformCommissionOrderItemBO> platformCommissionOrderItems);


    /**
     * 根据店铺id获取有相同分类的供应商
     * @param shopId 店铺id
     * @return 供应商ids
     */
    ServerResponseEntity<List<Long>> getSupplierIdsByShopId(Long shopId);

    /**
     * 根据店铺id获取所有分类ids
     * @param shopId 店铺id
     * @param sysType
     * @return 所有分类ids
     */
    ServerResponseEntity<List<Long>> getCategoryIdsByShopId(Long shopId, Integer sysType);

    /**
     * 根据店铺id批量保存分类签约信息
     * @param categoryShopDTOList
     * @param shopId
     * @param sysType
     * @return
     */
    ServerResponseEntity<Void> insertBatchByShopId(List<CategoryShopDTO> categoryShopDTOList, Long shopId, Integer sysType);

    /**
     * 根据店铺id获取绑定的平台一级分类
     * @param shopId
     * @param lang
     * @param sysType
     * @return
     */
    ServerResponseEntity<List<Long>> getOneCategoryIdByShopId(Long shopId, Integer sysType, Integer lang);

    /**
     * 根据分类id集合获取供应商id
     * @param categoryIds
     * @return
     */
    ServerResponseEntity<List<Long>> getSupplyIdByCategoryIds(List<Long> categoryIds);

}
