/// <summary>
        /// 从一个MySqlDataReader里读数据
        /// </summary>
        /// <param name="Reader">MySqlDataReader</param>
        /// <returns>opponent_dianpu_infoExample</returns>
        public static opponent_dianpu_info GetByReader(MySqlDataReader Reader)
        {
            opponent_dianpu_info opponent_dianpu_infoExample = new opponent_dianpu_info();

            opponent_dianpu_infoExample.odiid           = Reader["odiid"] == DBNull.Value ? 0 : (int)Reader["odiid"];
            opponent_dianpu_infoExample.odigoodsnum     = Reader["odigoodsnum"] == DBNull.Value ? 0 : (int)Reader["odigoodsnum"];
            opponent_dianpu_infoExample.odisell0        = Reader["odisell0"] == DBNull.Value ? 0 : (int)Reader["odisell0"];
            opponent_dianpu_infoExample.odiSKUcount     = Reader["odiSKUcount"] == DBNull.Value ? null : Reader["odiSKUcount"].ToString();
            opponent_dianpu_infoExample.odipricehigh    = Reader["odipricehigh"] == DBNull.Value ? null : Reader["odipricehigh"].ToString();
            opponent_dianpu_infoExample.odipricelowset  = Reader["odipricelowset"] == DBNull.Value ? null : Reader["odipricelowset"].ToString();
            opponent_dianpu_infoExample.odipriceaverage = Reader["odipriceaverage"] == DBNull.Value ? null : Reader["odipriceaverage"].ToString();
            opponent_dianpu_infoExample.odisellhigh     = Reader["odisellhigh"] == DBNull.Value ? null : Reader["odisellhigh"].ToString();
            opponent_dianpu_infoExample.odiselllowset   = Reader["odiselllowset"] == DBNull.Value ? null : Reader["odiselllowset"].ToString();
            opponent_dianpu_infoExample.odisellaverage  = Reader["odisellaverage"] == DBNull.Value ? null : Reader["odisellaverage"].ToString();
            opponent_dianpu_infoExample.odisalescount   = Reader["odisalescount"] == DBNull.Value ? null : Reader["odisalescount"].ToString();
            opponent_dianpu_infoExample.odisellcount    = Reader["odisellcount"] == DBNull.Value ? null : Reader["odisellcount"].ToString();
            opponent_dianpu_infoExample.odidongxiao     = Reader["odidongxiao"] == DBNull.Value ? null : Reader["odidongxiao"].ToString();
            opponent_dianpu_infoExample.odibaozhangjin  = Reader["odibaozhangjin"] == DBNull.Value ? null : Reader["odibaozhangjin"].ToString();
            opponent_dianpu_infoExample.odiDSRmiaoshu   = Reader["odiDSRmiaoshu"] == DBNull.Value ? null : Reader["odiDSRmiaoshu"].ToString();
            opponent_dianpu_infoExample.odiDSRzhiliang  = Reader["odiDSRzhiliang"] == DBNull.Value ? null : Reader["odiDSRzhiliang"].ToString();
            opponent_dianpu_infoExample.odiDSRwuliu     = Reader["odiDSRwuliu"] == DBNull.Value ? null : Reader["odiDSRwuliu"].ToString();
            opponent_dianpu_infoExample.odpid           = Reader["odpid"] == DBNull.Value ? 0 : (int)Reader["odpid"];
            opponent_dianpu_infoExample.ocollectdate    = Reader["ocollectdate"] == DBNull.Value ? null : Reader["ocollectdate"].ToString();
            opponent_dianpu_infoExample.oshopid         = Reader["oshopid"] == DBNull.Value ? null : Reader["oshopid"].ToString();
            opponent_dianpu_infoExample.oremark1        = Reader["oremark1"] == DBNull.Value ? null : Reader["oremark1"].ToString();
            opponent_dianpu_infoExample.oremark2        = Reader["oremark2"] == DBNull.Value ? null : Reader["oremark2"].ToString();
            opponent_dianpu_infoExample.oremark3        = Reader["oremark3"] == DBNull.Value ? null : Reader["oremark3"].ToString();
            return(opponent_dianpu_infoExample);
        }
