private string BindData(string items, string adsid) { string html = string.Empty; string total = string.Empty; TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", "12132145", "1fdd2aadd5e2ac2909db2967cbb71e7f"); string itemId = items; ItemGetRequest request = new ItemGetRequest(); request.Fields = "num_iid,title,price,pic_url,desc"; request.NumIid = long.Parse(itemId); Item product = client.ItemGet(request); //获取商品详细描述 html = product.Desc; //获取广告代码 string adsHtml = getAdsContent(ads); if (!Regex.IsMatch(html, @"<img alt=""tetesoft-area-start"" width=""0"" height=""0"">([\s\S]*)<img alt=""tetesoft-area-end"" width=""0"" height=""0"">")) { html += @"<img alt=""tetesoft-area-start"" width=""0"" height=""0"">" + adsHtml + @"<img alt=""tetesoft-area-end"" width=""0"" height=""0"">"; } else { html = Regex.Replace(html, @"<img alt=""tetesoft-area-start"" width=""0"" height=""0"">([\s\S]*)<img alt=""tetesoft-area-end"" width=""0"" height=""0"">", @"<img alt=""tetesoft-area-start"" width=""0"" height=""0"">" + adsHtml + @"<img alt=""tetesoft-area-end"" width=""0"" height=""0"">"); } return(html); }
///// <summary> ///// 清除店铺活动图片 ///// </summary> ///// <param name="sender"></param> ///// <param name="e"></param> //protected void Button2_Click(object sender, EventArgs e) //{ //} /// <summary> /// 增加活动图片到宝贝描述 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button3_Click(object sender, EventArgs e) { string appkey = "12159997"; string secret = "614e40bfdb96e9063031d1a9e56fbed5"; //保存到数据库 string name = utils.NewRequest("detail", utils.RequestType.Form); string istop = utils.NewRequest("detailimgistop", utils.RequestType.Form); string sql = "UPDATE TCS_ShopConfig SET detailimgname = '" + name + "', detailimgistop = '" + istop + "' WHERE nick = '" + nick + "'"; StringBuilder builder = new StringBuilder(); utils.ExecuteNonQuery(sql); //上传到宝贝描述 TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", appkey, secret); for (int j = 1; j <= 500; j++) { ItemsOnsaleGetRequest request = new ItemsOnsaleGetRequest(); request.Fields = "num_iid"; request.PageSize = 200; request.PageNo = j; PageList <Item> product = client.ItemsOnsaleGet(request, session); for (int i = 0; i < product.Content.Count; i++) { try { //获取商品详细 ItemGetRequest requestItem = new ItemGetRequest(); requestItem.Fields = "desc"; requestItem.NumIid = product.Content[i].NumIid; Item item = client.ItemGet(requestItem, session); //判断是否增加过该图片 string newcontent = CreateDesc(item.Desc, istop); //更新宝贝描述 IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("num_iid", product.Content[i].NumIid.ToString()); param.Add("desc", newcontent); string resultpro = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.item.update", session, param); builder.Append("宝贝ID:" + product.Content[i].NumIid.ToString() + "\r\n" + resultpro + "\r\n"); } catch { } } if (product.Content.Count < 200) { break; } } File.WriteAllText(Server.MapPath("htmlLog/" + DateTime.Now.ToString("yyyyMMddHHmmss") + "-" + nick + ".txt"), builder.ToString()); Response.Write("<script>alert('同步成功!');window.location.href='html.aspx';</script>"); Response.End(); return; }
private void DeleteTaobaAutoOld(string session) { string appkey = "12132145"; string secret = "1fdd2aadd5e2ac2909db2967cbb71e7f"; //上传到宝贝描述 TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", appkey, secret); for (int j = 1; j <= 3; j++) { ItemsOnsaleGetRequest request = new ItemsOnsaleGetRequest(); request.Fields = "num_iid"; request.PageSize = 200; request.PageNo = j; PageList <Item> product = client.ItemsOnsaleGet(request, session); for (int i = 0; i < product.Content.Count; i++) { try { //获取商品详细 ItemGetRequest requestItem = new ItemGetRequest(); requestItem.Fields = "desc"; requestItem.NumIid = product.Content[i].NumIid; Item item = client.ItemGet(requestItem, session); //判断是否增加过该图片 string newcontent = CreateDescDel(item.Desc); //Response.Write(newcontent); if (newcontent == "") { continue; } //更新宝贝描述 IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("num_iid", product.Content[i].NumIid.ToString()); param.Add("desc", newcontent); string resultpro = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.item.update", session, param); Response.Write(product.Content[i].NumIid.ToString() + "----" + resultpro + "<br>"); //return; //return; } catch (Exception e) { Response.Write(e.Message); } } //Response.Write(product.Content.Count.ToString() + "<br>"); if (product.Content.Count < 200) { break; } } Response.Write("<script>alert('清除成功!');</script>"); Response.End(); }
public string getProductDesc(string productId) { ItemGetRequest req = new ItemGetRequest(); req.Fields = "detail_url,num_iid,title,price,desc"; req.NumIid = long.Parse(productId); ItemGetResponse response = _client.Execute(req, SessionKey); return response.Item.Desc; }
public ItemGetResponse ItemGet([FromBody] ItemGetRequest req) { var rep = new ItemGetResponse(); rep.Data = DefaultStorage.ItemGet(req.Id, req.IncludeSkus); return(rep); }
/// <summary> /// 取得单个产品信息 /// </summary> /// <returns></returns> public ItemGetResponse TaobaoItemGet(long numIid) { var req = new ItemGetRequest { Fields = "num_iid,nick,title,price,cid,item_img,props_name,pic_url", NumIid = numIid }; var response = _client.Execute(req, ""); return(response); }
/// <summary> /// 淘宝在线获取宝贝信息 /// </summary> public static string GetItemOnline(long item_id) { ItemGetRequest req = new ItemGetRequest(); req.Fields = "detail_url,num_iid,title,nick,props_name,price,cid,seller_cids,pic_url,num,location"; req.NumIid = item_id; ItemGetResponse response = client.Execute(req); return(response.Body); }
/// <summary> /// 根据商品ID获取单个商品信息 /// </summary> /// <param name="sessionKey"></param> /// <param name="GoodsId"></param> /// <returns></returns> internal IList <Item> Getitem(string sessionKey, string GoodsId) { ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); ItemGetRequest req = new ItemGetRequest(); req.Fields = "approve_status,num_iid,title,nick,type,desc,skus,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.NumIid = long.Parse(GoodsId); ItemGetResponse response = client.Execute(req, sessionKey); return(ChangeTypeForItem(response.Body)); }
public void ItemGet() { var request = new ItemGetRequest(); // request.NodeKdtId = "123123123123"; request.ItemId = "123123123123"; // request.Alias = "123123123123"; // request.NodeItemId = "123123123123"; var response = api.ItemGet(request); Debug.WriteLine(JsonConvert.SerializeObject(response)); }
static void Main(string[] args) { //me no permission //var appkey = "25313721"; //var secret = "7baeb2a26918600d6e3a2fa3209c9211"; //coo //var appkey = "23346767"; //var secret = "0e3e924ebec051da26438087571f242c"; //d //var appkey = "12193480"; //var secret = "3091a169a0106c59f0e2fb769939ca8a"; var appkey = "23238713"; var secret = "35bc06de312ac2999c0b3930ce8c1e56"; var url = "http://gw.api.taobao.com/router/rest"; ITopClient client = new DefaultTopClient(url, appkey, secret); TaeItemsListRequest req = new TaeItemsListRequest(); req.Fields = "location,cid,price"; req.NumIids = "16790041596"; var response = client.Execute(req); if (response.Items != null && response.Items.Count > 0) { var item = response.Items[0]; TaeItemDetailGetRequest detailReq = new TaeItemDetailGetRequest(); detailReq.BuyerIp = "127.0.0.1"; detailReq.Fields = "itemInfo,priceInfo,skuInfo,stockInfo,descInfo,sellerInfo,mobileDescInfo,deliveryInfo,storeInfo,itemBuyInfo,couponInfo"; detailReq.Id = item.OpenIid; var result = client.Execute(detailReq); var itemRequest = new ItemGetRequest { Fields = DefaultFields, //如果需要查询的字段为空,则取默认的查询属性 NumIid = 16790041596 //查询主键 }; var itemResponse = client.Execute(itemRequest); } //TimeGetRequest req = new TimeGetRequest(); //TimeGetResponse rsp = client.Execute(req); Console.WriteLine(response.Body); }
public ItemGetResponse GetItem(string iid) { ItemGetResponse result; //_statsd.LogCount("Wrangler.APIBaiChuan.GetItem.count"); //using (_statsd.LogTiming("Wrangler.APIBaiChuan.GetItem.timing")) //{ //} var request = new ItemGetRequest { Fields = DefaultFields, //如果需要查询的字段为空,则取默认的查询属性 NumIid = DataConvert.ToInt64(iid) //查询主键 }; result = _client.Execute(request, Session); return(result); }
public static Item GetItem(string iid) { ITopClient client = new DefaultTopClient(TaobaoUrl, AppKey, AppSecret); var request = new ItemGetRequest { Fields = @"nick,pic_url,detail_url,title,price,express_fee", NumIid = iid.TryLongParse() }; var response = client.Execute(request); if (response.IsError) { return(null); } return(response.Item); }
/// <summary> /// 淘宝在线获取宝贝信息,格式化输出 /// </summary> public static string GetItemOnline(string itemIdOrUrl) { long item_id = 0; Int64.TryParse(itemIdOrUrl, out item_id); if (item_id == 0) { item_id = Strings.GetItemId(itemIdOrUrl.ToLower()); } ItemGetRequest req = new ItemGetRequest(); req.Fields = "detail_url,num_iid,title,nick,props_name,price,cid,seller_cids,pic_url,num,location"; req.NumIid = item_id; ItemGetResponse response = client.Execute(req); string strBody = response.Body; try { JsonSerializer s = new JsonSerializer(); JsonReader reader = new JsonReader(new StringReader(strBody)); Object jsonObject = s.Deserialize(reader); if (jsonObject != null) { StringWriter sWriter = new StringWriter(); Newtonsoft.Json.JsonWriter writer = new Newtonsoft.Json.JsonWriter(sWriter); writer.Formatting = Formatting.Indented; writer.Indentation = 4; writer.IndentChar = ' '; s.Serialize(writer, jsonObject); return(sWriter.ToString()); } else { return("无法解析"); } } catch (Exception ex) { return(string.Format("无法解析:{0}", ex.Message)); } }
public static Item GetItemInfo(string fields, long numIid) { ITopClient client = TopClientService.GetTopClient(); ItemGetRequest req = new ItemGetRequest(); req.Fields = fields; req.NumIid = numIid; ItemGetResponse response = client.Execute(req, SessionKey); return response.Item; }
private Item ImportItem(ImportItemInfo item) { try { ITopClient client = GetProductTopClient(); ItemGetRequest req = new ItemGetRequest(); req.Fields = TopFieldsHelper.GetItemFields_All(); req.Iid = item.ImportFormItemIid; req.Nick = item.ImportFormSellerNick; Item topItem = client.Execute<Item>(req, new ItemJsonParser()); ImportItem(topItem); return topItem; } catch (Exception ex) { throw ex; } }
protected void Page_Load(object sender, EventArgs e) { try { id = utils.NewRequest("id", Common.utils.RequestType.QueryString); if (id != "" && !utils.IsInt32(id)) { Response.Write("非法参数1"); Response.End(); return; } style = utils.NewRequest("style", Common.utils.RequestType.Form); size = utils.NewRequest("size", Common.utils.RequestType.Form); type = utils.NewRequest("type", Common.utils.RequestType.Form); orderby = utils.NewRequest("orderby", Common.utils.RequestType.Form); query = utils.NewRequest("query", Common.utils.RequestType.Form); shopcat = utils.NewRequest("shopcat", Common.utils.RequestType.Form); name = utils.NewRequest("name", Common.utils.RequestType.Form); items = utils.NewRequest("items", Common.utils.RequestType.Form); string act = utils.NewRequest("act", Common.utils.RequestType.Form); if (act == "save") { Cookie cookie = new Cookie(); string taobaoNick = cookie.getCookie("nick"); string session = cookie.getCookie("top_session"); Rijndael_ encode = new Rijndael_("tetesoft"); taobaoNick = encode.Decrypt(taobaoNick); //记录到本地数据库 string sql = "INSERT INTO TopIdea (" + "name, " + "showtype, " + "nick, " + "size, " + "style, " + "orderby, " + "shopcategoryid, " + "query " + " ) VALUES ( " + " '" + name + "', " + " '" + type + "', " + " '" + taobaoNick + "', " + " '" + size + "', " + " '" + style + "', " + " '" + orderby + "', " + " '" + shopcat + "', " + " '" + query + "' " + ") "; //如果为编辑模式 if (id != "" && id != "0") { //更新广告 sql = "UPDATE TopIdea SET " + "name = '" + name + "', " + "showtype = '" + type + "', " + "size = '" + size + "', " + "style = '" + style + "', " + "orderby = '" + orderby + "', " + "shopcategoryid = '" + shopcat + "', " + "query = '" + query + "' " + " WHERE id = " + id; utils.ExecuteNonQuery(sql); //如果是自动更新模式,需要更新店铺商品数据 sql = "SELECT shopcategoryid,query,nick,showtype FROM TopIdea WHERE nick = '" + taobaoNick + "' AND id = " + id; DataTable dt1 = utils.ExecuteDataTable(sql); if (dt1.Rows[0]["showtype"].ToString() == "0") { //更新下架商品数据 shopcat = dt1.Rows[0][0].ToString(); query = dt1.Rows[0][1].ToString(); taobaoNick = dt1.Rows[0][2].ToString(); //获取新商品列表 TopXmlRestClient clientaa = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", "12132145", "1fdd2aadd5e2ac2909db2967cbb71e7f"); ItemsOnsaleGetRequest request = new ItemsOnsaleGetRequest(); request.Fields = "num_iid,title,price,pic_url"; request.PageSize = 12; request.OrderBy = "list_time:desc"; request.OrderBy = "volume:desc"; if (shopcat != "0") { request.SellerCids = shopcat; } request.Q = query; //清理关联商品 sql = "DELETE FROM TopIdeaProduct WHERE ideaid = " + id; utils.ExecuteNonQuery(sql); //未登录用户不能获取小二下架或删除的商品-错误过滤,原因未知 try { PageList <Item> product = clientaa.ItemsOnsaleGet(request, session); for (int i = 0; i < product.Content.Count; i++) { sql = "INSERT INTO TopIdeaProduct (" + "itemid, " + "itemname, " + "itemprice, " + "itempicurl, " + "ideaid " + " ) VALUES ( " + " '" + product.Content[i].NumIid + "', " + " '" + product.Content[i].Title + "', " + " '" + product.Content[i].Price + "', " + " '" + product.Content[i].PicUrl + "', " + " '" + id + "' " + ") "; utils.ExecuteNonQuery(sql); } } catch { } } //清理关联商品 sql = "DELETE FROM TopIdeaProduct WHERE ideaid = " + id; utils.ExecuteNonQuery(sql); //清理广告缓存 CacheManager testcaching1 = CacheFactory.GetCacheManager(); if (testcaching1.Contains("cache_1_" + id)) { testcaching1.Remove("cache_1_" + id); } //更新广告图片 string folderPath = Server.MapPath("\\show\\folder\\" + MD5(taobaoNick) + "\\result_" + id + ".jpg"); if (File.Exists(folderPath)) { File.Delete(folderPath); } } utils.ExecuteNonQuery(sql); if (id != "" && id != "0") { //编辑模式,ID不变 } else { //插入模式,获取最新ID sql = "SELECT TOP 1 id FROM TopIdea WHERE nick = '" + taobaoNick + "' ORDER BY id DESC"; id = utils.ExecuteString(sql); } //获取符合结果集的相关商品并记录到本地数据库 TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", "12132145", "1fdd2aadd5e2ac2909db2967cbb71e7f"); //如果为自动选择模式 if (type == "0") { ItemsOnsaleGetRequest request = new ItemsOnsaleGetRequest(); request.Fields = "num_iid,title,price,pic_url"; request.PageSize = 12; if (orderby == "new") { request.OrderBy = "list_time:desc"; } else if (orderby == "sale") { request.OrderBy = "volume:desc"; } if (shopcat != "0") { request.SellerCids = shopcat; } if (query != "0") { request.Q = query; } //未登录用户不能获取小二下架或删除的商品-错误过滤,原因未知 try { PageList <Item> product = client.ItemsOnsaleGet(request, session); for (int i = 0; i < product.Content.Count; i++) { sql = "INSERT INTO TopIdeaProduct (" + "itemid, " + "itemname, " + "itemprice, " + "itempicurl, " + "ideaid " + " ) VALUES ( " + " '" + product.Content[i].NumIid + "', " + " '" + product.Content[i].Title + "', " + " '" + product.Content[i].Price + "', " + " '" + product.Content[i].PicUrl + "', " + " '" + id + "' " + ") "; utils.ExecuteNonQuery(sql); } } catch { } } else { string[] arr = items.Split(','); List <Item> itemList = new List <Item>(); for (int i = 0; i < arr.Length; i++) { ItemGetRequest request = new ItemGetRequest(); request.Fields = "num_iid,title,price,pic_url"; request.NumIid = long.Parse(arr[i]); Item product = client.ItemGet(request); itemList.Add(product); } for (int i = 0; i < itemList.Count; i++) { sql = "INSERT INTO TopIdeaProduct (" + "itemid, " + "itemname, " + "itemprice, " + "itempicurl, " + "ideaid " + " ) VALUES ( " + " '" + itemList[i].NumIid + "', " + " '" + itemList[i].Title + "', " + " '" + itemList[i].Price + "', " + " '" + itemList[i].PicUrl + "', " + " '" + id + "' " + ") "; utils.ExecuteNonQuery(sql); } } } //获取NICK的淘宝ID Cookie cookieNew = new Cookie(); string taobaoNickNew = cookieNew.getCookie("nick"); Rijndael_ encodeaa = new Rijndael_("tetesoft"); taobaoNickNew = encodeaa.Decrypt(taobaoNickNew); md5nick = MD5(taobaoNickNew); string sqlNew = "SELECT sid FROM TopTaobaoShop WHERE nick = '" + taobaoNickNew + "'"; DataTable dtNew = utils.ExecuteDataTable(sqlNew); if (dtNew.Rows.Count != 0) { nickid = "http://shop" + dtNew.Rows[0]["sid"].ToString() + ".taobao.com/"; } else { nickid = "http://www.taobao.com/"; } nickidEncode = "http://www.7fshop.com/click/?s=" + EncodeStr(new string[] { id, "0", nickid }); string sql112 = "SELECT * FROM TopIdea WHERE id = " + id; DataTable newdt1 = utils.ExecuteDataTable(sql112); if (newdt1.Rows.Count != 0) { tabletitle = newdt1.Rows[0]["name"].ToString(); size = newdt1.Rows[0]["size"].ToString(); } string num = string.Empty; string row = string.Empty; switch (size) { case "514*160": num = "5"; row = "5"; break; case "514*288": num = "10"; row = "5"; break; case "664*160": num = "6"; row = "6"; break; case "312*288": num = "6"; row = "3"; break; case "336*280": num = "4"; row = "2"; break; case "714*160": num = "7"; row = "7"; break; case "114*418": num = "3"; row = "1"; break; case "218*286": num = "4"; row = "2"; break; case "743*308": num = "4"; row = "4"; break; default: num = "4"; row = "4"; break; } //绑定商品列表 string sql11 = "SELECT TOP " + num + " *,'' AS html FROM TopIdeaProduct WHERE ideaid = " + id; DataTable newdt = utils.ExecuteDataTable(sql11); //加换行符 for (int i = 0; i < newdt.Rows.Count; i++) { if ((i + 1) % int.Parse(row) == 0) { newdt.Rows[i]["html"] = "</tr><tr>"; } } if (size != "743*308") { panel1.Visible = true; panel2.Visible = false; rptProduct.DataSource = newdt; rptProduct.DataBind(); } else { panel1.Visible = false; panel2.Visible = true; rptProduct2.DataSource = newdt; rptProduct2.DataBind(); } string[] arrNew = size.Split('*'); width = arrNew[0]; height = arrNew[1]; } catch { } }
/// <summary> /// 得到单个商品信息 /// taobao.item.get /// </summary> /// <param name="req"></param> /// <returns>商品详情</returns> public Item GetGoods(ItemGetRequest req) { req.ThrowIfNull(Resource.ExceptionTemplate_MethedParameterIsNullorEmpty.StringFormat(new StackTrace())); var tContext = InstanceLocator.Current.GetInstance<AuthorizedContext>(); ItemGetResponse response = _client.Execute(req, tContext.SessionKey); if (response.IsError) throw new TopResponseException(response.ErrCode, response.ErrMsg, response.SubErrCode, response.SubErrMsg, response.TopForbiddenFields); return response.Item; }
/// <summary> /// 通过商品编号得到常用的Item数据 /// 调用的GetGoods(ItemGetRequest req) /// </summary> /// <param name="numId">商品编号</param> /// <returns>商品详情</returns> public Item GetGoods(string numId) { numId.ThrowIfNullOrEmpty( Resource.ExceptionTemplate_MethedParameterIsNullorEmpty.StringFormat(new StackTrace())); var req = new ItemGetRequest { Fields = "num_iid,title,nick,outer_id,price,num,location,post_fee,express_fee,ems_fee,sku,props_name,props,input_pids,input_str,pic_url,property_alias,item_weight,item_size,created,has_showcase,item_img,prop_img,desc", NumIid = numId.ToType<Int64>() }; return GetGoods(req); }
/// <summary> /// 添加活动 /// </summary> public void addactivity() { Cookie cookie = new Cookie(); string taobaoNick = cookie.getCookie("nick"); string session = cookie.getCookie("top_sessiongroupbuy"); Rijndael_ encode = new Rijndael_("tetesoft"); taobaoNick = encode.Decrypt(taobaoNick); //获取原宝贝 TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", "12287381", "d3486dac8198ef01000e7bd4504601a4"); ItemGetRequest requestItem = new ItemGetRequest(); requestItem.Fields = "desc,num_iid,title,price,pic_url "; requestItem.NumIid = long.Parse(iid); Item product = client.ItemGet(requestItem, session); sql = "select * from tete_activity where id=" + actionId; DataTable dt = utils.ExecuteDataTable(sql); if (dt != null && dt.Rows.Count > 0) { discountType = Request.QueryString["discountType"].ToString(); //DISCOUNT 或PRICE discountValue = Request.QueryString["discountValue"].ToString(); //促销力度 discountValue = Request.QueryString["discountValue"].ToString(); //促销力度 if (discountType == "") { discountType = "DISCOUNT"; if (discountValue == "") { discountValue = "10"; } } else { if (discountValue == "") { discountValue = "0"; } } decreaseNum = Request.QueryString["decreaseNum"].ToString(); //是否优惠限制 string rcounts = Request.QueryString["rcounts"].ToString(); //团购人数 //创建活动及相关人群 string appkey = "12287381"; string secret = "d3486dac8198ef01000e7bd4504601a4"; //创建活动相关人群 string guid = Guid.NewGuid().ToString().Substring(0, 4); IDictionary <string, string> param = new Dictionary <string, string>(); string tagid = "1"; //new Regex(@"<tag_id>([^<]*)</tag_id>", RegexOptions.IgnoreCase).Match(result).Groups[1].ToString(); //创建活动 param = new Dictionary <string, string>(); param.Add("num_iids", iid); param.Add("discount_type", discountType); param.Add("discount_value", discountValue); param.Add("start_date", DateTime.Parse(dt.Rows[0]["startDate"].ToString()).ToString("yyyy-MM-dd hh:mm:ss")); param.Add("end_date", DateTime.Parse(dt.Rows[0]["endDate"].ToString()).ToString("yyyy-MM-dd hh:mm:ss")); param.Add("promotion_title", dt.Rows[0]["Name"].ToString()); param.Add("decrease_num", decreaseNum); param.Add("tag_id", tagid); string result = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.marketing.promotion.add", session, param); WriteLog(result, "1", taobaoNick, iid); if (result.IndexOf("error_response") != -1) { // sql = "delete from [tete_activitylist] WHERE ActivityID = " + actionId + " and ProductID=" + iid; // utils.ExecuteNonQuery(sql); string err = new Regex(@"<sub_msg>([^<]*)</sub_msg>", RegexOptions.IgnoreCase).Match(result).Groups[1].ToString(); if (err == "") { Response.Write("<b>活动创建失败,错误原因:</b><br><font color='red'>您的session已经失效,需要重新授权</font><br><a href='http://container.api.taobao.com/container?appkey=12287381&scope=promotion' target='_parent'>重新授权</a>"); Response.End(); } Response.Write("<b>活动创建失败,错误原因:</b><br><font color='red'>" + err + "</font><br><a href='activityadd.aspx'>重新添加</a>"); Response.End(); return; } string promotionid = new Regex(@"<promotion_id>([^<]*)</promotion_id>", RegexOptions.IgnoreCase).Match(result).Groups[1].ToString(); sql = "INSERT [tete_activitylist] ([ActivityID] ,[Productname] ,[Productprice] ,[ProductImg] ,[ProductUrl] ,[ProductID] ,[promotionID] ,[Name] ,[Description] ,[Remark] ,[startDate] ,[endDate] ,[itemType] ,[discountType] ,[discountValue] ,[tagId] ,[Status] ,[Rcount] ,[Nick] ,[decreaseNum] ,[isOK]) VALUES(" + actionId + ",'" + product.Title + "','" + product.Price + "','" + product.PicUrl + "','http://item.taobao.com/item.htm?id=" + product.NumIid.ToString() + "','" + iid + "','" + promotionid + "','" + dt.Rows[0]["Name"].ToString() + "','" + dt.Rows[0]["Description"].ToString() + "','" + dt.Rows[0]["Remark"].ToString() + "','" + dt.Rows[0]["startDate"].ToString() + "','" + dt.Rows[0]["endDate"].ToString() + "','" + dt.Rows[0]["itemType"].ToString() + "','" + discountType + "','" + discountValue + "','" + dt.Rows[0]["tagId"].ToString() + "',0," + rcounts + ",'" + taobaoNick + "'," + decreaseNum + ",0)"; utils.ExecuteNonQuery(sql); Response.Write("true"); Response.End(); } else { Response.Write("null"); Response.End(); } }
/// <summary> /// 清除宝贝描述里面的活动页面 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button4_Click(object sender, EventArgs e) { string appkey = "12159997"; string secret = "614e40bfdb96e9063031d1a9e56fbed5"; //上传到宝贝描述 TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", appkey, secret); for (int j = 1; j <= 500; j++) { ItemsOnsaleGetRequest request = new ItemsOnsaleGetRequest(); request.Fields = "num_iid"; request.PageSize = 200; request.PageNo = j; PageList <Item> product = client.ItemsOnsaleGet(request, session); for (int i = 0; i < product.Content.Count; i++) { try { //获取商品详细 ItemGetRequest requestItem = new ItemGetRequest(); requestItem.Fields = "desc"; requestItem.NumIid = product.Content[i].NumIid; Item item = client.ItemGet(requestItem, session); //判断是否增加过该图片 string newcontent = CreateDescDel(item.Desc); //if (product.Content[i].NumIid.ToString() == "10002247109") //{ // Response.Write(item.Desc); // Response.Write("**************************************************"); // Response.Write(newcontent); // return; //} if (newcontent == "") { continue; } //更新宝贝描述 IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("num_iid", product.Content[i].NumIid.ToString()); param.Add("desc", newcontent); string resultpro = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.item.update", session, param); } catch { } } if (product.Content.Count < 200) { break; } } Response.Write("<script>alert('清除成功!');window.location.href='html.aspx';</script>"); Response.End(); }
/// <summary> /// 清除宝贝描述里面的活动页面 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void Button4_Click(object sender, EventArgs e) { string appkey = "12690738"; string secret = "66d488555b01f7b85f93d33bc2a1c001"; session = utils.NewRequest("session", utils.RequestType.QueryString); StringBuilder builder = new StringBuilder(); //上传到宝贝描述 TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", appkey, secret); for (int j = 1; j <= 500; j++) { ItemsOnsaleGetRequest request = new ItemsOnsaleGetRequest(); request.Fields = "num_iid"; request.PageSize = 200; request.PageNo = j; PageList <Item> product = client.ItemsOnsaleGet(request, session); for (int i = 0; i < product.Content.Count; i++) { try { //获取商品详细 ItemGetRequest requestItem = new ItemGetRequest(); requestItem.Fields = "desc"; requestItem.NumIid = product.Content[i].NumIid; Item item = client.ItemGet(requestItem, session); //判断是否增加过该图片 string newcontent = CreateDescDel(item.Desc); //if (product.Content[i].NumIid.ToString() == "10002247109") //{ // Response.Write(item.Desc); // Response.Write("**************************************************"); // Response.Write(newcontent); // return; //} if (newcontent == "") { continue; } //更新宝贝描述 IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("num_iid", product.Content[i].NumIid.ToString()); param.Add("desc", newcontent); string resultpro = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.item.update", session, param); builder.Append(resultpro + "\r\n"); //Response.Write(resultpro + "<br>\r\n"); } catch { } } if (product.Content.Count < 200) { break; } } File.WriteAllText(Server.MapPath("htmlLog/" + DateTime.Now.ToString("yyyyMMddHHmmss") + "-" + nick + ".txt"), builder.ToString()); Response.Write("<script>alert('清除成功!');</script>"); Response.End(); }
public void OnAfterReturnItems(SearchWinReturnedEventArg e) { switch (e.SearchWinType) { case SearchWinType.Input_Text: foreach (string data in e.PostData.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries)) { if (!string.IsNullOrEmpty(data)) { AddChild(data); } } break; default: JsonObjectList<JsonItem> list = JsonParser.ParseJsonResponse<JsonItem>(e.PostData); foreach (JsonItem item in list) { if (string.IsNullOrEmpty(item.DetailUrl)) { ITopClient client = GetProductTopClient(); ItemGetRequest req = new ItemGetRequest(); req.Fields = "detail_url"; req.Iid = item.Id; req.Nick = item.Nick; Item rsp = client.Execute<Item>(req, new ItemJsonParser()); if (rsp != null && !string.IsNullOrEmpty(rsp.DetailUrl)) { item.DetailUrl = rsp.DetailUrl; } } AddChild(item.ToJsonString()); } break; } Response.Redirect(Request.Url.AbsoluteUri); }
/// <summary> /// 清除宝贝描述 /// </summary> private void DeleteTaobaoitmes(string nick2) { WriteLog("活动清除进行", "1", "err", ""); //获取正在进行中的宝贝同步任务 string appkey = "12287381"; string secret = "d3486dac8198ef01000e7bd4504601a4"; string session = string.Empty; TopXmlRestClient client = new TopXmlRestClient("http://gw.api.taobao.com/router/rest", appkey, secret); string sql = "SELECT top 100 t.*, s.sessiongroupbuy FROM Tete_ActivityMission t INNER JOIN TopTaobaoShop s ON s.nick = t.nick WHERE t.isok = 0 AND t.typ = 'delete' and s.nick='" + nick2 + "' ORDER BY t.id ASC"; DataTable dt = utils.ExecuteDataTable(sql); DataTable dtWrite = null; if (dt != null) { WriteLog("活动清除进行中", "1", "err", ""); for (int i = 0; i < dt.Rows.Count; i++) { session = dt.Rows[i]["sessiongroupbuy"].ToString(); sql = "SELECT * FROM Tete_ActivityWriteContent WHERE shoptempletID= '" + dt.Rows[i]["shoptempletID"].ToString() + "' and ActivityID = '" + dt.Rows[i]["ActivityID"].ToString() + "'"; WriteLog(sql, "1", "err", ""); dtWrite = utils.ExecuteDataTable(sql); if (dtWrite != null) { WriteLog("商品总数" + dtWrite.Rows.Count.ToString(), "1", "err", ""); for (int j = 0; j < dtWrite.Rows.Count; j++) { try { //获取原宝贝描述 ItemGetRequest requestItem = new ItemGetRequest(); requestItem.Fields = "desc"; requestItem.NumIid = long.Parse(dtWrite.Rows[j]["itemid"].ToString()); Item product = client.ItemGet(requestItem, session); string newContent = string.Empty; string ActivityMissionID = dtWrite.Rows[j]["ActivityMissionID"].ToString(); string tetegroupbuyGuid = ActivityMissionID; string sqltemp = "SELECT * FROM Tete_ActivityMission WHERE id = '" + ActivityMissionID + "'"; DataTable dttemp = utils.ExecuteDataTable(sqltemp); if (dttemp == null) { return; } newContent = product.Desc; if (!Regex.IsMatch(product.Desc, @"<div>[\s]*<a name=""tetesoft-area-start-" + tSaid + @""">[\s]*</a>[\s]*</div>[\s]*([\s\S]*)<div>[\s]*<a name=""tetesoft-area-end-" + tSaid + @""">[\s]*</a>[\s]*</div>")) { //如果没有代码 tetegroupbuyGuid = dtWrite.Rows[j]["ActivityID"].ToString(); if (!Regex.IsMatch(product.Desc, @"<div>[\s]*<a name=""tetesoft-area-start-" + tSaid + @""">[\s]*</a>[\s]*</div>[\s]*([\s\S]*)<div>[\s]*<a name=""tetesoft-area-end-" + tSaid + @""">[\s]*</a>[\s]*</div>")) { //更新状态 // WriteDeleteLog2("http://item.taobao.com/item.htm?id=" + dtWrite.Rows[j]["itemid"].ToString() + " 不含需要清除的代码", ""); //更新状态 WriteLog("http://item.taobao.com/item.htm?id=" + dtWrite.Rows[j]["itemid"].ToString() + " 不含需要清除的代码" + dtWrite.Rows.Count.ToString(), "1", "err", ""); sql = "UPDATE Tete_ActivityWriteContent SET isok = 1 WHERE id = " + dtWrite.Rows[j]["id"].ToString(); utils.ExecuteNonQuery(sql); //更新状态 sql = "UPDATE Tete_ActivityMission SET success = success + 1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); continue; } else { newContent = Regex.Replace(product.Desc, @"<div>[\s]*<a name=""tetesoft-area-start-" + tSaid + @""">[\s]*</a>[\s]*</div>[\s]*([\s\S]*)<div>[\s]*<a name=""tetesoft-area-end-" + tSaid + @""">[\s]*</a>[\s]*</div>", @""); //更新宝贝描述 IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("num_iid", dtWrite.Rows[j]["itemid"].ToString()); param.Add("desc", newContent); string resultpro = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.item.update ", session, param); //插入宝贝错误日志 if (resultpro.IndexOf("ITEM_PROPERTIES_ERROR") != -1) { WriteLog("errID:" + dtWrite.Rows[j]["itemid"].ToString() + "errinfo" + resultpro, "", dt.Rows[i]["nick"].ToString(), dtWrite.Rows[j]["ActivityMissionID"].ToString()); //更新宝贝错误数 sql = "UPDATE Tete_ActivityMission SET fail = fail + 1,isok = -1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); } else { WriteLog("删除itemid:" + dtWrite.Rows[j]["itemid"].ToString() + resultpro, "", dt.Rows[i]["nick"].ToString(), dtWrite.Rows[j]["ActivityMissionID"].ToString()); //更新状态 sql = "UPDATE Tete_ActivityWriteContent SET isok = 1 WHERE id = " + dtWrite.Rows[j]["id"].ToString(); utils.ExecuteNonQuery(sql); //更新状态 sql = "UPDATE Tete_ActivityMission SET success = success + 1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); } } } else { newContent = Regex.Replace(product.Desc, @"<div>[\s]*<a name=""tetesoft-area-start-" + tSaid + @""">[\s]*</a>[\s]*</div>[\s]*([\s\S]*)<div>[\s]*<a name=""tetesoft-area-end-" + tSaid + @""">[\s]*</a>[\s]*</div>", @""); //更新宝贝描述 IDictionary <string, string> param = new Dictionary <string, string>(); param.Add("num_iid", dtWrite.Rows[j]["itemid"].ToString()); param.Add("desc", newContent); string resultpro = Post("http://gw.api.taobao.com/router/rest", appkey, secret, "taobao.item.update ", session, param); //插入宝贝错误日志 if (resultpro.IndexOf("ITEM_PROPERTIES_ERROR") != -1) { WriteLog("errID:" + dtWrite.Rows[j]["itemid"].ToString() + "errinfo" + resultpro, "", dt.Rows[i]["nick"].ToString(), dtWrite.Rows[j]["ActivityMissionID"].ToString()); //更新宝贝错误数 sql = "UPDATE Tete_ActivityMission SET fail = fail + 1,isok = -1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); } else { WriteLog("删除itemid:" + dtWrite.Rows[j]["itemid"].ToString() + resultpro, "", dt.Rows[i]["nick"].ToString(), dtWrite.Rows[j]["ActivityMissionID"].ToString()); //更新状态 sql = "UPDATE Tete_ActivityWriteContent SET isok = 1 WHERE id = " + dtWrite.Rows[j]["id"].ToString(); utils.ExecuteNonQuery(sql); //更新状态 sql = "UPDATE Tete_ActivityMission SET success = success + 1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); } } } catch (Exception e) { WriteLog("失败" + e.Message, "1", dt.Rows[i]["nick"].ToString(), dtWrite.Rows[j]["ActivityMissionID"].ToString()); WriteLog("失败" + e.StackTrace, "1", dt.Rows[i]["nick"].ToString(), dtWrite.Rows[j]["ActivityMissionID"].ToString()); sql = "UPDATE Tete_ActivityMission SET fail = fail + 1,isok = -1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); continue; } } dtWrite.Dispose(); } sql = "UPDATE Tete_ActivityMission SET isok = 1 WHERE id = " + dt.Rows[i]["id"].ToString(); utils.ExecuteNonQuery(sql); } dt.Dispose(); } }
public Maticsoft.Model.SNS.Posts AddPost(Maticsoft.Model.SNS.Posts Post, int AblumId, long Pid, int PhotoCateId, string PhotoAddress = "", string MapLng = "", string MapLat = "", bool CreatePost = true) { Maticsoft.Model.SNS.Products pModel = new Maticsoft.Model.SNS.Products(); Maticsoft.BLL.SNS.Tags tags = new Maticsoft.BLL.SNS.Tags(); if (Post.Type == 2) { ITopClient topClient = TaoBaoConfig.GetTopClient(); TaobaokeItemsDetailGetRequest request = new TaobaokeItemsDetailGetRequest { Fields = "num_iid,title,price,num_iid,title,cid,nick,desc,price,post_fee,express_fee,ems_fee,item_img.url,click_url,shop_click_url,num,props_name,detail_url,pic_url", NumIids = Pid.ToString() }; TaobaokeItemsDetailGetResponse response = topClient.Execute<TaobaokeItemsDetailGetResponse>(request); Maticsoft.BLL.SNS.CategorySource source = new Maticsoft.BLL.SNS.CategorySource(); Item item = new Item(); item = (response.TaobaokeItemDetails.Count > 0) ? response.TaobaokeItemDetails[0].Item : null; pModel.ProductUrl = (response.TaobaokeItemDetails.Count > 0) ? response.TaobaokeItemDetails[0].ClickUrl : ""; if (response.TaobaokeItemDetails.Count < 1) { ItemGetRequest request2 = new ItemGetRequest { Fields = "num_iid,title,price,num_iid,title,cid,nick,desc,price,item_img.url,click_url,shop_click_url,num,props_name,detail_url,pic_url", NumIid = new long?(Pid) }; item = topClient.Execute<ItemGetResponse>(request2).Item; pModel.ProductUrl = item.DetailUrl; } Maticsoft.Model.SNS.CategorySource model = source.GetModel(3, Convert.ToInt32(item.Cid)); pModel.CategoryID = (model != null) ? model.SnsCategoryId : 0; pModel.NormalImageUrl = item.PicUrl; pModel.ThumbImageUrl = item.PicUrl + "_300x300.jpg"; pModel.Price = new decimal?(Globals.SafeDecimal(item.Price, (decimal) 0M)); pModel.ProductID = Pid; pModel.ProductName = item.Title; Post.ProductName = pModel.ProductName; pModel.ProductSourceID = 3; pModel.CreatedDate = DateTime.Now; pModel.CreatedNickName = Post.CreatedNickName; pModel.CreateUserID = Post.CreatedUserID; string str = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_check_product"); if (!string.IsNullOrEmpty(str)) { pModel.Status = (str == "0") ? 1 : 0; Post.Status = (str == "0") ? 1 : 0; } else { pModel.Status = 1; Post.Status = 1; } if (FilterWords.ContainsModWords(Post.Description)) { pModel.Status = 0; Post.Status = 0; } else { Post.Description = FilterWords.ReplaceWords(Post.Description); } pModel.ShareDescription = Post.Description; ItemGetRequest request3 = new ItemGetRequest { Fields = "props_name", NumIid = new long?(Pid) }; string propsName = topClient.Execute<ItemGetResponse>(request3).Item.PropsName; pModel.Tags = tags.GetTagStr(propsName); Post.ProductName = pModel.ProductName; if (!string.IsNullOrEmpty(Post.Description)) { Post.Description = Post.Description + "</br><a target='_blank' style='color: #FF7CAE' href='{ProductUrl} '>" + Post.ProductName + "</a>"; } else { Post.Description = "<a target='_blank' style='color: #FF7CAE' href='{ProductUrl} '>" + Post.ProductName + "</a>"; } } else if (Post.Type == 0) { string str3; if (!string.IsNullOrEmpty(Post.ImageUrl)) { str3 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_check_photo"); if (!string.IsNullOrEmpty(str3)) { Post.Status = (str3 == "0") ? 1 : 0; } else { Post.Status = 1; } } else if (!string.IsNullOrEmpty(Post.VideoUrl) && (Post.VideoUrl.Length > 5)) { Post.Type = 3; str3 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_check_video"); if (!string.IsNullOrEmpty(str3)) { Post.Status = (str3 == "0") ? 1 : 0; } else { Post.Status = 1; } } else if (!string.IsNullOrEmpty(Post.AudioUrl)) { str3 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_check_audio"); if (!string.IsNullOrEmpty(str3)) { Post.Status = (str3 == "0") ? 1 : 0; } else { Post.Status = 1; } } else { str3 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("chk_check_word"); if (!string.IsNullOrEmpty(str3)) { Post.Status = (str3 == "0") ? 1 : 0; } else { Post.Status = 1; } } } else if ((Post.Type == 1) && !string.IsNullOrEmpty(Post.ImageUrl)) { string str4 = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_check_picture"); if (!string.IsNullOrEmpty(str4)) { Post.Status = (str4 == "0") ? 1 : 0; } else { Post.Status = 1; } } string valueByCache = Maticsoft.BLL.SysManage.ConfigSystem.GetValueByCache("SNS_ProductAndPhotoRecommandState"); int recommandStateInt = (valueByCache != null) ? Globals.SafeInt(valueByCache, 0) : 0; if (FilterWords.ContainsModWords(Post.Description)) { Post.Status = 0; } else { Post.Description = FilterWords.ReplaceWords(Post.Description); } Maticsoft.Model.SNS.Posts posts = this.dal.AddPost(Post, AblumId, Pid, PhotoCateId, pModel, recommandStateInt, PhotoAddress, MapLng, MapLat, CreatePost); Maticsoft.BLL.SNS.ReferUsers users = new Maticsoft.BLL.SNS.ReferUsers(); if (posts != null) { users.AddEx(Post.Description, EnumHelper.ReferType.Post, posts.PostID, ""); } return posts; }