package com.ms.biz.service;

import com.ms.biz.bo.ShopBO;
import com.ms.api.dto.dsapi.request.BatchAddPurchaseConfirmLogRequestDTO;
import com.ms.api.dto.dsapi.request.BatchCreateDistributionOrdersRequestDTO;
import com.ms.api.dto.dsapi.request.GetPurchaseOrderItemsAndSourceItemsRequestDTO;
import com.ms.api.dto.dsapi.request.SavePlatformManualSelectedSkuRequestDTO;
import com.ms.api.dto.dsapi.response.*;

import java.util.List;

/**
 * @author elf
 */
public interface DsApiService {
    GetPlatformShopPurchaseSettingResponseDTO getPlatformShopPurchaseSetting(String userId, String platform);
    BatchCreateDistributionOrdersResponseDTO batchCreateDistributionOrders(Long shopId, BatchCreateDistributionOrdersRequestDTO request);
    CommonResponseDTO saveDsManualSelectedSku(SavePlatformManualSelectedSkuRequestDTO request);
    GetPurchaseOrderItemsAndSourceItemsResponseDTO getPurchaseOrderItemsAndSourceItems(GetPurchaseOrderItemsAndSourceItemsRequestDTO request);
    BatchAddDsPurchaseConfirmLogResponseDTO batchAddPurchaseConfirmLog(Long shopId, BatchAddPurchaseConfirmLogRequestDTO request);
    CommonResponseDTO cancelPurchaseOrderRelate(String platform, Long shopId, String orderId, List<Long> skuIds);
    CommonResponseDTO cancelPurchaseOrder(String platform, Long shopId, String orderId, String purchaseOrderSn);
    GetPurchaseOrderPayUrlResponseDTO getPurchaseOrderPayUrl(Long shopId, List<String> sourceOrderIds, String payPlatformType);
    GetPlatformAuthUrlResponseDTO getPlatformAuthUrl(ShopBO shopBO);
    GetSourceItemInfosResponseDTO getSourceItemInfos(Long shopId, List<String> sourceItemIds);
    GetAuthInfoResponseDTO getAuthInfo(Long shopId);
    CheckDsAppAuthExpireResponseDTO checkDsAppAuthExpire(Long shopId, String memberId, String authCode);
    GetAuthShopMemberInfosResponseDTO getAuthShopMemberInfos(Long shopId);
}