Esempio n. 2
0
        private void btn_jisuan_Click(object sender, EventArgs e)
        {
            List <opponent_goods> list = Manager.BindingSort_opponent_goods_ToList((BindingCollection <opponent_goods>)dgv1.DataSource);
            opponent_dianpu_info  info = new opponent_dianpu_info();

            bind_dianpu_info(list, info);
        }
        /// <summary>
        /// 查询全部数据
        /// </summary>
        /// <returns>IList</returns>
        /*查看是否为视图*/
        public IList <opponent_dianpu_info> SearchAll()
        {
            DBHelper.sqlstr = "select * from opponent_dianpu_info ";
            List <opponent_dianpu_info> list   = new List <opponent_dianpu_info>();
            MySqlDataReader             reader = DBHelper.ExecuteReader();

            while (reader.Read())
            {
                opponent_dianpu_info Obj = GetByReader(reader);
                list.Add(Obj);
            }
            reader.Close();
            return(list);
        }
        /// <summary>
        /// 根据odiid,查询一条数据
        /// </summary>
        /// <param name="odiid">编号</param>
        /// <returns></returns>
        /*查看是否为视图*/

        public opponent_dianpu_info SearchByID(int odiid)
        {
            DBHelper.sqlstr = "select * from opponent_dianpu_info where odiid = @odiid";
            MySqlParameter[] param = new MySqlParameter[] {
                new MySqlParameter("@odiid", odiid)
            };
            MySqlDataReader      reader = DBHelper.ExecuteReader(param);
            opponent_dianpu_info Obj    = null;

            if (reader.Read())
            {
                Obj = GetByReader(reader);
            }
            reader.Close();
            return(Obj);
        }
        /// <summary>
        /// 高级搜索
        /// </summary>
        /// <param name="s">起始位置</param>
        /// <param name="e">结束为止</param>
        /// <param name="key">关键词</param>
        /// <param name="dpid">店铺ID</param>
        /// <param name="caijidate">最后采集时间</param>
        /// <param name="orderby">排序方式</param>
        /// <returns>IList<opponent_dianpu_info></returns>
        public IList <opponent_dianpu_info> Search(int s, int e, string key, string shopid, string caijidate, string orderby)
        {
            string sql1 = "select  top " + (e - s + 1).ToString() + " *   from opponent_dianpu_info where ";
            string sql2 = string.IsNullOrEmpty(key) ? " 1=1 " : " (  odigoodsnum like '%" + key + "%' or  odisell0 like '%" + key + "%'  or  odiSKUcount like '%" + key + "%'  or  odipricehigh like '%" + key + "%'  or  odipricelowset like '%" + key + "%'  or  odipriceaverage like '%" + key + "%'  or  odisellhigh like '%" + key + "%'  or  odiselllowset like '%" + key + "%'  or  odisellaverage like '%" + key + "%'  or  odisalescount like '%" + key + "%'  or  odisellcount like '%" + key + "%'  or  odidongxiao like '%" + key + "%'  or  odibaozhangjin like '%" + key + "%'  or  odiDSRmiaoshu like '%" + key + "%'  or  odiDSRzhiliang like '%" + key + "%'  or  odiDSRwuliu like '%" + key + "%'  or  oshopid like '%" + key + "%'  or  oremark1 like '%" + key + "%'  or  oremark2 like '%" + key + "%'  or  oremark3 like '%" + key + "%'   ) ";
            string sql3 = string.IsNullOrEmpty(shopid) ? "" : " and oshopid = '" + shopid + "' ";
            string sql4 = string.IsNullOrEmpty(caijidate) ? "" : " and ocollectdate like '%" + caijidate + "%' ";
            string sql8 = string.IsNullOrEmpty(orderby) ? " order by ocollectdate desc " : " order by " + orderby;
            string sql7 = s == 1 ? "" : " and odiid not in ( select top " + (s - 1).ToString() + " odiid from opponent_dianpu_info where " + sql2 + sql3 + sql4 + sql8 + " ) ";

            DBHelper.sqlstr = sql1 + sql2 + sql3 + sql4 + sql7 + sql8;
            List <opponent_dianpu_info> list = new List <opponent_dianpu_info>();
            SqlDataReader reader             = DBHelper.ExecuteReader();

            while (reader.Read())
            {
                opponent_dianpu_info Obj = GetByReader(reader);
                list.Add(Obj);
            }
            reader.Close();
            return(list);
        }
