/// <summary> /// 商品类目 /// </summary> /// <param name="info"></param> /// <returns></returns> public List <Product> QueryShopCatsInfo(ShipInfo info) { ITopClient client = new DefaultTopClient(url, info.AppKey, info.AppSecret); var pageIndex = 1L; ProductsGetResponse rsp = null; var list = new List <Product>(); try { ProductsGetRequest req = new ProductsGetRequest { Fields = "product_id,tsc,cat_name,name", }; rsp = client.Execute(req, info.SessionKey); pageIndex++; if (!rsp.IsError) { list.AddRange(rsp.Products); } } catch (Exception e) { } return(list); }
public async void TestProductsGetRequest() { var products = await ProductsCreateTest.CreateDefaultProductsIfNotExitsAsync(); int pageSize = 2; ProductsGetRequest request = new ProductsGetRequest(page: 1, pageSize: pageSize, totalRequired: true); var response = await TestHarness.client().Execute(request); Assert.Equal(200, (int)response.StatusCode); ProductCollection retrievedProductCollection = response.Result <ProductCollection>(); Assert.NotNull(retrievedProductCollection); Assert.Equal(pageSize, retrievedProductCollection.Products.Count); Assert.True(retrievedProductCollection.TotalItems.Value > pageSize); Assert.NotNull(retrievedProductCollection.Links); }
public async Task <IEnumerable <IProductState> > GetAsync(ICriterion filter, IList <string> orders = null, int firstResult = 0, int maxResults = int.MaxValue, IList <string> fields = null) { IEnumerable <IProductState> states = null; var q = new ProductsGetQuery(); q.FirstResult = firstResult; q.MaxResults = maxResults; q.Sort = ProductProxyUtils.GetOrdersQueryValueString(orders); q.Fields = ProductProxyUtils.GetReturnedFieldsQueryValueString(fields, QueryFieldValueSeparator); q.Filter = ProductProxyUtils.GetFilterQueryValueString(filter); var req = new ProductsGetRequest(); req.Query = q; var resp = await _ramlClient.Products.Get(req); ProductProxyUtils.ThrowOnHttpResponseError(resp); states = (resp.Content == null) ? null : resp.Content.Select(e => e.ToProductState()); return(states); }