public void GetTaoBaoGoods() { NickSessionService nsDal = new NickSessionService(); IList <Model.TopNickSessionInfo> list = nsDal.GetAllNickSession(new[] { TopTaoBaoService.Temporary, TopTaoBaoService.YingXiaoJueCe }); GoodsService goodsDal = new GoodsService(); for (int i = 0; i < list.Count; i++) { string shopId = TaoBaoAPI.GetShopInfo(list[i].Nick, list[i].Session); list[i].ShopId = shopId; nsDal.UpdateNickShop(list[i].Nick, shopId); } foreach (Model.TopNickSessionInfo info in list) { List <GoodsInfo> goodsList = TaoBaoAPIService.GetGoodsInfoListByNick(info.Nick, info.Session, info.ServiceId); List <GoodsInfo> allGoods = goodsDal.GetAllGoods(info.Nick); foreach (GoodsInfo ginfo in goodsList) { if (allGoods.Contains(ginfo)) { goodsDal.UpdateGoodsInfo(ginfo); } else { goodsDal.InsertGoods(ginfo, info.Nick); } } } }
/// <summary> /// 所有订购用户信息缓存(12小时更新一次) /// </summary> /// <returns></returns> public static IList <TopNickSessionInfo> GetNickSessionList() { return(new CacheUtility <IList <TopNickSessionInfo> >().Get(KEY_ALLNICKSESSIONINFO, delegate() { NickSessionService nickDal = new NickSessionService(); return nickDal.GetAllNickSession(); }, 60 * 12)); }
public void GetGoodsCollection() { DateTime now = DateTime.Now; string fetchDate = now.ToString("yyyyMMdd"); IList <TopNickSessionInfo> list = new NickSessionService().GetAllNickSession(new[] { TopTaoBaoService.Temporary, TopTaoBaoService.YingXiaoJueCe }); GoodsService goodsDal = new GoodsService(); GoodsCollectionService goodscollecDal = new GoodsCollectionService(); ShopCollectionService shopcollecDal = new ShopCollectionService(); List <ShopCollectionInfo> shopcollecList = shopcollecDal.GetShopCollectionList(fetchDate); List <GoodsCollectionInfo> goodscollecList = goodscollecDal.GetGoodsCollectionList(fetchDate); //Regex regex = null; foreach (TopNickSessionInfo info in list) { string shopUrl = "http://count.tbcdn.cn/counter3?keys=SCCP_2_" + info.ShopId + "&callback=TShop.setShopStat"; string s = GetWebSiteContent(shopUrl, "get", "", "gbk"); if (s.Contains(":")) { string shopcollec = s.Substring(s.IndexOf(":") + 1, s.IndexOf("}") - s.IndexOf(":") - 1); IList <ShopCollectionInfo> myshop = shopcollecList.Where(o => o.ShopId == info.ShopId).ToList(); ShopCollectionInfo shopcinfo = new ShopCollectionInfo(); shopcinfo.ShopId = info.ShopId; shopcinfo.ShopDate = fetchDate; shopcinfo.CollectionCount = int.Parse(shopcollec); if (myshop.Count > 0) { shopcollecDal.UpdateCollection(shopcinfo); } else { shopcollecDal.InsertShopCollectionInfo(shopcinfo); } } //LogHelper.ServiceLog.RecodeLog(info.Nick + shopcollec); IList <string> goodsIds = goodsDal.GetGoodsIds(info.Nick); foreach (string gid in goodsIds) { //string s = GetWebSiteContent("http://item.taobao.com/item.htm?id=" + gid, "get", "", "gbk"); //"apiItemViews": "http://count.taobao.com/counter2?keys=ICVT_7_10011714578&inc=ICVT_7_10011714578&callback=page_viewcount&sign=4084248dfb302ce856d227475a79a5b39c653", //regex = new Regex(@"""apiItemViews"": ""([^""]*)"",", RegexOptions.IgnoreCase); string goodsUrl = "http://count.tbcdn.cn/counter3?keys=ICCP_1_" + gid + "&callback=TShop.mods.SKU.Stat.setCollectCount"; string gs = GetWebSiteContent(goodsUrl, "get", "", "gbk"); if (gs.Contains(":")) { string goodspcollec = gs.Substring(gs.IndexOf(":") + 1, gs.IndexOf("}") - gs.IndexOf(":") - 1); IList <GoodsCollectionInfo> mygoods = goodscollecList.Where(o => o.GoodsId == gid).ToList(); GoodsCollectionInfo goodscinfo = new GoodsCollectionInfo(); goodscinfo.GoodsId = gid; goodscinfo.CollectionDate = fetchDate; goodscinfo.Collection = int.Parse(goodspcollec); if (mygoods.Count > 0) { goodscollecDal.UpdateCollection(goodscinfo); } else { goodscollecDal.InsertGoodsCollectionInfo(goodscinfo); } } //LogHelper.ServiceLog.RecodeLog(gid + goodspcollec); } } }
public void GetTalkRecordContent() { IList <TopNickSessionInfo> list = new NickSessionService().GetAllNickSession(Enum.TopTaoBaoService.Temporary); TalkRecodService trDal = new TalkRecodService(); SubUserService userDal = new SubUserService(); foreach (TopNickSessionInfo info in list) { DateTime now = trDal.GetMaxTime(info.Nick); ServiceLog.RecodeLog(info.Nick + "开始获取时间" + now); trDal.CreateTable(DBHelp.DataHelper.Encrypt(info.Nick)); //List<GroupMember> memberList = TaoBaoAPI.GetNickGroupList(info.Nick, info.Session); List <SubUserInfo> hasuserList = userDal.GetAllChildNick(info.Nick); List <string> childNicks = new List <string>(); //直接获取子帐号列表 //if (memberList.Count == 0) //{ IList <SubUserInfo> userList = TaoBaoAPI.GetChildNick(info.Nick, info.Session); foreach (SubUserInfo uinfo in userList) { childNicks.Add(uinfo.nick); if (hasuserList.Where(o => o.nick == uinfo.nick).ToList().Count == 0) { userDal.InsertSubUserInfo(uinfo); } } //} //else //{ // foreach (GroupMember minfo in memberList) // { // foreach (string cnick in minfo.MemberIdList) // { // if (childNicks.Contains(cnick)) // continue; // childNicks.Add(cnick); // } // } //} //foreach (GroupMember minfo in memberList) //{ DateTime rnow = DateTime.Now; List <TalkContent> allcontent = trDal.GetAllContent(now.AddHours(-16), now, info.Nick); foreach (string fromNick in childNicks) { List <TalkObj> objList = TaoBaoAPI.GetTalkObjList(fromNick.Replace("cntaobao", ""), info.Session, now, rnow); foreach (TalkObj obj in objList) { List <TalkContent> contents = TaoBaoAPI.GetTalkContentNow(info.Session, fromNick.Replace("cntaobao", ""), obj.uid.Replace("cntaobao", ""), now, rnow); for (int i = 0; i < contents.Count; i++) { contents[i].FromNick = fromNick.Replace("cntaobao", ""); contents[i].ToNick = obj.uid.Replace("cntaobao", ""); if (allcontent.Contains(contents[i])) { continue; } trDal.InsertContent(contents[i], info.Nick); } } } //} } }