Exemplo n.º 1
0
 private ITopRequest GetTopRequest(string query, bool?discount, bool?showCase, string type, string filter, int pageIndex, int pageSize)
 {
     if (type.Equals("onsale", StringComparison.OrdinalIgnoreCase))
     {
         ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest();
         req.Fields      = TopFieldsHelper.GetItemFields_InList();// "iid,title,nick,type,cid,num,props,price";
         req.Query       = query;
         req.HasDiscount = discount;
         req.HasShowcase = showCase;
         req.PageNo      = pageIndex;
         req.PageSize    = pageSize;
         if (!string.IsNullOrEmpty(filter) && !filter.Trim().Equals("all", StringComparison.OrdinalIgnoreCase))
         {
             req.SellerCids = filter;
         }
         return(req);
     }
     else if (type.Equals("inventory", StringComparison.OrdinalIgnoreCase))
     {
         ItemsInventoryGetRequest req = new ItemsInventoryGetRequest();
         req.Fields = TopFieldsHelper.GetItemFields_InList();// "iid,title,nick,type,cid,num,props,price";
         req.Query  = query;
         if (!string.IsNullOrEmpty(filter) && !filter.Trim().Equals("all", StringComparison.OrdinalIgnoreCase))
         {
             req.Banner = filter;
         }
         req.PageNo   = pageIndex;
         req.PageSize = pageSize;
         return(req);
     }
     else
     {
         return(null);
     }
 }
Exemplo n.º 2
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);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        private void BindInventoryItem(string searchTitle)
        {
            if (Request.QueryString["PageID"] != null)
            {
                PL.PageID = Convert.ToInt16(Request.QueryString["PageID"]);
            }
            PL.PageSize = 4;
            int total = 0;

            tbClient = new DefaultTopClient(Config.ServerURL, Config.Appkey, Config.Secret);
            ItemsInventoryGetRequest itemInventoryReq = new ItemsInventoryGetRequest();
            itemInventoryReq.Fields = "num_iid,title,price";
            itemInventoryReq.PageNo = PL.PageID;
            itemInventoryReq.PageSize = PL.PageSize;
            if (searchTitle != "")
            {
                itemInventoryReq.Q = searchTitle;
            }
            ItemsInventoryGetResponse itemInventoryResp = tbClient.Execute(itemInventoryReq, base.sessionkey);
            if (!itemInventoryResp.IsError)
            {
                DataList1.DataSource = itemInventoryResp.Items;
                DataList1.DataBind();

                total = (int)itemInventoryResp.TotalResults;
                PL.RecordCount = total;
                PageListLink = new PageListBll().GetPageList(PL);
            }
        }
 /// <summary>
 /// taobao.items.inventory.get
 /// 得到当前会话用户库存中的商品列表
 /// </summary>
 /// <param name="fields">需返回的字段列表。可选值:Item商品结构体中的以下字段: 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;字段之间用“,”分隔。
 /// 不支持其他字段,如果需要获取其他字段数据,调用taobao.item.get。 </param>
 /// <param name="keywords">搜索字段。搜索商品的title。 </param>
 /// <param name="banner">分类字段。可选值:regular_shelved(定时上架) never_on_shelf(从未上架) off_shelf(我下架的) for_shelved(等待所有上架) sold_out(全部卖完) violation_off_shelf(违规下架的)
 ///  默认查询for_shelved(等待所有上架)这个状态的商品
 ///  注:for_shelved(等待所有上架)=regular_shelved(定时上架)+never_on_shelf(从未上架)+off_shelf(我下架的) </param>
 /// <param name="cid">商品类目ID。ItemCat中的cid字段。可以通过taobao.itemcats.get取到 </param>
 /// <param name="sellercids">卖家店铺内自定义类目ID。多个之间用“,”分隔。可以根据taobao.sellercats.list.get获得.(注:目前最多支持32个ID号传入) </param>
 /// <param name="pageno">页码。取值范围:大于零的整数。默认值为1,即默认返回第一页数据。用此接口获取数据时,当翻页获取的条数(page_no*page_size)超过10万,为了保护后台搜索引擎,接口将报错。所以请大家尽可能的细化自己的搜索条件,例如根据修改时间分段获取商品 </param>
 /// <param name="pagesize">每页条数。取值范围:大于零的整数;最大值:200;默认值:40。用此接口获取数据时,当翻页获取的条数(page_no*page_size)超过2万,为了保护后台搜索引擎,接口将报错。所以请大家尽可能的细化自己的搜索条件,例如根据修改时间分段获取商品 </param>
 /// <param name="hasdiscount">是否参与会员折扣。可选值:true,false。默认不过滤该条件 </param>
 /// <param name="orderby">排序方式。格式为column:asc/desc ,column可选值:list_time(上架时间),delist_time(下架时间),num(商品数量),modified(最近修改时间);默认上架时间降序(即最新上架排在前面)。如按照上架时间降序排序方式为list_time:desc </param>
 /// <param name="istaobao">商品是否在淘宝显示 </param>
 /// <param name="isex">商品是否在外部网店显示 </param>
 /// <param name="startmodified">起始的修改时间 </param>
 /// <param name="endmodified">结束的修改时间</param>
 /// <returns></returns>
 public static List<Item> GetInventoryItem(string fields, string keywords, string banner, long? cid, string sellercids, long? pageno, long? pagesize,
     bool? hasdiscount, string orderby, bool? istaobao, bool? isex, DateTime? startmodified, DateTime? endmodified)
 {
     ITopClient client = TopClientService.GetTopClient();
     ItemsInventoryGetRequest req = new ItemsInventoryGetRequest();
     req.Fields = fields;
     req.Q = keywords;
     req.Banner = banner;
     req.Cid = cid;
     req.SellerCids = sellercids;
     req.PageNo = pageno;
     req.PageSize = pagesize;
     req.HasDiscount = hasdiscount;
     req.OrderBy = orderby;
     req.IsTaobao = istaobao;
     req.IsEx = isex;
     req.StartModified = startmodified;
     req.EndModified = endmodified;
     ItemsInventoryGetResponse response = client.Execute(req, SessionKey);
     return response.Items;
 }
