From d34c1c2bbefc202773b773d5ad4e12e8f2b87235 Mon Sep 17 00:00:00 2001 From: shanji <18996038927@163.com> Date: Wed, 30 Aug 2023 16:03:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DataRepair/DataRepairBusiness.cs | 49 +++++++++++++------ .../PurchaseScheme/PurchaseSchemeBusiness.cs | 1 - .../PurchasesSchemeGroupIndex.cs | 21 ++++++++ 3 files changed, 54 insertions(+), 17 deletions(-) create mode 100644 BBWYB.Server.Model/Db/PurchaseScheme/PurchasesSchemeGroupIndex.cs diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs index bc0e040..1132c3b 100644 --- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs +++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs @@ -140,7 +140,15 @@ namespace BBWYB.Server.Business public void SupplementPurchaseSchemeGroup() { + fsql.Transaction(() => + { + fsql.Delete().Where(psg => 1 == 1).ExecuteAffrows(); + fsql.Delete().Where(psgi => 1 == 1).ExecuteAffrows(); + fsql.Update().Set(ps => ps.SchemeGroupId == 0).Where(ps => 1 == 1).ExecuteAffrows(); + }); + List insertSchemeGroups = new List(); + List insertSchemeGroupIndexs = new List(); Queue> updatePurchaseSchemeQueue = new Queue>(); var purchaseSchemeList = fsql.Select().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 currentIndexSchemeList = new List(); //取每个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) + + var schemeGroupId = idGenerator.NewLong(); + var insertSchemeGroup = new PurchaseSchemeGroup() { - schemeGroupId = idGenerator.NewLong(); - //同位中没有分组 - var insertSchemeGroup = new PurchaseSchemeGroup() - { - Id = schemeGroupId.Value, - //GroupName = schemeGroupId.Value.ToString(), - GroupName = $"{purchaseSchemeSpuGroup.Key}-{schemeGroupId.Value}", - CreateTime = DateTime.Now, - ProductId = currentIndexSchemeList.First().ProductId, - ShopId = currentIndexSchemeList.First().ShopId - }; - insertSchemeGroups.Add(insertSchemeGroup); - } + Id = schemeGroupId, + //GroupName = schemeGroupId.Value.ToString(), + 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>(); diff --git a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs index 8600d69..63ac8a3 100644 --- a/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs +++ b/BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs @@ -56,7 +56,6 @@ namespace BBWYB.Server.Business }); } } - } } diff --git a/BBWYB.Server.Model/Db/PurchaseScheme/PurchasesSchemeGroupIndex.cs b/BBWYB.Server.Model/Db/PurchaseScheme/PurchasesSchemeGroupIndex.cs new file mode 100644 index 0000000..3c5cd4c --- /dev/null +++ b/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; } + + } + +}