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); } }
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); } } } } }