示例#1
0
        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);
                    }
                }
            }
        }
示例#2
0
 /// <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));
 }
示例#3
0
        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);
                }
            }
        }
示例#4
0
        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);
                        }
                    }
                }
                //}
            }
        }