Exemple #1
0
        /// <summary>
        /// 获取淘宝店铺销售中的商品
        /// </summary>
        /// <returns>返回店铺销售中的商品数量</returns>
        public int GetTaoShopOnSaleItems()
        {
            ITopClient            client = new DefaultTopClient(Url, Appkey, Appsecret);
            ItemsOnsaleGetRequest req    = new ItemsOnsaleGetRequest();

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

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

            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;
            ItemsOnsaleGetResponse     response = client.Execute(req, Sessionkey);
            List <Top.Api.Domain.Item> saleList = response.Items;

            return(saleList);
        }
Exemple #3
0
 /// <summary>
 /// 返回商品在售的总数
 /// </summary>
 /// <param name="sessionKey"></param>
 /// <returns></returns>
 public static string GetAllOnSalePro(string sessionKey)
 {
     try
     {
         ITopClient            client = TBManager.GetClient();
         ItemsOnsaleGetRequest req    = new ItemsOnsaleGetRequest();
         req.Fields = "num_iid";
         ItemsOnsaleGetResponse response = client.Execute(req, sessionKey);
         return(response.TotalResults.ToString());
     }
     catch (Exception ex)
     {
         ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi);
         return("0");
     }
 }
Exemple #4
0
 /// <summary>
 /// 获取当前会话用户出售中的商品列表
 /// </summary>
 /// <param name="strSessionKey"></param>
 /// <returns></returns>
 public static List <Item> GetItemsOnSale(string strSessionKey, string pageSize, string pageNo)
 {
     try
     {
         ITopClient            client = TBManager.GetClient();
         ItemsOnsaleGetRequest req    = new ItemsOnsaleGetRequest();
         req.Fields   = @"num_iid,outer_id,bar_code,price,seller_cids,pic_url,title";
         req.PageNo   = long.Parse(pageNo);
         req.PageSize = long.Parse("200");
         ItemsOnsaleGetResponse rsp = client.Execute(req, strSessionKey);
         return(rsp.Items);
     }
     catch (Exception ex)
     {
         ExceptionReporter.WriteLog(ex, ExceptionPostion.TopApi);
         return(null);
     }
 }
Exemple #5
0
        /// <summary>
        ///     获取当前会话用户出售中的商品列表
        ///     taobao.items.onsale.get
        /// </summary>
        /// <param name="req">要查询传入的参数</param>
        public List <Item> GetOnSaleGoods(ItemsOnsaleGetRequest req)
        {
            _log.LogInfo(Resource.Log_GetOnSaleGoodsing.StringFormat(req.Q));
            var tContext = InstanceLocator.Current.GetInstance <AuthorizedContext>();

            ItemsOnsaleGetResponse 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_GetOnSaleGoodsFailure, ex);

                throw ex;
            }

            _log.LogInfo(Resource.Log_GetOnSaleGoodsSuccess.StringFormat(req.Q));
            return(response.Items);
        }
Exemple #6
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="total"></param>
        /// <param name="pageNo"></param>
        /// <returns></returns>
        private List <TB.Item> GetItems(out long total, long pageNo, long pageSize)
        {
            total = 0;
            ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest();

            req.Fields  = "num_iid,title,price,pic_url,outer_id,approve_status,num,created,modified,skus";
            req.PageNo  = pageNo;
            req.OrderBy = "list_time:desc";
            //req.IsTaobao = true;
            //req.IsEx = true;

            req.PageSize = pageSize;

            ItemsOnsaleGetResponse response = client.Execute(req, this.Access_Token.Access_Token1);

            if (!response.IsError)
            {
                total = response.TotalResults;
                return(response.Items);
            }

            return(null);
        }
Exemple #7
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);
        }
Exemple #8
0
        /// <summary>
        /// 查询在售商品
        /// </summary>
        /// <param name="sessionKey"></param>
        /// <param name="Query"></param>
        internal IList <Item> SearchOnsalesByCriteria(string sessionKey, ref int TotalNum, QueryCriteriaForOnSales Query)
        {
            ITopClient            client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json");
            ItemsOnsaleGetRequest req    = new ItemsOnsaleGetRequest();

            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,sku";
            if (Query.Q != null)
            {
                req.Q = Query.Q;
            }
            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.HasShowcase != null)
            {
                req.HasShowcase = Query.HasShowcase;
            }
            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;
            }
            ItemsOnsaleGetResponse response = client.Execute(req, sessionKey);

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