Browse Source

议价优化

master
shanji 1 year ago
parent
commit
54a6d82096
  1. 4
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  2. 32
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  3. 33
      BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

4
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -633,8 +633,8 @@ namespace BBWYB.Server.Business
.Set(ps => ps.HYSchemeId, psReq.HYSchemeId)
.Set(ps => ps.HYBDId, psReq.HYBDId)
.Set(ps => ps.Version, newVersion)
.Set(ps => ps.BelongBargainTeamId, belongBargainTeamId)
.Set(ps => ps.BelongBargainTeamName, belongBargainTeamName)
.SetIf(uInfo.isBargainTeam, ps => ps.BelongBargainTeamId, belongBargainTeamId)
.SetIf(uInfo.isBargainTeam, ps => ps.BelongBargainTeamName, belongBargainTeamName)
.Set(ps => ps.UpdateUserId, uInfo.user.Id)
.Set(ps => ps.UpdateTeamId, uInfo.isBargainTeam ? uInfo.bargainTeam?.Id : uInfo.mainTeam.Id)
.Set(ps => ps.IsBargainTeamUpdate, uInfo.isBargainTeam)

32
BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs

@ -35,10 +35,9 @@ namespace BBWYB.Server.Business
public Enums.TriggerOptimizationReason? GetOptimizationReason(SpuTotalSaleInfo s)
{
if (s.IsFirstPurchaseCompleted == false)
return Enums.TriggerOptimizationReason.;
if (s.IsFirstPurchaseCompleted == true &&
s.IsFirstOptimizationCompleted == false)
//if (s.IsFirstPurchaseCompleted == false)
// return Enums.TriggerOptimizationReason.首次采购;
if (s.IsFirstOptimizationCompleted == false) //s.IsFirstPurchaseCompleted == true &&
{
if (s.ItemCount - s.FirstPurchaseCompletedItemCount >= 20)
return Enums.TriggerOptimizationReason.;
@ -241,6 +240,26 @@ namespace BBWYB.Server.Business
}
#endregion
#region 验证过滤条件
if (spuOptimizationTask.PrePurchaseAmount < 500 && spuOptimizationTask.PreItemCount < 10)
{
//移除spu优化任务
insertSpuOptimizationTaskList.Remove(spuOptimizationTask);
//移除sku优化任务
var waitRemoveSkuTaskList = insertSkuOptimizationTaskList.Where(t => t.SpuOptimizationTaskId == spuOptimizationTask.Id).ToList();
foreach (var skuTask in waitRemoveSkuTaskList)
insertSkuOptimizationTaskList.Remove(skuTask);
waitRemoveSkuTaskList.Clear();
continue;
}
#endregion
#region 暂停一秒区分时间
Thread.Sleep(1000); //mysql的datetime不支持毫秒级,导致插入时间有误差,暂时用Thread.Sleep补偿
#endregion
#region 创建SPU优化议价组任务
foreach (var department in bargainTeamList)
{
@ -713,8 +732,9 @@ namespace BBWYB.Server.Business
.Any());
}
}
var sql = select.ToSql();
var sql = select.OrderBy(t => t.CreateTime)
.Page(request.PageIndex, request.PageSize)
.ToSql();
var taskList = select.OrderBy(t => t.CreateTime)
.Count(out var total)

33
BBWYB.Server.Business/Sync/OrderSyncBusiness.cs

@ -395,11 +395,14 @@ namespace BBWYB.Server.Business.Sync
{
var spuIdList = waitToCheckSkuSaleOrderList.SelectMany(o => o.OrderSkuList.Select(osku => osku.ProductId)).Distinct().ToList();
//没有完成首次采购的spu
var noFisrstPurchasedSpuList = dbSpuTotalSaleInfoList.Union(insertSpuTotalSaleInfoList)
.Where(s => s.IsFirstPurchaseCompleted == false)
.Select(s => s.ProductId)
.ToList();
////没有完成首次采购的spu
//var noFisrstPurchasedSpuList = dbSpuTotalSaleInfoList.Union(insertSpuTotalSaleInfoList)
// .Where(s => s.IsFirstPurchaseCompleted == false)
// .Select(s => s.ProductId)
// .ToList();
//之前没有销量的spu
var noFisrstPurchasedSpuList = insertSpuTotalSaleInfoList.Select(s => s.ProductId).ToList();
//查询已存在未结束的优化任务
var dbSpuOptimizationTaskList = fsql.Select<SpuOptimizationTask>()
@ -548,6 +551,26 @@ namespace BBWYB.Server.Business.Sync
}
#endregion
#region 验证过滤条件
if (spuOptimizationTask.PrePurchaseAmount < 500 && spuOptimizationTask.PreItemCount < 10)
{
//移除spu优化任务
insertSpuOptimizationTaskList.Remove(spuOptimizationTask);
//移除sku优化任务
var waitRemoveSkuTaskList = insertSkuOptimizationTaskList.Where(t => t.SpuOptimizationTaskId == spuOptimizationTask.Id).ToList();
foreach (var skuTask in waitRemoveSkuTaskList)
insertSkuOptimizationTaskList.Remove(skuTask);
waitRemoveSkuTaskList.Clear();
continue;
}
#endregion
#region 暂停一秒区分时间
Thread.Sleep(1000); //mysql的datetime不支持毫秒级,导致插入时间有误差,暂时用Thread.Sleep补偿
#endregion
#region 创建SPU优化议价组任务
foreach (var department in bargainTeamList)
{

Loading…
Cancel
Save