Browse Source

采购商品含sku接口新增方案数量

yijia
shanji 2 years ago
parent
commit
7a95770d9a
  1. 29
      BBWYB.Server.Business/Product/ProductBusiness.cs
  2. 3
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  3. 1
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySchemeCountRequest.cs
  4. 2
      BBWYB.Server.Model/Dto/Response/Product/BProductResponse.cs
  5. 9
      BBWYB.Server.Model/Dto/Response/Product/BProductSkuResponse.cs

29
BBWYB.Server.Business/Product/ProductBusiness.cs

@ -2,6 +2,7 @@
using BBWYB.Common.Models; using BBWYB.Common.Models;
using BBWYB.Server.Model; using BBWYB.Server.Model;
using BBWYB.Server.Model.Dto; using BBWYB.Server.Model.Dto;
using Microsoft.Extensions.DependencyInjection;
using SDKAdapter.OperationPlatform.Client; using SDKAdapter.OperationPlatform.Client;
using SDKAdapter.OperationPlatform.Models; using SDKAdapter.OperationPlatform.Models;
using Yitter.IdGenerator; using Yitter.IdGenerator;
@ -11,10 +12,13 @@ namespace BBWYB.Server.Business
public class ProductBusiness : BaseBusiness, IDenpendency public class ProductBusiness : BaseBusiness, IDenpendency
{ {
private OP_PlatformClientFactory opPlatformClientFactory; private OP_PlatformClientFactory opPlatformClientFactory;
private Lazy<PurchaseSchemeBusiness> purchaseSchemeBusinessLazy;
private PurchaseSchemeBusiness purchaseSchemeBusiness => purchaseSchemeBusinessLazy.Value;
public ProductBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, OP_PlatformClientFactory opPlatformClientFactory) : base(fsql, nLogManager, idGenerator) public ProductBusiness(IFreeSql fsql, NLogManager nLogManager, IIdGenerator idGenerator, OP_PlatformClientFactory opPlatformClientFactory, IServiceProvider serviceProvider) : base(fsql, nLogManager, idGenerator)
{ {
this.opPlatformClientFactory = opPlatformClientFactory; this.opPlatformClientFactory = opPlatformClientFactory;
this.purchaseSchemeBusinessLazy = new Lazy<PurchaseSchemeBusiness>(() => serviceProvider.GetService<PurchaseSchemeBusiness>());
} }
public OP_ProductListResponse GetProductList(OP_QueryProductRequest request) public OP_ProductListResponse GetProductList(OP_QueryProductRequest request)
@ -62,6 +66,7 @@ namespace BBWYB.Server.Business
Spu = request.Spu Spu = request.Spu
}); });
var skuIdList = new List<string>();
if (spuResponse.Items.Count() > 0) if (spuResponse.Items.Count() > 0)
{ {
foreach (var op_product in spuResponse.Items) foreach (var op_product in spuResponse.Items)
@ -89,9 +94,29 @@ namespace BBWYB.Server.Business
}); });
if (skuResponse.Count > 0) if (skuResponse.Count > 0)
{ {
bproduct.SkuList = skuResponse.Items; bproduct.SkuList = skuResponse.Items.Select(x => new BProductSkuResponse()
{
CreateTime = x.CreateTime,
Id = x.Id,
Logo = x.Logo,
Price = x.Price,
ProductId = x.ProductId,
State = x.State,
Title = x.Title
}).ToList();
skuIdList.AddRange(skuResponse.Items.Select(s => s.Id));
}
} }
} }
var schemeCountRes = purchaseSchemeBusiness.GetPurchaseSchemeCountList(new QuerySchemeCountRequest()
{
SkuIdList = skuIdList
});
foreach (var bproduct in list)
{
foreach (var bsku in bproduct.SkuList)
bsku.SchemeCount = schemeCountRes.FirstOrDefault(ps => ps.SkuId == bsku.Id)?.SchemeCount ?? 0;
} }
return new BProductListResponse() return new BProductListResponse()

3
BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs

@ -324,8 +324,7 @@ namespace BBWYB.Server.Business
public IList<PurchaseSchemeCountResponse> GetPurchaseSchemeCountList(QuerySchemeCountRequest request) public IList<PurchaseSchemeCountResponse> GetPurchaseSchemeCountList(QuerySchemeCountRequest request)
{ {
var list = fsql.Select<PurchaseScheme>().Where(ps => ps.ShopId == request.ShopId && var list = fsql.Select<PurchaseScheme>().Where(ps => request.SkuIdList.Contains(ps.SkuId))
request.SkuIdList.Contains(ps.SkuId))
.GroupBy(ps => ps.SkuId) .GroupBy(ps => ps.SkuId)
.ToList(g => new PurchaseSchemeCountResponse() .ToList(g => new PurchaseSchemeCountResponse()
{ {

1
BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySchemeCountRequest.cs

@ -2,7 +2,6 @@
{ {
public class QuerySchemeCountRequest public class QuerySchemeCountRequest
{ {
public long? ShopId { get; set; }
public IList<string> SkuIdList { get; set; } public IList<string> SkuIdList { get; set; }
} }
} }

2
BBWYB.Server.Model/Dto/Response/Product/BProductResponse.cs

@ -4,7 +4,7 @@ namespace BBWYB.Server.Model.Dto
{ {
public class BProductResponse : OP_ProductResponse public class BProductResponse : OP_ProductResponse
{ {
public IList<OP_ProductSkuResponse> SkuList { get; set; } public IList<BProductSkuResponse> SkuList { get; set; }
} }
public class BProductListResponse public class BProductListResponse

9
BBWYB.Server.Model/Dto/Response/Product/BProductSkuResponse.cs

@ -0,0 +1,9 @@
using SDKAdapter.OperationPlatform.Models;
namespace BBWYB.Server.Model.Dto
{
public class BProductSkuResponse: OP_ProductSkuResponse
{
public int SchemeCount { get; set; }
}
}
Loading…
Cancel
Save