Browse Source

查询同spu同采购商的其他配件接口

yijia
shanji 2 years ago
parent
commit
438a174b3f
  1. 13
      BBWYB.Server.API/Controllers/PurchaseSchemeController.cs
  2. 92
      BBWYB.Server.Business/PurchaseScheme/PurchaseSchemeBusiness.cs
  3. 11
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySameSpuAndSamePurchaserOtherPurchaseSkuRequest.cs
  4. 3
      BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySchemeRequest.cs

13
BBWYB.Server.API/Controllers/PurchaseSchemeController.cs

@ -182,9 +182,20 @@ namespace BBWYB.Server.API.Controllers
/// </summary> /// </summary>
/// <param name="schemeId"></param> /// <param name="schemeId"></param>
[HttpPost("{schemeId}")] [HttpPost("{schemeId}")]
public void SetFirstPurchaseScheme([FromRoute]long schemeId) public void SetFirstPurchaseScheme([FromRoute] long schemeId)
{ {
purchaseSchemeBusiness.SetFirstPurchaseScheme(schemeId); purchaseSchemeBusiness.SetFirstPurchaseScheme(schemeId);
} }
/// <summary>
/// 查询同spu同采购商的其他配件接口,排除失效配件
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public IList<PurchaseSchemeProductSkuResponse> QuerySameSpuAndSamePurchaserOtherPurchaseSkuList([FromBody] QuerySameSpuAndSamePurchaserOtherPurchaseSkuRequest request)
{
return purchaseSchemeBusiness.QuerySameSpuAndSamePurchaserOtherPurchaseSkuList(request);
}
} }
} }

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

