Browse Source

1

updatebug
shanji 2 years ago
parent
commit
781bcee268
  1. 67
      BBWYB.Client/APIServices/PurchaseOrderService.cs
  2. 36
      BBWYB.Client/ViewModels/Purchase/OnlinePurchaseViewModel.cs

67
BBWYB.Client/APIServices/PurchaseOrderService.cs

@ -15,6 +15,45 @@ namespace BBWYB.Client.APIServices
}
/// <summary>
/// 按采购商分组组装采购产品参数
/// </summary>
/// <param name="productSkuWithSchemeList"></param>
/// <returns></returns>
private IList<object> CombineCargoParamGroup(IList<ProductSkuWithScheme> productSkuWithSchemeList)
{
IList<object> cargoParamGroupList = new List<object>();
var purchaserGroups = productSkuWithSchemeList.GroupBy(s => s.PurchaserId);
foreach (var purchaserGroup in purchaserGroups)
{
var first = purchaserGroup.FirstOrDefault();
var cargoParamList = new List<object>();
foreach (var productSkuWithScheme in purchaserGroup)
{
foreach (var purchaseSchemeProductSku in productSkuWithScheme.PurchaseSchemeProductSkuList)
{
cargoParamList.Add(new
{
ProductId = purchaseSchemeProductSku.PurchaseProductId,
SkuId = purchaseSchemeProductSku.PurchaseSkuId,
SpecId = purchaseSchemeProductSku.PurchaseSkuSpecId,
Quantity = purchaseSchemeProductSku.ItemTotal,
BelongSkuId = productSkuWithScheme.SkuId
});
}
}
var cargoParamGroup = new
{
PurchaserId = purchaserGroup.Key,
first.PurchaserName,
first.PurchasePlatform,
cargoParamList
};
cargoParamGroupList.Add(cargoParamGroup);
}
return cargoParamGroupList;
}
/// <summary>
/// 预览订单
@ -22,25 +61,15 @@ namespace BBWYB.Client.APIServices
/// <param name="consignee"></param>
/// <param name="purchaseSchemeProductSkuList"></param>
/// <returns></returns>
public ApiResponse<PreviewOrderResponse> PreviewPurchaseOrder(Consignee consignee, IList<PurchaseSchemeProductSku> purchaseSchemeProductSkuList, Platform purchasePlatform, PurchaseAccount purchaseAccount, PurchaseOrderMode purchaseOrderMode)
public ApiResponse<PreviewOrderResponse> PreviewPurchaseOrder(Consignee consignee, IList<ProductSkuWithScheme> productSkuWithSchemeList, Platform purchasePlatform, PurchaseOrderMode purchaseOrderMode)
{
var cargoParamGroupList = CombineCargoParamGroup(productSkuWithSchemeList);
return SendRequest<PreviewOrderResponse>(globalContext.BBYWApiHost, "api/PurchaseOrder/PreviewPurchaseOrder", new
{
purchaseOrderMode,
consignee,
CargoParamList = purchaseSchemeProductSkuList.Select(sku => new
{
ProductId = sku.PurchaseProductId,
SkuId = sku.PurchaseSkuId,
SpecId = sku.PurchaseSkuSpecId,
Quantity = sku.ItemTotal,
BelongSkuId = sku.SkuId
}),
Platform = purchasePlatform,
purchaseAccount.AppKey,
purchaseAccount.AppSecret,
purchaseAccount.AppToken,
SaveResponseLog = true
cargoParamGroupList,
globalContext.User.Shop.PurchaseAccountList
}, null, HttpMethod.Post);
}
@ -52,26 +81,18 @@ namespace BBWYB.Client.APIServices
/// <param name="purchasePlatform"></param>
/// <param name="purchaseAccount"></param>
/// <param name="purchaseOrderMode"></param>
/// <param name="tradeMode"></param>
/// <param name="remark"></param>
/// <param name="orderId"></param>
/// <param name="shopId"></param>
/// <param name="purchaseAccountId"></param>
/// <param name="buyerAccount"></param>
/// <param name="sellerAccount"></param>
/// <param name="purchaserId"></param>
/// <param name="platformCommissionRatio"></param>
/// <param name="purchaserName"></param>
/// <param name="extensions"></param>
/// <returns></returns>
public ApiResponse<object> FastCreateOrder(Consignee consignee,
IList<PurchaseSchemeProductSku> purchaseSchemeProductSkuList,
Platform purchasePlatform,
PurchaseAccount purchaseAccount,
PurchaseOrderMode purchaseOrderMode,
string remark,
string orderId,
long shopId,
string purchaserName,
string extensions)
{
return SendRequest<object>(globalContext.BBYWApiHost, "api/purchaseOrder/CreatePurchaseOrder", new

36
BBWYB.Client/ViewModels/Purchase/OnlinePurchaseViewModel.cs

@ -156,42 +156,6 @@ namespace BBWYB.Client.ViewModels
WaitHandle.WaitAll(waitList.ToArray());
PreviewOrder(); //预览订单
});
//Task.Factory.StartNew(() => purchaseService.GetPurchaseSchemeList(order.ItemList.Select(osku => osku.SkuId).ToList(), purchaser.Id, globalContext.User.Shop.ShopId))
// .ContinueWith(r =>
// {
// var purchaseSchemeResponse = r.Result;
// if (!purchaseSchemeResponse.Success)
// {
// IsLoading = false;
// App.Current.Dispatcher.Invoke(() => MessageBox.Show(purchaseSchemeResponse.Msg, "获取采购方案"));
// return;
// }
// var waitList = new List<WaitHandle>();
// foreach (var purchaseSchemeApiModel in purchaseSchemeResponse.Data)
// {
// var purchaseScheme = PurchaseScheme.Convert(purchaseSchemeApiModel);
// purchaseSchemeList.Add(purchaseScheme);
// foreach (var purchaseSchemeProduct in purchaseScheme.PurchaseSchemeProductList)
// {
// var ewh = new ManualResetEvent(false);
// waitList.Add(ewh);
// var orderSku = order.ItemList.FirstOrDefault(osku => osku.SkuId == purchaseScheme.SkuId);
// Task.Factory.StartNew(() => LoadPurchaseProduct(purchaseScheme.PurchasePlatform, purchaseSchemeProduct, orderSku, ewh));
// }
// }
// WaitHandle.WaitAll(waitList.ToArray());
// //IsLoading = false;
// if (PurchaseSchemeProductSkuList.Count() > 0)
// OnDelayTriggerExecute(Guid.NewGuid().ToString());
// else
// {
// IsLoading = false;
// App.Current.Dispatcher.Invoke(() => MessageBox.Show("采购方案商品加载失败,请重新打开预览窗口", "提示"));
// }
// });
}
private void LoadPurchaseScheme(ProductSkuWithScheme productSkuWithScheme, PurchaseScheme purchaseScheme, EventWaitHandle ewh)

Loading…
Cancel
Save