|
|
@ -140,7 +140,15 @@ namespace BBWYB.Server.Business |
|
|
|
|
|
|
|
public void SupplementPurchaseSchemeGroup() |
|
|
|
{ |
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
fsql.Delete<PurchaseSchemeGroup>().Where(psg => 1 == 1).ExecuteAffrows(); |
|
|
|
fsql.Delete<PurchaseSchemeGroupIndex>().Where(psgi => 1 == 1).ExecuteAffrows(); |
|
|
|
fsql.Update<PurchaseScheme>().Set(ps => ps.SchemeGroupId == 0).Where(ps => 1 == 1).ExecuteAffrows(); |
|
|
|
}); |
|
|
|
|
|
|
|
List<PurchaseSchemeGroup> insertSchemeGroups = new List<PurchaseSchemeGroup>(); |
|
|
|
List<PurchaseSchemeGroupIndex> insertSchemeGroupIndexs = new List<PurchaseSchemeGroupIndex>(); |
|
|
|
Queue<IUpdate<PurchaseScheme>> updatePurchaseSchemeQueue = new Queue<IUpdate<PurchaseScheme>>(); |
|
|
|
|
|
|
|
var purchaseSchemeList = fsql.Select<PurchaseScheme>().OrderBy(ps => ps.Id).ToList(); |
|
|
@ -151,9 +159,18 @@ namespace BBWYB.Server.Business |
|
|
|
var purchaseSchemeSkuGroups = purchaseSchemeSpuGroup.GroupBy(ps => ps.SkuId); |
|
|
|
var maxPsGroupCount = purchaseSchemeSkuGroups.Max(g => g.Count()); //该spu最大的采购分组数
|
|
|
|
|
|
|
|
var groupIndex = new PurchaseSchemeGroupIndex() |
|
|
|
{ |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
Index = maxPsGroupCount, |
|
|
|
ShopId = purchaseSchemeSpuGroup.First().ShopId, |
|
|
|
ProductId = purchaseSchemeSpuGroup.First().ProductId |
|
|
|
}; |
|
|
|
insertSchemeGroupIndexs.Add(groupIndex); |
|
|
|
|
|
|
|
for (var i = 0; i < maxPsGroupCount; i++) |
|
|
|
{ |
|
|
|
Console.WriteLine($"正在处理第{i}组"); |
|
|
|
Console.WriteLine($"正在处理第{i + 1}组"); |
|
|
|
IList<PurchaseScheme> currentIndexSchemeList = new List<PurchaseScheme>(); |
|
|
|
//取每个sku的第i个方案
|
|
|
|
foreach (var purchaseSchemeSkuGroup in purchaseSchemeSkuGroups) |
|
|
@ -166,22 +183,20 @@ namespace BBWYB.Server.Business |
|
|
|
currentIndexSchemeList.Add(scheme); |
|
|
|
} |
|
|
|
} |
|
|
|
var schemeGroupId = currentIndexSchemeList.FirstOrDefault(ps => ps.SchemeGroupId != null)?.SchemeGroupId; |
|
|
|
if (schemeGroupId == null || schemeGroupId == 0) |
|
|
|
{ |
|
|
|
schemeGroupId = idGenerator.NewLong(); |
|
|
|
//同位中没有分组
|
|
|
|
|
|
|
|
var schemeGroupId = idGenerator.NewLong(); |
|
|
|
var insertSchemeGroup = new PurchaseSchemeGroup() |
|
|
|
{ |
|
|
|
Id = schemeGroupId.Value, |
|
|
|
Id = schemeGroupId, |
|
|
|
//GroupName = schemeGroupId.Value.ToString(),
|
|
|
|
GroupName = $"{purchaseSchemeSpuGroup.Key}-{schemeGroupId.Value}", |
|
|
|
GroupName = $"{purchaseSchemeSpuGroup.Key}-{i + 1}", |
|
|
|
CreateTime = DateTime.Now, |
|
|
|
ProductId = currentIndexSchemeList.First().ProductId, |
|
|
|
ShopId = currentIndexSchemeList.First().ShopId |
|
|
|
}; |
|
|
|
insertSchemeGroups.Add(insertSchemeGroup); |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
foreach (var purchaseScheme in currentIndexSchemeList) |
|
|
|
{ |
|
|
|
if (purchaseScheme.SchemeGroupId != schemeGroupId) |
|
|
@ -197,6 +212,8 @@ namespace BBWYB.Server.Business |
|
|
|
{ |
|
|
|
if (insertSchemeGroups.Count() > 0) |
|
|
|
fsql.Insert(insertSchemeGroups).ExecuteAffrows(); |
|
|
|
if (insertSchemeGroupIndexs.Count() > 0) |
|
|
|
fsql.Insert(insertSchemeGroupIndexs).ExecuteAffrows(); |
|
|
|
}); |
|
|
|
|
|
|
|
var updatePurchaseSchemeList = new List<IUpdate<PurchaseScheme>>(); |
|
|
|