package com.qdb.sdk.api;

import com.qdb.sdk.QdbClient;
import com.qdb.sdk.QdbException;
import com.qdb.sdk.model.request.OrderSaveRequest;
import com.qdb.sdk.model.response.QdbResponse;

/**
 * 订单管理 API
 * <p>
 * 提供订单上传、查询、发货等接口的调用封装。
 * 对应文档：04-订单管理.md
 * </p>
 *
 * @author qdb-sdk
 * @version 1.0.0
 */
public class OrderApi extends BaseQdbApi {

    /** 订单上传 */
    private static final String METHOD_ORDER_SAVE = "foonsu.erp.orders.save";

    public OrderApi(QdbClient client) {
        super(client);
    }

    /**
     * 订单上传
     * <p>
     * 上传订单到企得宝ERP（仅支持自建商城平台店铺）。
     * 订单上传成功后，需要店铺开启自动下单或者订单审核页面手动拉单进系统。
     * </p>
     *
     * @param request 订单上传请求参数
     * @return 响应对象（data 为 null）
     * @throws QdbException 调用失败时抛出
     */
    public QdbResponse<Void> saveOrder(OrderSaveRequest request) throws QdbException {
        return execute(METHOD_ORDER_SAVE, request);
    }
}
