From f2666a0eb416ccf75a2551d3433005a65c1f930c Mon Sep 17 00:00:00 2001 From: shanj <18996038927@163.com> Date: Tue, 19 Mar 2024 02:47:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=9B=B4=E6=96=B0=E6=8A=A5?= =?UTF-8?q?=E4=BB=B7=E6=8A=A5=E9=94=99=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../SkuOptimization/OptimizationBusiness.cs | 26 +++++++++++++++---- ...ueryNoCompletionOptimizationTaskRequest.cs | 10 +++++++ .../SkuOptimizationTaskResponse.cs | 4 +++ BBWYB.Server.Model/MappingProfiles.cs | 2 +- 4 files changed, 36 insertions(+), 6 deletions(-) diff --git a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs index 74e5ae8..a76acbe 100644 --- a/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs +++ b/BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs @@ -8,6 +8,7 @@ using BBWYB.Server.Model.Dto; using FreeSql; using Newtonsoft.Json; using System.Numerics; +using System.Text.RegularExpressions; using Yitter.IdGenerator; namespace BBWYB.Server.Business @@ -549,15 +550,28 @@ namespace BBWYB.Server.Business } else { + string spuKeyWords = string.Empty, skuKeyWords = string.Empty; + if (!string.IsNullOrEmpty(request.SpuOrSku)) + { + if (Regex.IsMatch(request.SpuOrSku, @"^\d{2,10}$")) + spuKeyWords = request.SpuOrSku; + else if (Regex.IsMatch(request.SpuOrSku, @"^\w{2,20}$")) + skuKeyWords = request.SpuOrSku; + } + select = fsql.Select() .Where(t => t.IsOptimizationCompleted == false && t.CreateTime >= request.StartTime && t.CreateTime <= request.EndTime) .WhereIf(request.BelongShopId != null && request.BelongShopId != 0, t => t.BelongShopId == request.BelongShopId) - .WhereIf(!string.IsNullOrEmpty(request.JDSku), t => fsql.Select() - .Where(st => st.SpuOptimizationTaskId == t.Id && - st.JDSkuId == request.JDSku) - .Any()); + .WhereIf(!string.IsNullOrEmpty(request.JDSku) || + !string.IsNullOrEmpty(skuKeyWords), t => fsql.Select() + .Where(st => st.SpuOptimizationTaskId == t.Id) + .WhereIf(!string.IsNullOrEmpty(request.JDSku), st => st.JDSkuId == request.JDSku) + .WhereIf(!string.IsNullOrEmpty(skuKeyWords), st => st.SkuId == skuKeyWords) + .Any()) + .WhereIf(!string.IsNullOrEmpty(request.TitleKeywords), t => t.ProductTitle.Contains(request.TitleKeywords)) + .WhereIf(!string.IsNullOrEmpty(spuKeyWords), t => t.ProductId == spuKeyWords); } var taskList = select.OrderByDescending(t => t.CreateTime) @@ -589,7 +603,9 @@ namespace BBWYB.Server.Business PreItemCount = st.PreItemCount, PrePurchaseAmount = st.PrePurchaseAmount, SkuId = st.SkuId, - SpuOptimizationTaskId = st.SpuOptimizationTaskId + SpuOptimizationTaskId = st.SpuOptimizationTaskId, + SkuName = ps.SkuName, + Price = ps.Price }); var skuIdList = skuTaskList.Select(st => st.SkuId).ToList(); #endregion diff --git a/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs b/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs index 5d38bc3..bca729f 100644 --- a/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs +++ b/BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs @@ -30,5 +30,15 @@ namespace BBWYB.Server.Model.Dto /// SPU优化任务Id /// public long? SpuOptimizationTaskId { get; set; } + + /// + /// Spu或Sku + /// + public string SpuOrSku { get; set; } + + /// + /// 标题关键字 + /// + public string TitleKeywords { get; set; } } } diff --git a/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs b/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs index c836741..c87d5d7 100644 --- a/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs +++ b/BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs @@ -8,5 +8,9 @@ namespace BBWYB.Server.Model.Dto public string Logo { get; set; } + + public string SkuName { get; set; } + + public decimal? Price { get; set; } } } diff --git a/BBWYB.Server.Model/MappingProfiles.cs b/BBWYB.Server.Model/MappingProfiles.cs index bacd4b0..8071c68 100644 --- a/BBWYB.Server.Model/MappingProfiles.cs +++ b/BBWYB.Server.Model/MappingProfiles.cs @@ -61,7 +61,7 @@ namespace BBWYB.Server.Model CreateMap(); CreateMap(); - + CreateMap(); CreateMap(); CreateMap(); }