|
|
@ -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<SpuOptimizationTask>() |
|
|
|
.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<SkuOptimizationTask>() |
|
|
|
.Where(st => st.SpuOptimizationTaskId == t.Id && |
|
|
|
st.JDSkuId == request.JDSku) |
|
|
|
.Any()); |
|
|
|
.WhereIf(!string.IsNullOrEmpty(request.JDSku) || |
|
|
|
!string.IsNullOrEmpty(skuKeyWords), t => fsql.Select<SkuOptimizationTask>() |
|
|
|
.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
|
|
|
|