Exemplo n.º 1
0
        /// <summary>
        /// 从一个SqlDataReader里读数据
        /// </summary>
        /// <param name="Reader">SqlDataReader</param>
        /// <returns>opponent_dianpuExample</returns>
        public static opponent_dianpu GetByReader(SqlDataReader Reader)
        {
            opponent_dianpu opponent_dianpuExample = new opponent_dianpu();

            opponent_dianpuExample.oid           = Reader["oid"] == DBNull.Value ? 0 : (int)Reader["oid"];
            opponent_dianpuExample.odpname       = Reader["odpname"] == DBNull.Value ? null : Reader["odpname"].ToString();
            opponent_dianpuExample.odcollectdate = Reader["odcollectdate"] == DBNull.Value ? null : Reader["odcollectdate"].ToString();
            opponent_dianpuExample.odTBID        = Reader["odTBID"] == DBNull.Value ? null : Reader["odTBID"].ToString();
            opponent_dianpuExample.odwangwang    = Reader["odwangwang"] == DBNull.Value ? null : Reader["odwangwang"].ToString();
            return(opponent_dianpuExample);
        }
Exemplo n.º 2
0
        void bind_dianpu()
        {
            IList <opponent_dianpu> list = BLL2.opponent_dianpuManager.SearchAll();
            //cb_dianpu.DataSource = list;
            opponent_dianpu dp = new opponent_dianpu();

            dp.odpname = "请选择";
            dp.odTBID  = "";
            dp.oid     = 0;
            list.Insert(0, dp);
            cb_dianpu.DataSource = list;
        }
