Ejemplo n.º 1
0
        /// <summary> SKU价格列表变更
        /// </summary>
        /// <param name="pid"></param>
        public void ChangeProductSKUDetail(long pid)
        {
            IList <ProductSKUModel>     productSKUList;
            IList <ProductActivityItem> activityList;

            try
            {
                string productKey  = RedisKeyConst.GetProductInfoKey(pid).Key;
                var    productInfo = CN100.Redis.Client.RedisClientUtility.GetData <ProductInfoModel>(productKey);
                if (productInfo == null)
                {
                    return;
                }

                //获取SKU信息
                productSKUList = productInfo.SkuList;
                activityList   = productInfo.ProductActivityList;
                ChangeProductSKUDetail(productSKUList, activityList, RedisKeyConst.GetProductSKUKey(pid).Key);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Ejemplo n.º 2
0
        /// <summary>变更SKU数据
        /// </summary>
        /// <param name="id">商品ID</param>
        public void ChangeProductSKU(long id)
        {
            string           redisKey = RedisKeyConst.GetProductInfoKey(id).Key;
            ProductInfoModel prodInfo = CN100.Redis.Client.RedisClientUtility.GetData <ProductInfoModel>(redisKey);

            if (prodInfo == null)
            {
                PublishProduct(id);
            }
            else
            {
                using (WcfTcpClient <IProductService> clint = factory.CreateClient <IProductService>())
                {
                    prodInfo.SkuList = clint.Channel.GetProductSKUList(id);
                }
                if (prodInfo != null)
                {
                    CN100.Redis.Client.RedisClientUtility.SetData <ProductInfoModel>(redisKey, prodInfo);
                    ChangeProductSKUDetail(prodInfo.SkuList, prodInfo.ProductActivityList, RedisKeyConst.GetProductSKUKey(id).Key);
                }
                else
                {
                    DeleteByKey(redisKey);
                }
            }
        }
        /// <summary>活动信息变更
        /// </summary>
        /// <param name="redisKey"></param>
        /// <param name="pid"></param>
        public void ChangeProductActivity(long pid)
        {
            ProductService pservice = new ProductService();
            string         redisKey = RedisKeyConst.GetProductInfoKey(pid).Key;
            var            prodInfo = CN100.Redis.Client.RedisClientUtility.GetData <ProductInfoModel>(redisKey);

            if (prodInfo == null)
            {
                pservice.PublishProduct(pid);
            }
            else
            {
                using (WcfTcpClient <IActivityService> clint = factory.CreateClient <IActivityService>())
                {
                    prodInfo.ProductActivityList = clint.Channel.GetProductActivitys(pid);
                }
                CN100.Redis.Client.RedisClientUtility.SetData <ProductInfoModel>(redisKey, prodInfo);
                pservice.ChangeProductSKUDetail(prodInfo.SkuList, prodInfo.ProductActivityList, RedisKeyConst.GetProductSKUKey(pid).Key);
            }
        }