예제 #1
0
        /// <summary>
        /// 获取淘宝店铺库存商品
        /// </summary>
        /// <returns>返回店铺仓库中的商品数量</returns>
        public int GetInventoryTaoShop()
        {
            ITopClient client            = new DefaultTopClient(Url, Appkey, Appsecret);
            ItemsInventoryGetRequest req = new ItemsInventoryGetRequest();

            req.Fields = "num_iid";
            ItemsInventoryGetResponse response = client.Execute(req, Sessionkey);
            int temp = GetNumParms(response.TotalResults);

            return(temp);
        }
예제 #2
0
        /// <summary>
        /// 获取淘宝店铺库存商品
        /// </summary>
        /// <param name="page">淘宝的分页序号</param>
        /// <param name="pageSize">淘宝分页每页显示的数量</param>
        /// <returns>返回店铺仓库中的商品</returns>
        public List <Top.Api.Domain.Item> GetInventoryTaoShop(int page, int pageSize)
        {
            ITopClient client            = new DefaultTopClient(Url, Appkey, Appsecret);
            ItemsInventoryGetRequest req = new ItemsInventoryGetRequest();

            req.Fields   = "approve_status,num_iid,title,nick,type,cid,pic_url,num,props,valid_thru,list_time,price,has_discount,has_invoice,has_warranty,has_showcase,modified,delist_time,postage_id,seller_cids,outer_id";
            req.PageNo   = page;
            req.PageSize = pageSize;
            ItemsInventoryGetResponse  response = client.Execute(req, Sessionkey);
            List <Top.Api.Domain.Item> saleList = response.Items;

            return(saleList);
        }
예제 #3
0
        //得到卖家仓库中的商品
        public List <Item> GetInventoryGoods(ItemsInventoryGetRequest req)
        {
            var tContext = InstanceLocator.Current.GetInstance <AuthorizedContext>();

            ItemsInventoryGetResponse response = _client.Execute(req, tContext.SessionKey);

            if (response.IsError)
            {
                var ex = new TopResponseException(response.ErrCode, response.ErrMsg, response.SubErrCode,
                                                  response.SubErrMsg, response.TopForbiddenFields);

                _log.LogError(Resource.Log_GetInventoryGoodsFailure, ex);

                throw ex;
            }

            return(response.Items);
        }
