Browse Source

修复更新报价报错问题

liangku_skuoptimazation
shanji 1 year ago
parent
commit
f2666a0eb4
  1. 26
      BBWYB.Server.Business/SkuOptimization/OptimizationBusiness.cs
  2. 10
      BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs
  3. 4
      BBWYB.Server.Model/Dto/Response/Optimization/SkuOptimizationTaskResponse.cs
  4. 2
      BBWYB.Server.Model/MappingProfiles.cs

26
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<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

10
BBWYB.Server.Model/Dto/Request/Optimization/QueryNoCompletionOptimizationTaskRequest.cs

@ -30,5 +30,15 @@ namespace BBWYB.Server.Model.Dto
/// SPU优化任务Id
/// </summary>
public long? SpuOptimizationTaskId { get; set; }
/// <summary>
/// Spu或Sku
/// </summary>
public string SpuOrSku { get; set; }
/// <summary>
/// 标题关键字
/// </summary>
public string TitleKeywords { get; set; }
}
}

4
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; }
}
}

2
BBWYB.Server.Model/MappingProfiles.cs

@ -61,7 +61,7 @@ namespace BBWYB.Server.Model
CreateMap<PurchaseSchemeProductSkuResponse, HistoryPurchaseSchemeProductSku>();
CreateMap<BatchUpdateCompetitiveTenderQuotationRequest, BatchEditPurchaseSkuActualPriceRequest>();
CreateMap<BatchUpdateCompetitiveTenderQuotationItemRequest, BatchEditPurchaseSkuActualPriceItemRequest>();
CreateMap<PurchaserResponse, MergePurchaserResponse>();
CreateMap<PurchaseSchemeProductSkuResponse, MergePurchaseSchemeProductSkuResponse>();
}

Loading…
Cancel
Save