Exemplo n.º 7
0
 private ITopRequest GetTopRequest(string query, bool? discount, bool? showCase, string type, string filter, int pageIndex, int pageSize)
 {
     if (type.Equals("onsale", StringComparison.OrdinalIgnoreCase))
     {
         ItemsOnsaleGetRequest req = new ItemsOnsaleGetRequest();
         req.Fields = TopFieldsHelper.GetItemFields_InList();// "iid,title,nick,type,cid,num,props,price";
         req.Query = query;
         req.HasDiscount = discount;
         req.HasShowcase = showCase;
         req.PageNo = pageIndex;
         req.PageSize = pageSize;
         if (!string.IsNullOrEmpty(filter) && !filter.Trim().Equals("all", StringComparison.OrdinalIgnoreCase))
         {
             req.SellerCids = filter;
         }
         return req;
     }
     else if (type.Equals("inventory", StringComparison.OrdinalIgnoreCase))
     {
         ItemsInventoryGetRequest req = new ItemsInventoryGetRequest();
         req.Fields = TopFieldsHelper.GetItemFields_InList();// "iid,title,nick,type,cid,num,props,price";
         req.Query = query;
         if (!string.IsNullOrEmpty(filter) && !filter.Trim().Equals("all", StringComparison.OrdinalIgnoreCase))
         {
             req.Banner = filter;
         }
         req.PageNo = pageIndex;
         req.PageSize = pageSize;
         return req;
     }
     else
     {
         return null;
     }
 }
Exemplo n.º 8
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);
        }
Exemplo n.º 9
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;
        }
Exemplo n.º 10
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));
        }