package com.erp.platformsync.service;

import com.erp.platformsync.dto.PlatformSyncRequest;
import com.erp.platformsync.dto.PullOrdersResponse;

import java.util.List;

/**
 * 平台同步服务接口
 */
public interface PlatformSyncService {

    /**
     * 同步订单状态到平台
     * @param request 同步请求
     * @return 同步结果
     */
    SyncResult syncOrderToPlatform(PlatformSyncRequest request);

    /**
     * 从平台拉取订单列表
     * @param platform 平台编码
     * @param shopId 店铺ID
     * @param pullType 拉取类型: all-全量, increment-增量
     * @param orderIds 指定订单ID列表（可选）
     * @param startTime 开始时间（可选）
     * @param endTime 结束时间（可选）
     * @return 拉取的订单列表
     */
    List<PullOrdersResponse.PullOrderItem> pullOrdersFromPlatform(String platform, Long shopId, String pullType,
                                                                   String orderIds, String startTime, String endTime);

    /**
     * 同步结果
     */
    record SyncResult(boolean success, String message, String platformOrderSn) {}
}
