package com.qdb.sdk.api;

import com.alibaba.fastjson2.TypeReference;
import com.qdb.sdk.QdbClient;
import com.qdb.sdk.QdbException;
import com.qdb.sdk.model.request.ShopQueryRequest;
import com.qdb.sdk.model.response.QdbResponse;
import com.qdb.sdk.model.response.ShopPageResult;

/**
 * 基础资料 - 店铺管理 API
 * <p>
 * 提供店铺查询等接口的调用封装。
 * 对应文档：01-基础资料.md
 * </p>
 *
 * @author qdb-sdk
 * @version 1.0.0
 */
public class ShopApi extends BaseQdbApi {

    /** 店铺查询 */
    private static final String METHOD_SHOP_INFO = "foonsu.erp.shop.shopInfo";

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

    /**
     * 查询店铺信息
     * <p>
     * 返回 ERP 系统中的店铺列表，支持分页和多种筛选条件。
     * </p>
     *
     * @param request 查询请求参数
     * @return 包含分页结果的响应对象
     * @throws QdbException 调用失败时抛出
     */
    public QdbResponse<ShopPageResult> queryShopInfo(ShopQueryRequest request) throws QdbException {
        return execute(METHOD_SHOP_INFO, request, new TypeReference<ShopPageResult>() {});
    }
}
