コード例 #1
0
        public static int GetQTKData(out int success, out int error)
        {
            DateTime dtStart = DateTime.Now;
            string   appkey  = ConfigService.QTKAppKey;
            int      maxPage = 120;
            long     result  = 0;

            success = 0;
            error   = 0;
            string             url        = "http://openapi.qingtaoke.com/qingsoulist?sort=2&page={0}&app_key=" + appkey + "&v=1.0";
            string             response   = "";
            List <Product_QTK> pList      = new List <Product_QTK>();
            Product_QTK        oldProduct = new Product_QTK();
            JObject            first;
            JObject            data;

            for (int i = 1; i <= maxPage; i++)
            {
                response = RequestUtility.GetData(string.Format(url, i));
                if (!string.IsNullOrEmpty(response))
                {
                    first = JObject.Parse(response);
                    if (first["er_code"] != null && Convert.ToInt32(first["er_code"]) == (int)Product_QTK_Code.Success)
                    {
                        data  = JObject.Parse(first["data"].ToString());
                        pList = JsonUtility.JsonDeserialize <Product_QTK>(data["list"].ToString());
                        foreach (Product_QTK item in pList)
                        {
                            result = 0;
                            if (item != null && item.goods_id > 0)
                            {
                                item.addedtime = DateTime.Now;
                                oldProduct     = GetInfo(item.goods_id);
                                if (oldProduct != null)
                                {
                                    result = Update(item);
                                }
                                else
                                {
                                    result = Add(item);
                                }

                                if (result > 0)
                                {
                                    success++;
                                }
                                else
                                {
                                    error++;
                                }
                            }
                        }
                    }
                }
            }
            return(0);
        }
コード例 #2
0
        public static int TaobaoAppInput(string text, int cid)
        {
            text = text.Trim('\n');
            Regex titleReg  = new Regex("(?<=.?).+(?=【包邮】)");
            Regex priceReg  = new Regex("(?<=【在售价】).+(?=元)");
            Regex price2Reg = new Regex("(?<=【券后价】).+(?=元)");
            Regex urlReg    = new Regex("(?<=【下单链接】).+(?=\\n)");
            Regex cmdReg    = new Regex("(?<=复制这条信息,).+(?=,)");

            Regex imgReg        = new Regex("(?<=var extraData = {\"pic\":\").+(?=\",\"title)");
            Regex couponLinkReg = new Regex("(?<=var url = ').+(?=';)");

            try
            {
                string shoplink = urlReg.Match(text).Value;
                if (string.IsNullOrEmpty(shoplink))
                {
                    return(1);
                }
                string response = RequestUtility.GetData(shoplink);
                if (string.IsNullOrEmpty(response))
                {
                    return(2);
                }
                string imgpath = imgReg.Match(response).Value;
                if (string.IsNullOrEmpty(imgpath))
                {
                    return(3);
                }
                imgpath = "https:" + imgpath + "_300x300";
                decimal price2 = Convert.ToDecimal(price2Reg.Match(text).Value);

                Product_MY product = new Product_MY();
                product.AddedID         = ConfigService.LoginUser == null ? 1 : ConfigService.LoginUser.ID;
                product.AddedTime       = DateTime.Now;
                product.AddedType       = 3;
                product.ClickCount      = 0;
                product.CouponCommand   = cmdReg.Match(text).Value;
                product.CouponCount     = 100;
                product.CouponEndTime   = DateTime.Now.AddDays(2);
                product.CouponLink      = couponLinkReg.Match(response).Value;
                product.PPrice          = Convert.ToDecimal(priceReg.Match(text).Value);
                product.CouponMoney     = product.PPrice - price2;
                product.CouponRemain    = 100;
                product.CouponShortLink = shoplink;
                product.CouponStartTime = DateTime.Now;
                product.Desc            = "";
                product.DescImgs        = "";
                product.IsBig           = true;
                product.PCID            = cid;
                product.PCommission     = 0;
                product.PID             = 0;
                product.PImgUrls        = imgpath;
                product.PIntro          = "";
                product.PlanID          = ConfigService.LoginUser == null ? "" : ConfigService.LoginUser.PID;
                product.PLink           = product.CouponLink;
                product.PRate           = 0;
                product.PSales          = 0;
                product.PTitle          = titleReg.Match(text).Value;
                product.Remark          = "";
                if (string.IsNullOrEmpty(product.PTitle) ||
                    string.IsNullOrWhiteSpace(product.CouponCommand) ||
                    !product.PPrice.HasValue ||
                    !product.CouponMoney.HasValue ||
                    string.IsNullOrWhiteSpace(product.CouponShortLink))
                {
                    return(4);
                }
                IQuery <Product_MY> q = MySqlHelper.context.Query <Product_MY>();
                var pmy = q.Where(p => p.CouponCommand == product.CouponCommand || p.CouponShortLink == product.CouponShortLink).FirstOrDefault();
                if (pmy != null)
                {
                    product.ID = pmy.ID;
                    MySqlHelper.context.Update(product);
                }
                else
                {
                    Product_MY newP = MySqlHelper.context.Insert(product);
                }
            }
            catch (Exception ex)
            {
                ErrorLog.WriteTextLog("TaobaoAppInput", ex.ToString(), DateTime.Now);
                return(5);
            }
            return(0);
        }