Exemplo n.º 3
0
        /// <summary>
        /// 查询全部数据
        /// </summary>
        /// <returns>IList</returns>
        /*查看是否为视图*/
        public IList <opponent_dianpu> SearchAll()
        {
            DBHelper.sqlstr = "select * from opponent_dianpu  ORDER BY odcollectdate desc ";
            List <opponent_dianpu> list   = new List <opponent_dianpu>();
            SqlDataReader          reader = DBHelper.ExecuteReader();

            while (reader.Read())
            {
                opponent_dianpu Obj = GetByReader(reader);
                list.Add(Obj);
            }
            reader.Close();
            return(list);
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取最后一条信息
        /// </summary>
        /// <param name="oid">编号</param>
        /// <returns></returns>
        /*查看是否为视图*/

        public opponent_dianpu SearchLastOne()
        {
            DBHelper.sqlstr = "SELECT TOP 1 * FROM opponent_dianpu ORDER BY odcollectdate desc";

            SqlDataReader   reader = DBHelper.ExecuteReader();
            opponent_dianpu Obj    = null;

            if (reader.Read())
            {
                Obj = GetByReader(reader);
            }
            reader.Close();
            return(Obj);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 根据表,获取一个SqlParameter数组
        /// </summary>
        /// <returns>SqlParameter[]</returns>
        public static SqlParameter[] GetSqlParameters(opponent_dianpu opponent_dianpuExample)
        {
            List <SqlParameter> list_param = new List <SqlParameter>();

            if (!string.IsNullOrEmpty(opponent_dianpuExample.odpname))
            {
                list_param.Add(new SqlParameter("@odpname", opponent_dianpuExample.odpname));
            }
            else
            {
                list_param.Add(new SqlParameter("@odpname", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpuExample.odcollectdate))
            {
                list_param.Add(new SqlParameter("@odcollectdate", opponent_dianpuExample.odcollectdate));
            }
            else
            {
                list_param.Add(new SqlParameter("@odcollectdate", DBNull.Value));
            }

            if (!string.IsNullOrEmpty(opponent_dianpuExample.odTBID))
            {
                list_param.Add(new SqlParameter("@odTBID", opponent_dianpuExample.odTBID));
            }
            else
            {
                list_param.Add(new SqlParameter("@odTBID", DBNull.Value));
            }

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

            foreach (SqlParameter p in list_param)
            {
                param[index] = p;
                index++;
            }
            return(param);
        }
Exemplo n.º 6
0
        /// <summary>
        /// 插入方法
        /// </summary>
        /// <param name="opponent_dianpu">opponent_dianpu表实例</param>
        /// <returns>int</returns>
        public static int Insert(opponent_dianpu opponent_dianpuExample)
        {
            int temp = SearchNum(opponent_dianpuExample.odTBID);

            if (temp == 0)
            {
                return(Service.Insert(opponent_dianpuExample));
            }
            else
            {
                IList <opponent_dianpu> list = Search(1, 99, opponent_dianpuExample.odTBID, "");
                opponent_dianpu         dp   = list[0];
                opponent_dianpuExample.oid = dp.oid;
                return(Service.Update(opponent_dianpuExample));
            }
        }
Exemplo n.º 7
0
        /// <summary>
        /// 根据oid,查询一条数据
        /// </summary>
        /// <param name="oid">编号</param>
        /// <returns></returns>
        /*查看是否为视图*/

        public opponent_dianpu SearchByID(int oid)
        {
            DBHelper.sqlstr = "select * from opponent_dianpu where oid = @oid";
            SqlParameter[] param = new SqlParameter[] {
                new SqlParameter("@oid", oid)
            };
            SqlDataReader   reader = DBHelper.ExecuteReader(param);
            opponent_dianpu Obj    = null;

            if (reader.Read())
            {
                Obj = GetByReader(reader);
            }
            reader.Close();
            return(Obj);
        }
Exemplo n.º 8
0
        /// <summary>
        /// 高级搜索
        /// </summary>
        /// <param name="s">起始位置</param>
        /// <param name="e">结束为止</param>
        /// <param name="key">关键词</param>
        /// <param name="orderby">排序</param>
        /// <returns>IList<opponent_dianpu></returns>
        public IList <opponent_dianpu> Search(int s, int e, string key, string orderby)
        {
            string sql1 = "select  top " + (e - s + 1).ToString() + " *   from opponent_dianpu where ";
            string sql2 = string.IsNullOrEmpty(key) ? " 1=1 " : " ( odpname  like '%" + key + "%' or  odTBID like '%" + key + "%' or  odcollectdate like '%" + key + "%'  or  odwangwang  like '%" + key + "%'     ) ";
            string sql3 = string.IsNullOrEmpty(orderby) ? " order by odcollectdate desc " : " order by " + orderby;
            string sql4 = s == 1 ? "" : " and oid not in ( select top " + (s - 1).ToString() + " oid from opponent_dianpu where " + sql2 + sql3 + " ) ";

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

            while (reader.Read())
            {
                opponent_dianpu Obj = GetByReader(reader);
                list.Add(Obj);
            }
            reader.Close();
            return(list);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 高级搜索
        /// </summary>
        /// <param name="s">起始位置</param>
        /// <param name="e">结束为止</param>
        /// <param name="key">关键词</param>
        /// <param name="orderby">排序</param>
        /// <returns>IList<opponent_dianpu></returns>
        public IList <opponent_dianpu> Search(int s, int e, string key, string orderby)
        {
            string sql1 = "select  *   from opponent_dianpu where ";
            string sql2 = string.IsNullOrEmpty(key) ? " 1=1 " : " ( odpname  like '%" + key + "%' or  odTBID like '%" + key + "%' or  odcollectdate like '%" + key + "%'  or  odwangwang  like '%" + key + "%'     ) ";
            string sql3 = string.IsNullOrEmpty(orderby) ? " order by odcollectdate desc " : " order by " + orderby;
            string sql9 = e == 0 ? " " : " limit " + s + "," + e;

            DBHelper.sqlstr = sql1 + sql2 + sql3 + sql9;
            List <opponent_dianpu> list   = new List <opponent_dianpu>();
            MySqlDataReader        reader = DBHelper.ExecuteReader();

            while (reader.Read())
            {
                opponent_dianpu Obj = GetByReader(reader);
                list.Add(Obj);
            }
            reader.Close();
            return(list);
        }
Exemplo n.º 10
0
        void bind()
        {
            try
            {
                opponent_dianpu dp = BLL2.opponent_dianpuManager.SearchLastOne();

                if (dp != null)
                {
                    IList <opponent_dianpu_info> list = BLL2.opponent_dianpu_infoManager.Search(1, 100, "", "", dp.odcollectdate, "");
                    if (list.Count > 0)
                    {
                        bind_dianpu_info(list[0]);
                    }
                    IList <opponent_goods> list2 = BLL2.opponent_goodsManager.Search(1, 9999, "", "", "", dp.odcollectdate, "");
                    dgv1.DataSource = Manager.BindingSort_opponent_goods(list2);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("绑定失败" + ex.Message);
            }
        }
Exemplo n.º 11
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="opponent_dianpu">opponent_dianpu表实例</param>
 /// <returns>int</returns>
 public static int Update(opponent_dianpu opponent_dianpuExample)
 {
     return(Service.Update(opponent_dianpuExample));
 }
Exemplo n.º 12
0
 /// <summary>
 /// 更新
 /// </summary>
 /// <param name="opponent_dianpu">opponent_dianpu表实例</param>
 /// <returns>int</returns>
 public int Update(opponent_dianpu opponent_dianpuExample)
 {
     DBHelper.sqlstr = "update opponent_dianpu set odpname=@odpname,odcollectdate=@odcollectdate,odTBID=@odTBID,odwangwang=@odwangwang where oid=" + opponent_dianpuExample.oid;
     return(DBHelper.ExecuteNonQuery(GetSqlParameters(opponent_dianpuExample)));
 }
Exemplo n.º 13
0
 /// <summary>
 /// 插入方法
 /// </summary>
 /// <param name="opponent_dianpu">opponent_dianpu表实例</param>
 /// <returns>int</returns>
 public int Insert(opponent_dianpu opponent_dianpuExample)
 {
     DBHelper.sqlstr = "insert into  opponent_dianpu (odpname,odcollectdate,odTBID,odwangwang)values(@odpname,@odcollectdate,@odTBID,@odwangwang)";
     return(DBHelper.ExecuteNonQuery(GetSqlParameters(opponent_dianpuExample)));
 }
Exemplo n.º 14
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("采集完成");
        }