public GoodsSelectedModel GetGoodsInfo(string goodsId) { ITopClient client = new DefaultTopClient(url, appkey, appsecret); TbkItemInfoGetRequest req = new TbkItemInfoGetRequest(); req.Fields = "num_iid,title,pict_url,small_images,reserve_price,zk_final_price,user_type,provcity,item_url"; req.Platform = 1L; req.NumIids = goodsId; TbkItemInfoGetResponse rsp = client.Execute(req); if (!rsp.IsError) { List <NTbkItem> data = rsp.Results; if (data != null && data.Count() > 0) { NTbkItem item = data[0]; GoodsSelectedModel model = new GoodsSelectedModel() { goodsId = item.NumIid.ToString(), goodsName = item.Title, goodsPrice = Convert.ToDecimal(item.ZkFinalPrice), goodsDetailUrl = item.ItemUrl, goodsImageUrl = item.PictUrl, goodsSalesAmount = Convert.ToInt32(item.Volume), }; return(model); } } return(null); }
public async Task <ProductDetailResponse> ProductDetail(ProductDetailRequest request) { var detailTask = taobaoApiDataRepository.GetProductDetail(request); var imageTask = taobaoApiDataRepository.GetProductDescx(request); return(await Task.WhenAll(detailTask, imageTask).ContinueWith(tasks => { TbkDetailInfo apiDetail = detailTask.Result; if (null != detailTask && !string.IsNullOrWhiteSpace(apiDetail.NumIid)) { return new ProductDetailResponse() { Details = imageTask.Result, SPLM = apiDetail.CategoryId, SPMC = apiDetail.Title, Images = apiDetail.Images, Evaluates = apiDetail.Evaluates, DPMC = apiDetail.ShopName, DPZT = apiDetail.ShopIcon }; } else { NTbkItem sdkDetail = taobaoSdkDataRepository.GetDetail(request.ProductId); if (sdkDetail == null) { return new ProductDetailResponse(); } sdkDetail.SmallImages.Insert(0, sdkDetail.PictUrl); return new ProductDetailResponse() { SPMC = sdkDetail.Title, Images = sdkDetail.SmallImages?.Select(item => ToolUtils.GetThumbnail(item, size: ""))?.ToList(), Details = imageTask.Result }; } })); }