diff --git a/BBWYB.Server.API/Controllers/DataRepairController.cs b/BBWYB.Server.API/Controllers/DataRepairController.cs index 9c2bdbe..7588b57 100644 --- a/BBWYB.Server.API/Controllers/DataRepairController.cs +++ b/BBWYB.Server.API/Controllers/DataRepairController.cs @@ -39,5 +39,11 @@ namespace BBWYB.Server.API.Controllers { dataRepairBusiness.PingJia(); } + + [HttpPost] + public void SupplementPurchaserInfo() + { + dataRepairBusiness.SupplementPurchaserInfo(); + } } } diff --git a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs index dcf2821..ec73edd 100644 --- a/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs +++ b/BBWYB.Server.Business/DataRepair/DataRepairBusiness.cs @@ -81,5 +81,72 @@ namespace BBWYB.Server.Business fsql.Insert(insertOrderSkuCostList).ExecuteAffrows(); }); } + + public void SupplementPurchaserInfo() + { + var purlList = fsql.Select() + .InnerJoin((psp, p) => psp.PurchaserId == p.Id) + .Where((psp, p) => p.Platform == Enums.Platform.阿里巴巴 && string.IsNullOrEmpty(p.MemberId)) + .ToList((psp, p) => new + { + //psp.PurchaseUrl, + psp.PurchaseProductId, + p.Id + }); + var groups = purlList.GroupBy(p => p.Id); + Console.WriteLine(groups.Count()); + IList> updatePurchaserList = new List>(); + int i = 1; + foreach (var group in groups) + { + var purchaseId = group.Key; + var productId = group.Max(p => p.PurchaseProductId); + Thread.Sleep(1000); + Console.WriteLine(); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine($"index {i}"); + Console.ResetColor(); + Console.WriteLine(); + var response = purchaseSchemeBusiness.GetPurchaseSkuBasicInfo(new PurchaseSkuBasicInfoRequest() + { + FirstApiMode = Enums.PurchaseProductAPIMode.Spider, + Platform = Enums.Platform.阿里巴巴, + PriceMode = Enums.PurchaseOrderMode.批发, + PurchaseProductId = productId + }); + if (!string.IsNullOrEmpty(response?.Purchaser?.MemberId)) + { + if (response.Purchaser.MemberId.Length > 5) + Console.WriteLine(response.Purchaser.MemberId); + var update = fsql.Update(purchaseId).Set(p => p.MemberId, response.Purchaser.MemberId); + updatePurchaserList.Add(update); + } + i++; + + if (updatePurchaserList.Count >= 10) + { + fsql.Transaction(() => + { + foreach (var update in updatePurchaserList) + update.ExecuteAffrows(); + }); + updatePurchaserList.Clear(); + Console.WriteLine(); + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine("更新数据库更新"); + Console.ResetColor(); + Console.WriteLine(); + } + } + + if (updatePurchaserList.Count() > 0) + { + fsql.Transaction(() => + { + foreach (var update in updatePurchaserList) + update.ExecuteAffrows(); + }); + } + } } }