示例#1
0
 public void Publish(JobMqChangeDesc mss)
 {
 }
示例#2
0
        public override void ProcessMessage(BasicDeliverEventArgs message)
        {
            try
            {
                var pt = ProductEntity.GetFromJson(message.Body);
                _producerClassification.Publish(new Classification()
                {
                    CompanyId = pt.CompanyId, Id = pt.ID, Category = pt.GetCategoryString()
                }.GetArbyteJson());
                if (pt.StatusChange.IsNew)
                {
                    _chLastProduct.UpdateBathLastUpdateProduct(pt.CompanyId, new List <long> {
                        pt.ID
                    }, DateTime.Now);
                    _chProductHash.SetCacheProductHash(pt.CompanyId,
                                                       new ProductHash()
                    {
                        url = pt.DetailUrl, Id = pt.ID, Price = pt.Price, HashImage = pt.GetHashImage(), HashChange = pt.GetHashChange(), HashDuplicate = pt.GetHashDuplicate()
                    });
                }
                else if (pt.StatusChange.IsDelete)
                {
                    _chLastProduct.RemoveProduct(pt.CompanyId, pt.ID);
                    _chProductHash.RemoveProduct(pt.CompanyId, pt.ID);
                }
                else if (pt.StatusChange.IsDuplicate)
                {
                    _chLastProduct.RemoveProduct(pt.CompanyId, pt.ID);
                    _chProductHash.RemoveProduct(pt.CompanyId, pt.CompanyId);
                }
                else if (pt.StatusChange.IsChangeBasic)
                {
                    _chLastProduct.UpdateBathLastUpdateProduct(pt.CompanyId, new List <long> {
                        pt.ID
                    }, DateTime.Now);
                    _chProductHash.SetCacheProductHash(pt.CompanyId,
                                                       new ProductHash()
                    {
                        url = pt.DetailUrl, Id = pt.ID, Price = pt.Price, HashImage = pt.GetHashImage(), HashChange = pt.GetHashChange(), HashDuplicate = pt.GetHashDuplicate()
                    });
                }

                if (pt.StatusChange.IsChangeDesc)
                {
                    var jobDescription = new JobMqChangeDesc()
                    {
                        Id = pt.ID, FullDesc = pt.FullDescHtml, ShortDesc = pt.ShortDescHtml, SpecDesc = pt.SpecsDescHtml, VideoDesc = pt.VideoDescHtml
                    };

                    _producerDescriptionQuang.Publish(UtilZipFile.Zip(jobDescription.GetJSON()));
                    _producerChangeDesc.Publish(UtilZipFile.Zip(jobDescription.GetJSON()));
                    _chProductDesciptioHash.SetHashDesc(pt.CompanyId, new Tuple <long, long>(pt.ID, pt.GetHashDesc()));
                }

                if (pt.StatusChange.IsChangePrice)
                {
                    _jobPushChangePrice.PushQueueChangePriceLog(new JobRabbitChangePrice()
                    {
                        Name = pt.Name, ProductID = pt.ID, CompanyID = pt.CompanyId, NewPrice = pt.Price, OldPrice = pt.OldPrice
                    });
                }
                _log.Info(string.Format("Saved for pt: {0}", pt.ID));
            }
            catch (Exception ex01)
            {
                _log.Error(ex01);
            }
            this.GetChannel().BasicAck(message.DeliveryTag, true);
        }