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);
        }
Ejemplo n.º 2
0
        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
                    };
                }
            }));
        }