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); } }
/// <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); }
/// <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); }
//得到卖家仓库中的商品 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); }
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; }
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; } }
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); }
//得到卖家仓库中的商品 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; }
/// <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)); }