using BBWYB.Common.Log; using BBWYB.Common.Models; using BBWYB.Server.Model.Dto; using Yitter.IdGenerator; namespace BBWYB.Server.Business { public class SkuOptimizationBusiness : BaseBusiness, IDenpendency { public SkuOptimizationBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator) : base(fsql, nLogManager, idGenerator) { } public void LKInventoryAlertNotification(BatchLKInventoryAlertRequest request) { } /* var optimizationSpuSaleList = dbSpuTotalSaleInfoList.Union(insertSpuTotalSaleInfoList).Where(s => { return GetOptimizationReason(s) != null; }); if (optimizationSpuSaleList.Count() > 0) { foreach (var spuSale in optimizationSpuSaleList) { var orderList = waitToCheckSkuSaleOrderList.Where(o => o.OrderSkuList.Any(osku => osku.ProductId == spuSale.ProductId)).ToList(); foreach (var o in orderList) { foreach (var osku in o.OrderSkuList) { if (osku.ProductId != spuSale.ProductId) continue; var triggerOptimizationReason = GetOptimizationReason(spuSale); #region 更新sku优化标记 var oskuId = long.Parse(osku.Id); var insertOrderSku = insertOrderSkuList.FirstOrDefault(s => s.Id == oskuId); if (insertOrderSku != null) { insertOrderSku.IsNeedOptimization = 1; insertOrderSku.TriggerOptimizationReason = triggerOptimizationReason; } else { //updateOrderSkuIdList_OptimizationFlag.Add(oskuId); if (!updateOSkuOptimizationFlagByReasonGroups.TryGetValue(triggerOptimizationReason.Value, out var updateOSkuOptimizationFlagByReasonList)) { updateOSkuOptimizationFlagByReasonList = new List(); updateOSkuOptimizationFlagByReasonGroups.Add(triggerOptimizationReason.Value, updateOSkuOptimizationFlagByReasonList); } updateOSkuOptimizationFlagByReasonList.Add(oskuId); } #endregion #region 创建待议价任务 if (!dbOptimizationLimitTaskList.Any(t => t.OrderId == o.OrderId && t.SkuId == osku.SkuId)) { //判断sku是否首次采购 var isFirst = !dbSkuTotalSaleInfoList.Any(s => s.SkuId == osku.SkuId); insertTimeLimitTaskList.Add(new TimeLimitTask() { Id = idGenerator.NewLong(), CreateTme = DateTime.Now, //ExpirationTime = DateTime.Now.AddDays(isFirst ? 2 : 1), ExpirationTime = timeLimitRules.CalculateExpirationTime(Enums.TimeLimitTaskType.待议价任务, DateTime.Now.AddDays(isFirst ? 1 : 0)), OrderId = o.OrderId, OrderSn = o.OrderSn, ShopId = shopId, SkuId = osku.SkuId, TaskType = Enums.TimeLimitTaskType.待议价任务 }); } #endregion } } } } */ } }