Browse Source

修复数据

yijia
shanji 2 years ago
parent
commit
d34c1c2bbe
  1. 35
      BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs
  2. 1
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  3. 21
      BBWYB.Server.Model/Db/PurchaseScheme/PurchasesSchemeGroupIndex.cs

35
BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs

@ -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>>();

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

@ -56,7 +56,6 @@ namespace BBWYB.Server.Business
});
}
}
}
}

21
BBWYB.Server.Model/Db/PurchaseScheme/PurchasesSchemeGroupIndex.cs

@ -0,0 +1,21 @@
using FreeSql.DataAnnotations;
using Newtonsoft.Json;
namespace BBWYB.Server.Model.Db
{
[Table(Name = "purchaseschemegroupindex", DisableSyncStructure = true)]
public partial class PurchaseSchemeGroupIndex
{
[Column(IsPrimary = true)]
public string ProductId { get; set; }
public DateTime? CreateTime { get; set; }
public int? Index { get; set; }
public long? ShopId { get; set; }
}
}
Loading…
Cancel
Save