@ -938,14 +938,14 @@ namespace BBWYB.Server.Business
var list = new List<PurchaseSkuBasicInfoResponse>(); var list = new List<PurchaseSkuBasicInfoResponse>();
foreach (var param in request.Params) foreach (var param in request.Params)
{ {
foreach (var purchaseId in param.PurchaseProductIds) foreach (var pId in param.PurchaseProductIds)
{ {
var response = GetPurchaseSkuBasicInfo(new PurchaseSkuBasicInfoRequest() var response = GetPurchaseSkuBasicInfo(new PurchaseSkuBasicInfoRequest()
{ {
FirstApiMode = request.FirstApiMode, FirstApiMode = request.FirstApiMode,
PriceMode = request.PriceMode, PriceMode = request.PriceMode,
Platform = param.Platform, Platform = param.Platform,
PurchaseProductId = purchaseId PurchaseProductId = pId
}); });
if (response != null) if (response != null)
{ {
@ -1106,17 +1106,6 @@ namespace BBWYB.Server.Business
} }
defaultCost += schemeProduct.PurchaseSchemeProductSkuList.Sum(pss => ((pss.ActualPrice ?? pss.PurchaseSkuPrice) ?? 0) * (pss.PurchaseRatio ?? 1)); defaultCost += schemeProduct.PurchaseSchemeProductSkuList.Sum(pss => ((pss.ActualPrice ?? pss.PurchaseSkuPrice) ?? 0) * (pss.PurchaseRatio ?? 1));
//foreach (var schemeProductSku in schemeProduct.PurchaseSchemeProductSkuList)
//{
// if (schemeProductSku.SkuId == request.SkuId &&
// schemeProductSku.PurchaseSkuId == request.PurchaseSkuId)
// {
// schemeProductSku.PurchaseRatio = request.Ratio;
// pssId = schemeProductSku.Id;
// }
// defaultCost += ((schemeProductSku.ActualPrice ?? schemeProductSku.PurchaseSkuPrice) ?? 0) * (schemeProductSku.PurchaseRatio ?? 1);
//}
} }
if (pssId == null) if (pssId == null)
throw new BusinessException("未找到需要更新的采购配件"); throw new BusinessException("未找到需要更新的采购配件");
@ -1214,5 +1203,82 @@ namespace BBWYB.Server.Business
fsql.Update<PurchaseScheme>(schemeId).Set(s => s.IsFirst, 1).ExecuteAffrows(); fsql.Update<PurchaseScheme>(schemeId).Set(s => s.IsFirst, 1).ExecuteAffrows();
}); });
} }
/// <summary>
/// 查询同spu同采购商的其他配件接口,排除失效配件
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public IList<PurchaseSchemeProductSkuResponse> QuerySameSpuAndSamePurchaserOtherPurchaseSkuList(QuerySameSpuAndSamePurchaserOtherPurchaseSkuRequest request)
{
var purchaseSchemeProductSkuList = new List<PurchaseSchemeProductSkuResponse>();
var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest()
{
IncludePurchaseSkuBasicInfo = 0,
PurchasePlatform = Enums.Platform.,
ProductIdList = new List<string>() { request.ProductId },
PurchaserId = request.PurchaserId,
ShopId = request.ShopId
});
if (purchaseSchemeList != null && purchaseSchemeList.Count() > 0)
{
var purchaseProductIdList = new List<string>();
foreach (var scheme in purchaseSchemeList)
{
var samePspList = scheme.PurchaseSchemeProductList.Where(psp => psp.PurchaserId == request.PurchaserId);
if (samePspList.Any())
{
purchaseProductIdList.AddRange(samePspList.Select(psp => psp.PurchaseProductId));
purchaseSchemeProductSkuList.AddRange(samePspList.SelectMany(psp => psp.PurchaseSchemeProductSkuList));
}
}
purchaseProductIdList = purchaseProductIdList.Distinct().ToList();
var purchaseProductSkuIdList = purchaseSchemeProductSkuList.Select(pss => pss.PurchaseSkuId).Distinct().ToList();
var skuBasicInfoList = BatchGetPurchaseSkuBasicInfo(new BatchPurchaseSkuBasicInfoRequest()
{
FirstApiMode = Enums.PurchaseProductAPIMode.Spider,
PriceMode = Enums.PurchaseOrderMode.,
Params = new List<BatchPurchaseSkuBasicInfoParamRequest>()
{
new BatchPurchaseSkuBasicInfoParamRequest()
{
Platform = Enums.Platform.,
PurchaseProductIds = purchaseProductIdList,
PurchaseSkuIds = purchaseProductSkuIdList
}
}
});
for (var i = 0; i < purchaseSchemeProductSkuList.Count(); i++)
{
var pss = purchaseSchemeProductSkuList[i];
pss.IsInvalid = 0;
var basicInfo = skuBasicInfoList.FirstOrDefault(x => x.PurchaseProductId == pss.PurchaseProductId);
if (basicInfo == null || basicInfo.IsInvalid)
{
//排除失效配件
purchaseSchemeProductSkuList.RemoveAt(i);
i--;
}
var skuBasicInfo = basicInfo.ItemList?.FirstOrDefault(x => x.PurchaseSkuId == pss.PurchaseSkuId);
if (skuBasicInfo == null)
{
//排除失效配件
purchaseSchemeProductSkuList.RemoveAt(i);
i--;
}
pss.PurchaseSkuLogo = skuBasicInfo.Logo;
pss.PurchaseSkuPrice = skuBasicInfo.Price;
pss.PurchaseSkuTitle = skuBasicInfo.Title;
}
}
return purchaseSchemeProductSkuList;
}
} }
} }

11
BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySameSpuAndSamePurchaserOtherPurchaseSkuRequest.cs

@ -0,0 +1,11 @@
namespace BBWYB.Server.Model.Dto
{
public class QuerySameSpuAndSamePurchaserOtherPurchaseSkuRequest
{
public long ShopId { get; set; }
public string ProductId { get; set; }
public string PurchaserId { get; set; }
}
}

3
BBWYB.Server.Model/Dto/Request/PurchaseScheme/QuerySchemeRequest.cs

@ -25,7 +25,7 @@ namespace BBWYB.Server.Model.Dto
public List<string> SkuIdList { get; set; } public List<string> SkuIdList { get; set; }
/// <summary> /// <summary>
/// spuId集合,有值则忽略 /// spuId集合
/// </summary> /// </summary>
public List<string> ProductIdList { get; set; } public List<string> ProductIdList { get; set; }
@ -46,5 +46,6 @@ namespace BBWYB.Server.Model.Dto
/// 是否包含采购配件的基本信息(单价,Logo,标题等) 是=1 否=0或null /// 是否包含采购配件的基本信息(单价,Logo,标题等) 是=1 否=0或null
/// </summary> /// </summary>
public int? IncludePurchaseSkuBasicInfo { get; set; } public int? IncludePurchaseSkuBasicInfo { get; set; }
} }
} }

Loading…
Cancel
Save