public void DoJob()
        {
            var data = DalPinTuan.GetOriginalPinTuanProduct();
            var key  = data.Select(g => g.ProductGroupId).Distinct().ToList();

            if (key.Any())
            {
                foreach (var item in key)
                {
                    var parametrs = data.Where(g => g.ProductGroupId == item).ToList();
                    if (parametrs.Any())
                    {
                        var addCount = DalPinTuan.AddPinTuanProductInfo(parametrs, item);
                        Logger.Info($"{item}产品组中添加{addCount}个产品");
                    }
                }
            }
        }
Exemple #2
0
        private static void DoJob()
        {
            var products = DalPinTuan.GetPinTuanProduct();
            var index    = 0;

            foreach (var product in products)
            {
                Logger.Info($"初始化拼团产品库存,设置第{index}/{products.Count}个商品-->{product}");
                index++;
                var list = DalPinTuan.GetPinTuanProductList(product);
                if (product.StartsWith("XU-"))
                {
                    foreach (var item in list)
                    {
                        var result = DalPinTuan.SetPinTuanStock(item.ProductGroupId, item.PId, XuStock);
                        if (result)
                        {
                            Logger.Info($"产品{item.ProductGroupId}/{item.PId}库存设置为{XuStock}");
                        }
                    }
                }
                else
                {
                    var stock = DalPinTuan.GetOriginalStockCount(product);
                    // 可以查到库存
                    if (stock.Any())
                    {
                        // 一分团商品
                        var lowPriceProduct = list.Where(g => g.ActivityPrice == 0.01M)?.ToList() ?? new List <PinTuanProductModel>();
                        // 存在一分团商品
                        if (lowPriceProduct.Any())
                        {
                            var stock1 = stock.FirstOrDefault(g => g.Warehouseid == 28790 && g.StockCount > 0) ?? new PinTuanOriginalStockModel();
                            var count  = (int)Math.Floor((double)(stock1.StockCount - 50) / (lowPriceProduct.Count));
                            if (count > 1)
                            {
                                foreach (var item in lowPriceProduct)
                                {
                                    var result = DalPinTuan.SetPinTuanStock(item.ProductGroupId, item.PId, count);
                                    if (result)
                                    {
                                        Logger.Info($"产品{item.ProductGroupId}/{item.PId}库存设置为{count}");
                                    }
                                }
                            }
                            else
                            {
                                Logger.Error($"产品PID-->{product},存在一分团产品,义乌仓库存不足");
                            }
                            // 一分团商品
                            var normalPriceProduct = list.Where(g => g.ActivityPrice != 0.01M)?.ToList() ?? new List <PinTuanProductModel>();
                            if (normalPriceProduct.Any())
                            {
                                var stock2Count = stock.Where(g => g.Warehouseid != 28790).Sum(g => g.Warehouseid);
                                var count2      = (int)Math.Floor((double)(stock2Count - 50) / (normalPriceProduct.Count()));
                                if (count2 > 0)
                                {
                                    foreach (var item in normalPriceProduct)
                                    {
                                        var result = DalPinTuan.SetPinTuanStock(item.ProductGroupId, item.PId, count2);
                                        if (result)
                                        {
                                            Logger.Info($"产品{item.ProductGroupId}/{item.PId}库存设置为{count2}");
                                        }
                                    }
                                }
                                else
                                {
                                    Logger.Error($"产品PID-->{product},库存不足");
                                }
                            }
                        }
                        // 不存在一分团商品
                        else
                        {
                            var stockCount = stock.Sum(g => g.StockCount);
                            if (stockCount > 50 && list.Any())
                            {
                                var count = (int)(Math.Floor((double)(stockCount - 50) / (list.Count)));
                                if (count > 0)
                                {
                                    foreach (var item in list)
                                    {
                                        var result = DalPinTuan.SetPinTuanStock(item.ProductGroupId, item.PId, count);
                                        if (result)
                                        {
                                            Logger.Info($"产品{item.ProductGroupId}/{item.PId}库存设置为{count}");
                                        }
                                    }
                                }
                                else
                                {
                                    Logger.Error($"产品PID-->{product},库存不足");
                                }
                            }
                        }
                    }
                    else
                    {
                        foreach (var item in list)
                        {
                            var result = DalPinTuan.SetPinTuanStock(item.ProductGroupId, item.PId, XuStock);
                            if (result)
                            {
                                Logger.Info($"产品{item.ProductGroupId}/{item.PId}库存设置为{XuStock}");
                            }
                        }
                    }
                }
            }
        }