Esempio n. 6
0
 void bind_dianpu_info(opponent_dianpu_info di)
 {
     if (di != null)
     {
         lbl_caijidate.Text    = di.ocollectdate;
         lbl_dongxiao.Text     = di.odidongxiao;
         lbl_dpsales.Text      = di.odisalescount;
         lbl_dpsell.Text       = di.odisellcount;
         lbl_goodsnum.Text     = di.odigoodsnum == 0 ? "0" : di.odigoodsnum.ToString();
         lbl_miaoshu.Text      = di.odiDSRmiaoshu;
         lbl_zhiliang.Text     = di.odiDSRzhiliang;
         lbl_wuliu.Text        = di.odiDSRwuliu;
         lbl_pricedi.Text      = di.odipricelowset;
         lbl_pricegao.Text     = di.odipricehigh;
         lbl_pricepingjun.Text = di.odipriceaverage;
         lbl_salesdi.Text      = di.odiselllowset;
         lbl_salesgao.Text     = di.odisellhigh;
         lbl_salespingjun.Text = di.odisellaverage;
         lbl_sell0.Text        = di.odisell0 == 0 ? "0" : di.odisell0.ToString();
         lbl_skunum.Text       = di.odiSKUcount;
         lbl_baozhengjin.Text  = di.odibaozhangjin;
         lbl_shopid.Text       = di.oshopid;
     }
 }
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="opponent_dianpu_info">opponent_dianpu_info表实例</param>
 /// <returns>int</returns>
 public int Update(opponent_dianpu_info opponent_dianpu_infoExample)
 {
     DBHelper.sqlstr = "update opponent_dianpu_info set odigoodsnum=@odigoodsnum,odisell0=@odisell0,odiSKUcount=@odiSKUcount,odipricehigh=@odipricehigh,odipricelowset=@odipricelowset,odipriceaverage=@odipriceaverage,odisellhigh=@odisellhigh,odiselllowset=@odiselllowset,odisellaverage=@odisellaverage,odisalescount=@odisalescount,odisellcount=@odisellcount,odidongxiao=@odidongxiao,odibaozhangjin=@odibaozhangjin,odiDSRmiaoshu=@odiDSRmiaoshu,odiDSRzhiliang=@odiDSRzhiliang,odiDSRwuliu=@odiDSRwuliu,odpid=@odpid,ocollectdate=@ocollectdate,oshopid=@oshopid,oremark1=@oremark1,oremark2=@oremark2,oremark3=@oremark3 where odiid=" + opponent_dianpu_infoExample.odiid;
     return(DBHelper.ExecuteNonQuery(GetSqlParameters(opponent_dianpu_infoExample)));
 }
 /// <summary>
 /// 插入方法
 /// </summary>
 /// <param name="opponent_dianpu_info">opponent_dianpu_info表实例</param>
 /// <returns>int</returns>
 public int Insert(opponent_dianpu_info opponent_dianpu_infoExample)
 {
     DBHelper.sqlstr = "insert into  opponent_dianpu_info (odigoodsnum,odisell0,odiSKUcount,odipricehigh,odipricelowset,odipriceaverage,odisellhigh,odiselllowset,odisellaverage,odisalescount,odisellcount,odidongxiao,odibaozhangjin,odiDSRmiaoshu,odiDSRzhiliang,odiDSRwuliu,odpid,ocollectdate,oshopid,oremark1,oremark2,oremark3)values(@odigoodsnum,@odisell0,@odiSKUcount,@odipricehigh,@odipricelowset,@odipriceaverage,@odisellhigh,@odiselllowset,@odisellaverage,@odisalescount,@odisellcount,@odidongxiao,@odibaozhangjin,@odiDSRmiaoshu,@odiDSRzhiliang,@odiDSRwuliu,@odpid,@ocollectdate,@oshopid,@oremark1,@oremark2,@oremark3)";
     return(DBHelper.ExecuteNonQuery(GetSqlParameters(opponent_dianpu_infoExample)));
 }
        /// <summary>
        /// 根据表,获取一个MySqlParameter数组
        /// </summary>
        /// <returns>MySqlParameter[]</returns>
        public static MySqlParameter[] GetSqlParameters(opponent_dianpu_info opponent_dianpu_infoExample)
        {
            List <MySqlParameter> list_param = new List <MySqlParameter>();

            if (opponent_dianpu_infoExample.odigoodsnum != 0)
            {
                list_param.Add(new MySqlParameter("@odigoodsnum", opponent_dianpu_infoExample.odigoodsnum));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odigoodsnum", DBNull.Value));
            }
            if (opponent_dianpu_infoExample.odisell0 != 0)
            {
                list_param.Add(new MySqlParameter("@odisell0", opponent_dianpu_infoExample.odisell0));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odisell0", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odiSKUcount))
            {
                list_param.Add(new MySqlParameter("@odiSKUcount", opponent_dianpu_infoExample.odiSKUcount));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odiSKUcount", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odipricehigh))
            {
                list_param.Add(new MySqlParameter("@odipricehigh", opponent_dianpu_infoExample.odipricehigh));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odipricehigh", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odipricelowset))
            {
                list_param.Add(new MySqlParameter("@odipricelowset", opponent_dianpu_infoExample.odipricelowset));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odipricelowset", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odipriceaverage))
            {
                list_param.Add(new MySqlParameter("@odipriceaverage", opponent_dianpu_infoExample.odipriceaverage));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odipriceaverage", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odisellhigh))
            {
                list_param.Add(new MySqlParameter("@odisellhigh", opponent_dianpu_infoExample.odisellhigh));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odisellhigh", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odiselllowset))
            {
                list_param.Add(new MySqlParameter("@odiselllowset", opponent_dianpu_infoExample.odiselllowset));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odiselllowset", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odisellaverage))
            {
                list_param.Add(new MySqlParameter("@odisellaverage", opponent_dianpu_infoExample.odisellaverage));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odisellaverage", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odisalescount))
            {
                list_param.Add(new MySqlParameter("@odisalescount", opponent_dianpu_infoExample.odisalescount));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odisalescount", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odisellcount))
            {
                list_param.Add(new MySqlParameter("@odisellcount", opponent_dianpu_infoExample.odisellcount));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odisellcount", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odidongxiao))
            {
                list_param.Add(new MySqlParameter("@odidongxiao", opponent_dianpu_infoExample.odidongxiao));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odidongxiao", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odibaozhangjin))
            {
                list_param.Add(new MySqlParameter("@odibaozhangjin", opponent_dianpu_infoExample.odibaozhangjin));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odibaozhangjin", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odiDSRmiaoshu))
            {
                list_param.Add(new MySqlParameter("@odiDSRmiaoshu", opponent_dianpu_infoExample.odiDSRmiaoshu));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odiDSRmiaoshu", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odiDSRzhiliang))
            {
                list_param.Add(new MySqlParameter("@odiDSRzhiliang", opponent_dianpu_infoExample.odiDSRzhiliang));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odiDSRzhiliang", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.odiDSRwuliu))
            {
                list_param.Add(new MySqlParameter("@odiDSRwuliu", opponent_dianpu_infoExample.odiDSRwuliu));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odiDSRwuliu", DBNull.Value));
            }
            if (opponent_dianpu_infoExample.odpid != 0)
            {
                list_param.Add(new MySqlParameter("@odpid", opponent_dianpu_infoExample.odpid));
            }
            else
            {
                list_param.Add(new MySqlParameter("@odpid", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.ocollectdate))
            {
                list_param.Add(new MySqlParameter("@ocollectdate", opponent_dianpu_infoExample.ocollectdate));
            }
            else
            {
                list_param.Add(new MySqlParameter("@ocollectdate", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.oshopid))
            {
                list_param.Add(new MySqlParameter("@oshopid", opponent_dianpu_infoExample.oshopid));
            }
            else
            {
                list_param.Add(new MySqlParameter("@oshopid", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.oremark1))
            {
                list_param.Add(new MySqlParameter("@oremark1", opponent_dianpu_infoExample.oremark1));
            }
            else
            {
                list_param.Add(new MySqlParameter("@oremark1", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.oremark2))
            {
                list_param.Add(new MySqlParameter("@oremark2", opponent_dianpu_infoExample.oremark2));
            }
            else
            {
                list_param.Add(new MySqlParameter("@oremark2", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpu_infoExample.oremark3))
            {
                list_param.Add(new MySqlParameter("@oremark3", opponent_dianpu_infoExample.oremark3));
            }
            else
            {
                list_param.Add(new MySqlParameter("@oremark3", DBNull.Value));
            }
            MySqlParameter[] param = new MySqlParameter[list_param.Count];
            int index = 0;

            foreach (MySqlParameter p in list_param)
            {
                param[index] = p;
                index++;
            }
            return(param);
        }
Esempio n. 10
0
        private void btn_caiji1_Click(object sender, EventArgs e)
        {
            GC.Collect();
            dgv1.Rows.Clear();
            string str = txt_key.Text.Trim();


            //判断是否已经选择采集店铺
            string temp_dp = cb_dianpu.SelectedValue.ToString();

            if (!string.IsNullOrEmpty(temp_dp))
            {
                IList <opponent_dianpu> temp_listdp2 = BLL2.opponent_dianpuManager.Search(1, 100, temp_dp, "");
                if (temp_listdp2.Count > 0)
                {
                    str = temp_listdp2[0].odwangwang;
                }
            }



            //str = "https://item.taobao.com/item.htm?spm=a1z10.3-c-s.w4002-14460596614.23.XM7KUF&id=540733715384";//sunny家网址
            if (string.IsNullOrEmpty(str))
            {
                MessageBox.Show("请输入要分析的店铺");
                return;
                //str = "miss原创定制";
            }
            //判断是否是网址
            int    temp_isurl = str.IndexOf("http");
            string id         = Manager.GetValueByURL(str, "id");
            string datenow    = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分");

            //如果是网址
            if (temp_isurl > -1 && !string.IsNullOrEmpty(id))
            {
                //string url = Manager.GetDPurlByWangwang(str);
                Browser.urlstr = str;
                webBrowser1.Navigate(Browser.urlstr);
                //判断是否加载完成
                if (Browser.WaitWebPageLoad(webBrowser1))
                {
                    try
                    {
                        if (webBrowser1.Document != null)
                        {
                            //判断是否是邮费链接
                            HtmlElementCollection elem1 = webBrowser1.Document.GetElementById("attributes").GetElementsByTagName("ul")[0].GetElementsByTagName("li");

                            if (elem1.Count > 0)
                            {
                                //string datenow = DateTime.Now.ToString("yyyy年MM月dd日HH时mm分");
                                //先采集商品
                                opponent_goods        og   = CaiJi.CaijiGoods(datenow, webBrowser1);
                                List <opponent_goods> list = new List <opponent_goods>();
                                if (og != null)
                                {
                                    list.Add(og);
                                    dgv1.DataSource = Manager.BindingSort_opponent_goods(list);
                                    //再采集店铺信息,需要跳转页面
                                    Entity.opponent_dianpu dp = CaiJi.CaijiDP(datenow, webBrowser1);
                                    BLL2.opponent_dianpuManager.Insert(dp);

                                    opponent_dianpu_info dpinfo = CaiJi.CaijiDPSDR(datenow, webBrowser1);
                                    dpinfo = bind_dianpu_info(list, dpinfo);
                                    BLL2.opponent_dianpu_infoManager.Insert(dpinfo);

                                    BLL2.opponent_goodsManager.Insert(og);
                                    GC.Collect();//释放内存
                                }
                            }
                            else
                            {
                                Debug.WriteLine("======================================================================");
                                Debug.WriteLine("网址:" + Browser.urlstr);
                                Debug.WriteLine("该商品可能是 邮费链接 ");
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        //MessageBox.Show("采集信息失败:" + ex.Message);
                        Debug.WriteLine("======================================================================");
                        Debug.WriteLine("网址:" + Browser.urlstr);
                        Debug.WriteLine(DateTime.Now.ToString());
                        Debug.WriteLine("单品采集信息失败:" + ex.Message);
                    }
                }
            }
            else
            {
                //如果不是网址
                string url = CaiJi.GetShopSearchURL(str);
                url = Browser.UrlEncode(url, Encoding.UTF8);
                //Debug.WriteLine(url);
                //跳转到搜索店铺页面
                Browser.urlstr = url;
                webBrowser1.Navigate(Browser.urlstr);
                //判断是否加载完成
                if (Browser.WaitWebPageLoad(webBrowser1))
                {
                    try
                    {
                        if (webBrowser1.Document != null)
                        {
                            string url_shop = CaiJi.GetShopUrlByWangWang(str, webBrowser1);
                            //如果没有找到店铺网址,或者没有开店信息
                            if (string.IsNullOrEmpty(url_shop))
                            {
                                Debug.WriteLine("采集店铺时,没有找到店铺网址,或者没有开店信息");
                                MessageBox.Show("没有采集到该店铺信息");
                                return;
                            }
                            List <string>         list_url   = new List <string>();
                            List <opponent_goods> list_goods = new List <opponent_goods>();

                            //默认查询20页
                            for (int i = 0; i < 20; i++)
                            {
                                string url_goodslist = CaiJi.GetShopGoodsListURL(url_shop, i + 1);
                                Browser.urlstr = url_goodslist;
                                //跳转到商品列表页面
                                webBrowser1.Navigate(Browser.urlstr);
                                //break;
                                //判断是否加载完成
                                if (Browser.WaitWebPageLoad(webBrowser1))
                                {
                                    if (webBrowser1.Document != null)
                                    {
                                        //判断是否还有商品
                                        Browser.jsstr = "  getClassName('no-result-new').length;  ";
                                        if (Browser.JS_WebBrowser(webBrowser1) == "1")
                                        {
                                            break;
                                        }
                                        else
                                        {
                                            //================
                                            //list_url = CaiJi.GetGoodsUrlList(webBrowser1);
                                            //获取本页面商品网址List
                                            List <string> temp_list_url = CaiJi.GetGoodsUrlList(webBrowser1);
                                            Debug.WriteLine("获取本页面商品网址List" + temp_list_url.Count.ToString());
                                            if (temp_list_url.Count > 0)
                                            {
                                                foreach (string temp_url1 in temp_list_url)
                                                {
                                                    Browser.urlstr = temp_url1;
                                                    //跳转到商品页面
                                                    webBrowser1.Navigate(Browser.urlstr);
                                                    if (Browser.WaitWebPageLoad(webBrowser1))
                                                    {
                                                        if (webBrowser1.Document != null)
                                                        {
                                                            //判断是否是邮费链接
                                                            HtmlElementCollection elem1 = webBrowser1.Document.GetElementById("attributes").GetElementsByTagName("ul")[0].GetElementsByTagName("li");

                                                            if (elem1.Count > 0)
                                                            {
                                                                opponent_goods og = CaiJi.CaijiGoods(datenow, webBrowser1);
                                                                if (og != null)
                                                                {
                                                                    list_goods.Add(og);
                                                                    dgv1.DataSource = Manager.BindingSort_opponent_goods(list_goods);
                                                                    BLL2.opponent_goodsManager.Insert(og);
                                                                    Debug.WriteLine("添加商品:" + og.ogtittle);

                                                                    //绑定店铺信息
                                                                    opponent_dianpu_info dpinfo2 = new opponent_dianpu_info();
                                                                    dpinfo2 = bind_dianpu_info(list_goods, dpinfo2);

                                                                    GC.Collect();//释放内存
                                                                }
                                                            }
                                                            else
                                                            {
                                                                Debug.WriteLine("======================================================================");
                                                                Debug.WriteLine("网址:" + Browser.urlstr);
                                                                Debug.WriteLine("该商品可能是 邮费链接 ");
                                                            }
                                                        }
                                                    }
                                                }
                                            }
                                        }
                                    }
                                }
                            }

                            dgv1.DataSource = Manager.BindingSort_opponent_goods(list_goods);

                            //在本页获取店铺信息
                            opponent_dianpu dp = CaiJi.CaijiDP(datenow, webBrowser1);
                            //在本页获取店铺信息
                            opponent_dianpu_info dpinfo = CaiJi.CaijiDPSDR(datenow, webBrowser1);
                            //从商品列表获取店铺信息

                            dpinfo = bind_dianpu_info(list_goods, dpinfo);


                            BLL2.opponent_dianpu_infoManager.Insert(dpinfo);
                            BLL2.opponent_dianpuManager.Insert(dp);


                            GC.Collect();//释放内存
                        }
                    }
                    catch (Exception ex)
                    {
                        Debug.WriteLine("======================================================================");
                        Debug.WriteLine("网址:" + Browser.urlstr);
                        Debug.WriteLine(DateTime.Now.ToString());
                        Debug.WriteLine("全店采集信息失败:" + ex.Message);
                        MessageBox.Show("全店采集信息失败:" + ex.Message);
                    }
                }
            }

            bind_dianpu();
            MessageBox.Show("采集完成");
        }
Esempio n. 11
0
        opponent_dianpu_info bind_dianpu_info(List <opponent_goods> list, opponent_dianpu_info info)
        {
            opponent_dianpu_info dpinfo = new opponent_dianpu_info();

            try
            {
                int     sell0       = 0;
                decimal priceCount  = 0;          //总价格
                decimal priceHigh   = 0;          //最高价格
                decimal priceLowset = 99999;      //最低价格
                decimal salesCount  = 0;          //成交总额
                int     sellCount   = 0;          //总销量
                int     sellHigh    = 0;          //最高销量
                int     sellLowset  = 99999;      //最低销量
                int     SKUCount    = 0;          //SKU总数
                int     goodsCount  = list.Count; //商品总数


                foreach (opponent_goods og in list)
                {
                    if (og != null)
                    {
                        int     temp  = 0;
                        decimal temp1 = 0;

                        if (og.ogsales == "0" || string.IsNullOrEmpty(og.ogsales))
                        {
                            sell0++;
                        }
                        if (Decimal.TryParse(og.ogprice2, out temp1))
                        {
                            priceCount = priceCount + temp1;
                            if (priceHigh < temp1)
                            {
                                priceHigh = temp1;
                            }
                            if (priceLowset > temp1)
                            {
                                priceLowset = temp1;
                            }
                        }
                        if (int.TryParse(og.ogsales, out temp))
                        {
                            try
                            {
                                string temp_price = og.ogprice2;
                                if (temp_price.IndexOf("-") > -1)
                                {
                                    temp_price = temp_price.Split(new char[] { '-' })[0];
                                }

                                salesCount = salesCount + (Convert.ToDecimal(temp) * Convert.ToDecimal(temp_price));//
                                sellCount  = sellCount + temp;
                                if (sellHigh < temp)
                                {
                                    sellHigh = temp;
                                }
                                if (sellLowset > temp)
                                {
                                    sellLowset = temp;
                                }
                            }
                            catch { }
                        }
                        if (int.TryParse(og.ogSKU, out temp))
                        {
                            SKUCount = SKUCount + temp;
                        }
                    }
                }

                dpinfo.odidongxiao     = ((goodsCount - sell0) / goodsCount * 100).ToString();
                dpinfo.odigoodsnum     = goodsCount;
                dpinfo.odipriceaverage = (priceCount / goodsCount).ToString();
                dpinfo.odipricehigh    = priceHigh.ToString();
                dpinfo.odipricelowset  = priceLowset.ToString();
                dpinfo.odisalescount   = salesCount.ToString();
                dpinfo.odisell0        = sell0;
                dpinfo.odisellaverage  = (sellCount / goodsCount).ToString();
                dpinfo.odisellcount    = sellCount.ToString();
                dpinfo.odisellhigh     = sellHigh.ToString();
                dpinfo.odiselllowset   = sellLowset.ToString();
                dpinfo.odiSKUcount     = SKUCount.ToString();

                dpinfo.odibaozhangjin = info.odibaozhangjin;
                dpinfo.odiDSRmiaoshu  = info.odiDSRmiaoshu;
                dpinfo.odiDSRwuliu    = info.odiDSRwuliu;
                dpinfo.odiDSRzhiliang = info.odiDSRzhiliang;
                dpinfo.ocollectdate   = info.ocollectdate;
                dpinfo.oshopid        = info.oshopid;

                bind_dianpu_info(dpinfo);
            }
            catch (Exception ex)
            {
                Debug.WriteLine("计算店铺信息报错:" + ex.Message);
            }
            return(dpinfo);
        }
Esempio n. 12
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="opponent_dianpu_info">opponent_dianpu_info表实例</param>
 /// <returns>int</returns>
 public static int Update(opponent_dianpu_info opponent_dianpu_infoExample)
 {
     return(Service.Update(opponent_dianpu_infoExample));
 }
Esempio n. 13
0
 /// <summary>
 /// 插入方法
 /// </summary>
 /// <param name="opponent_dianpu_info">opponent_dianpu_info表实例</param>
 /// <returns>int</returns>
 public static int Insert(opponent_dianpu_info opponent_dianpu_infoExample)
 {
     return(Service.Insert(opponent_dianpu_infoExample));
 }