You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
84 lines
4.6 KiB
84 lines
4.6 KiB
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<long>();
|
|
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
|
|
}
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
}
|
|
}
|
|
|