예제 #4
0
        public static Dictionary <string, Item> SearchAll(string status, string reqName, bool isnum_iid, string strMainWord, string sellerCat, SellerInfoEntity sellerinfo, int useplatform)
        {
            TxtLog.WriteLine("getItemListErrorLog", sellerinfo.strUserNick + ":" + sellerinfo.strUserId + "===" + status + " ::" + sellerinfo.top_session);
            Dictionary <string, Item> itemDic    = new Dictionary <string, Item>();
            StringBuilder             strbNumIid = new StringBuilder();
            long totalResults = 0; //宝贝总数
            int  pageNo       = 0; //api查询页码
            int  pageNo2      = 0; //api查询页码

            status = status == "3" ? null : status;
            if (string.IsNullOrWhiteSpace(status))
            {
                #region 获取出售中的商品
                do
                {
                    pageNo++;
                    ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest();
                    req.Fields   = reqName;
                    req.PageSize = 200L;
                    req.PageNo   = Convert.ToInt64(pageNo);
                    req.OrderBy  = "list_time:asc";
                    if (strMainWord.Length > 0)
                    {
                        req.Q = strMainWord;
                    }
                    if (sellerCat.Trim().Length > 0)
                    {
                        req.SellerCids = sellerCat;
                    }
                    ItemsOnsaleGetResponse response = TopClient.Execute <ItemsOnsaleGetResponse>(req, sellerinfo.top_session, (TopClient.CrmPlatForm)useplatform);
                    if (response.IsError)
                    {
                        TxtLog.WriteLine("getItemListErrorLog", sellerinfo.strUserNick + ":" + sellerinfo.strUserId + "=== :出现异常:" + response.Body);
                    }
                    else
                    {
                        TxtLog.WriteLine("getItemListErrorLog", sellerinfo.strUserNick + ":" + sellerinfo.strUserId + "=== :出现异常:" + response.Body);
                        totalResults = response.TotalResults;
                        foreach (Item item in response.Items.Where(item => !itemDic.ContainsKey(item.NumIid.ToString())))
                        {
                            if (isnum_iid)
                            {
                                strbNumIid.Append(item.NumIid.ToString() + ",");
                            }
                            else
                            {
                                itemDic.Add(item.NumIid.ToString(), item);
                            }
                        }
                    }
                } while (totalResults > pageNo * 200);
                #endregion
                #region 获取仓库中的商品
                do
                {
                    pageNo2++;
                    ItemsInventoryGetRequest req = new ItemsInventoryGetRequest
                    {
                        Fields   = reqName,
                        PageSize = 200,
                        PageNo   = pageNo2
                    };
                    if (strMainWord.Length > 0)
                    {
                        req.Q = strMainWord;
                    }
                    if (sellerCat.Trim().Length > 0)
                    {
                        req.SellerCids = sellerCat;
                    }
                    ItemsInventoryGetResponse response = TopClient.Execute(req, sellerinfo.top_session, (TopClient.CrmPlatForm)useplatform);
                    if (response.IsError)
                    {
                        TxtLog.WriteLine("getItemListErrorLog", sellerinfo.strUserNick + ":" + sellerinfo.strUserId + "=== :出现异常:" + response.Body);
                    }
                    else
                    {
                        totalResults = response.TotalResults;
                        foreach (Item item in response.Items.Where(item => !itemDic.ContainsKey(item.NumIid.ToString())))
                        {
                            if (isnum_iid)
                            {
                                strbNumIid.Append(item.NumIid.ToString() + ",");
                            }
                            else
                            {
                                itemDic.Add(item.NumIid.ToString(), item);
                            }
                        }
                    }
                } while (totalResults > pageNo2 * 200);
                #endregion
            }
            else
            {
                if (status == "0")
                {
                    #region 获取出售中的商品
                    do
                    {
                        pageNo++;
                        ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest();
                        req.Fields   = reqName;
                        req.PageSize = 200L;
                        req.PageNo   = Convert.ToInt64(pageNo);
                        req.OrderBy  = "list_time:asc";
                        if (strMainWord.Length > 0)
                        {
                            req.Q = strMainWord;
                        }
                        if (sellerCat.Trim().Length > 0)
                        {
                            req.SellerCids = sellerCat;
                        }
                        ItemsOnsaleGetResponse response = TopClient.Execute <ItemsOnsaleGetResponse>(req, sellerinfo.top_session, (TopClient.CrmPlatForm)useplatform);
                        if (response.IsError)
                        {
                            TxtLog.WriteLine("getItemListErrorLog", sellerinfo.strUserNick + ":" + sellerinfo.strUserId + "=== :出现异常:" + response.Body);
                        }
                        else
                        {
                            totalResults = response.TotalResults;
                            foreach (Item item in response.Items.Where(item => !itemDic.ContainsKey(item.NumIid.ToString())))
                            {
                                if (isnum_iid)
                                {
                                    strbNumIid.Append(item.NumIid.ToString() + ",");
                                }
                                else
                                {
                                    itemDic.Add(item.NumIid.ToString(), item);
                                }
                            }
                        }
                    } while (totalResults > pageNo * 200);
                    #endregion
                }
                else if (status == "1")
                {
                    #region 获取仓库中的商品
                    do
                    {
                        pageNo++;
                        ItemsInventoryGetRequest req = new ItemsInventoryGetRequest
                        {
                            Fields   = reqName,
                            PageSize = 200,
                            PageNo   = pageNo
                        };
                        if (strMainWord.Length > 0)
                        {
                            req.Q = strMainWord;
                        }
                        if (sellerCat.Trim().Length > 0)
                        {
                            req.SellerCids = sellerCat;
                        }
                        ItemsInventoryGetResponse response = TopClient.Execute(req, sellerinfo.top_session, (TopClient.CrmPlatForm)useplatform);
                        if (response.IsError)
                        {
                            TxtLog.WriteLine("getItemListErrorLog", sellerinfo.strUserNick + ":" + sellerinfo.strUserId + "=== :出现异常:" + response.Body);
                        }
                        else
                        {
                            totalResults = response.TotalResults;
                            foreach (Item item in response.Items.Where(item => !itemDic.ContainsKey(item.NumIid.ToString())))
                            {
                                if (isnum_iid)
                                {
                                    strbNumIid.Append(item.NumIid.ToString() + ",");
                                }
                                else
                                {
                                    itemDic.Add(item.NumIid.ToString(), item);
                                }
                            }
                        }
                    } while (totalResults > pageNo * 200);
                    #endregion
                }
            }
            if (isnum_iid)
            {
                itemDic = SearchNumIid(strbNumIid.ToString(), sellerinfo, reqName, useplatform);
            }
            return(itemDic);
        }
예제 #5
0
        /// <summary>
        /// 查询仓库中的商品
        /// </summary>
        /// <param name="sessionKey"></param>
        /// <returns></returns>
        internal IList <Item> SearchInventoryByCriteria(string sessionKey, ref int TotalNum, QueryCriteriaForInventory Query)
        {
            ITopClient client            = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json");
            ItemsInventoryGetRequest req = new ItemsInventoryGetRequest();

            req.Fields = "approve_status,num_iid,title,nick,type,cid,pic_url,num,props,valid_thru, list_time,price,has_discount,has_invoice,has_warranty,has_showcase, modified,delist_time,postage_id,seller_cids,outer_id";
            if (Query.Q != null)
            {
                req.Q = Query.Q;
            }
            if (Query.Banner != null)
            {
                req.Banner = Query.Banner;
            }
            if (Query.Cid != null)
            {
                req.Cid = Query.Cid;
            }
            if (Query.SellerCids != null)
            {
                req.SellerCids = Query.SellerCids;
            }
            if (Query.PageNo != null)
            {
                req.PageNo = Query.PageNo;
            }
            else
            {
                req.PageNo = 1;
            }
            if (Query.PageSize != null)
            {
                req.PageSize = Query.PageSize;
            }
            else
            {
                req.PageSize = 10;
            }
            if (Query.HasDiscount != null)
            {
                req.HasDiscount = Query.HasDiscount;
            }
            if (Query.OrderBy != null)
            {
                req.OrderBy = Query.OrderBy;
            }
            if (Query.IsTaobao != null)
            {
                req.IsTaobao = Query.IsTaobao;
            }
            if (Query.IsEx != null)
            {
                req.IsEx = Query.IsEx;
            }
            if (Query.StartModified != null)
            {
                req.StartModified = Query.StartModified;
            }
            if (Query.EndModified != null)
            {
                req.EndModified = Query.EndModified;
            }
            if (Query.IsCspu != null)
            {
                req.IsCspu = Query.IsCspu;
            }
            ItemsInventoryGetResponse response = client.Execute(req, sessionKey);

            TotalNum = (int)response.TotalResults;
            return(ChangeTypeForItem(response.Body));
        }