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}个产品"); } } } }
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}"); } } } } } }