Beispiel #1
0
 private void CheckDuplicate(ProductEntity product)
 {
     if (_dicDuplicate.ContainsKey(product.GetHashDuplicate()) &&
         _dicDuplicate[product.GetHashDuplicate()] != product.ID)
     {
         product.StatusChange.IsDuplicate = true;
         _producerDuplicateProduct.PublishString(
             Newtonsoft.Json.JsonConvert.SerializeObject(new ProductDuplicate()
         {
             CId   = _companyId,
             Id    = product.ID,
             Hash  = product.GetHashDuplicate(),
             IdDup = _dicDuplicate[product.GetHashDuplicate()],
             Url   = product.DetailUrl
         }), true, 0);
     }
 }
Beispiel #2
0
        private void Analysic(JobFindNew jobCrawl, HtmlDocument doc)
        {
            if (_company.Status == Common.CompanyStatus.TIN)
            {
                var product = new Product();
                product.Analytics(doc, jobCrawl.Url, _config, false, _company.Domain);
            }
            else
            {
                var product      = new ProductEntity();
                var productParse = new ProductParse();
                productParse.Analytics(product, doc, jobCrawl.Url, _config, _company.Domain);

                if (product.IsSuccessData(_config.CheckPrice))
                {
                    product.Valid = false;
                    if (!IsExistsProduct(product.ID))
                    {
                        if (!_dicDuplicate.ContainsKey(product.GetHashDuplicate()))
                        {
                            product.StatusChange.IsNew = true;
                            PushChangeProduct(product);
                            _dicDuplicate.Add(product.GetHashDuplicate(), product.ID);
                            _crcProductOldGroup.Add(product.ID);
                            _countNewProduct++;
                        }

                        else
                        {
                            _producerDuplicateProduct.PublishString(
                                Newtonsoft.Json.JsonConvert.SerializeObject(new ProductDuplicate()
                            {
                                CId   = _companyId,
                                Id    = product.ID,
                                Hash  = product.GetHashDuplicate(),
                                IdDup = _dicDuplicate[product.GetHashDuplicate()],
                                Url   = product.DetailUrl
                            }), true);
                        }
                    }
                }
            }
        }