|
|
@ -4,6 +4,7 @@ using BBWYB.Common.Models; |
|
|
|
using BBWYB.Server.Model; |
|
|
|
using BBWYB.Server.Model.Db; |
|
|
|
using BBWYB.Server.Model.Dto; |
|
|
|
using FreeSql; |
|
|
|
using Yitter.IdGenerator; |
|
|
|
|
|
|
|
namespace BBWYB.Server.Business |
|
|
@ -145,6 +146,8 @@ namespace BBWYB.Server.Business |
|
|
|
var select = fsql.Select<PurchaseScheme, Purchaser>().InnerJoin((ps, p) => ps.PurchaserId == p.Id); |
|
|
|
if (querySchemeRequest.SchemeId != null && querySchemeRequest.SchemeId != 0) |
|
|
|
select = select.Where((ps, p) => ps.Id == querySchemeRequest.SchemeId); |
|
|
|
else if (querySchemeRequest.SchemeIdList != null && querySchemeRequest.SchemeIdList.Count() > 0) |
|
|
|
select = select.Where((ps, p) => querySchemeRequest.SchemeIdList.Contains(ps.Id)); |
|
|
|
else |
|
|
|
{ |
|
|
|
select = select.WhereIf(querySchemeRequest.ShopId != null && querySchemeRequest.ShopId != 0, (ps, p) => ps.ShopId == querySchemeRequest.ShopId) |
|
|
@ -198,6 +201,58 @@ namespace BBWYB.Server.Business |
|
|
|
return purchaseSchemeList; |
|
|
|
} |
|
|
|
|
|
|
|
public IList<PurchaseSchemeResponse> RefreshPurchaseScheme(RefreshSchemeRequest request) |
|
|
|
{ |
|
|
|
var purchaseSchemeList = GetPurchaseSchemeList(new QuerySchemeRequest() |
|
|
|
{ |
|
|
|
SchemeIdList = request.SchemeIdList |
|
|
|
}); |
|
|
|
List<IUpdate<PurchaseScheme>> updatePurchaseSchemeList = new List<IUpdate<PurchaseScheme>>(); |
|
|
|
foreach (var purchaseScheme in purchaseSchemeList) |
|
|
|
{ |
|
|
|
var purchaseProductIds = purchaseScheme.PurchaseSchemeProductList.Select(p => p.PurchaseProductId).ToArray(); |
|
|
|
var purchaseSkuIds = new List<string>(); |
|
|
|
foreach (var purchaseProduct in purchaseScheme.PurchaseSchemeProductList) |
|
|
|
{ |
|
|
|
purchaseSkuIds.AddRange(purchaseProduct.PurchaseSchemeProductSkuList.Select(ps => ps.PurchaseSkuId)); |
|
|
|
} |
|
|
|
|
|
|
|
var purchaseSkuBasicInfoList = BatchGetPurchaseSkuBasicInfo(new BatchPurchaseSkuBasicInfoRequest() |
|
|
|
{ |
|
|
|
FirstApiMode = Enums.PurchaseProductAPIMode.Spider, |
|
|
|
PriceMode = Enums.PurchaseOrderMode.批发, |
|
|
|
Params = new List<BatchPurchaseSkuBasicInfoParamRequest>() |
|
|
|
{ |
|
|
|
new BatchPurchaseSkuBasicInfoParamRequest() |
|
|
|
{ |
|
|
|
Platform = purchaseScheme.PurchasePlatform, |
|
|
|
PurchaseProductIds = purchaseProductIds, |
|
|
|
PurchaseSkuIds = purchaseSkuIds |
|
|
|
} |
|
|
|
} |
|
|
|
}); |
|
|
|
|
|
|
|
var amount = purchaseSkuBasicInfoList.Sum(p => p.ItemList.Sum(s => s.Price)); |
|
|
|
if (purchaseScheme.DefaultCost != amount) |
|
|
|
{ |
|
|
|
purchaseScheme.DefaultCost = amount; |
|
|
|
var update = fsql.Update<PurchaseScheme>(purchaseScheme.Id).Set(p => p.DefaultCost, amount); |
|
|
|
updatePurchaseSchemeList.Add(update); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (updatePurchaseSchemeList.Count() > 0) |
|
|
|
{ |
|
|
|
fsql.Transaction(() => |
|
|
|
{ |
|
|
|
foreach (var update in updatePurchaseSchemeList) |
|
|
|
update.ExecuteAffrows(); |
|
|
|
}); |
|
|
|
} |
|
|
|
|
|
|
|
return purchaseSchemeList; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取共同拥有的采购商
|
|
|
|
/// </summary>
|
|
|
@ -294,5 +349,7 @@ namespace BBWYB.Server.Business |
|
|
|
} |
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|