shanji 3 years ago
parent
commit
262e4b55b4
  1. 45
      BBWY.Client/APIServices/BatchPurchaseService.cs
  2. 80
      BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseCreateNewOrderViewModel.cs
  3. 4
      BBWY.Server.API/Controllers/BatchPurchaseController.cs
  4. 2
      BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs

45
BBWY.Client/APIServices/BatchPurchaseService.cs

@ -31,5 +31,50 @@ namespace BBWY.Client.APIServices
spu
}, null, HttpMethod.Post);
}
public ApiResponse<PreviewOrderResponse> PreviewOrder(IList<ProductSkuWithScheme> productSkuWithSchemeList,
Consignee consignee,
PurchaseOrderMode purchaseOrderMode,
IList<PurchaseAccount> purchaseAccountList)
{
/*
public string PurchaseProductId { get; set; }
public string PuchaseSkuId { get; set; }
public string PurchaseSpecId { get; set; }
public int Quantity { get; set; }
public string PurchaserId { get; set; }
public string PurchaserName { get; set; }
public Enums.Platform PurchasePlatform { get; set; }
public string BelongSkuId { get; set; }
*/
var productParamList = new List<object>();
foreach (var productSkuWithScheme in productSkuWithSchemeList)
{
foreach (var purchaseSchemeProductSku in productSkuWithScheme.PurchaseSchemeProductSkuList)
{
productParamList.Add(new
{
purchaseSchemeProductSku.PurchaseProductId,
purchaseSchemeProductSku.PurchaseSkuId,
PurchaseSpecId = purchaseSchemeProductSku.PurchaseSkuSpecId,
Quantity = purchaseSchemeProductSku.ItemTotal,
PurchaserId = productSkuWithScheme.PurchaserId,
PurchaserName = productSkuWithScheme.PurchaserName,
PurchasePlatform = productSkuWithScheme.PurchasePlatform,
BelongSkuId = productSkuWithScheme.SkuId
});
}
}
return SendRequest<PreviewOrderResponse>(globalContext.BBYWApiHost, "api/BatchPurchase/PreviewOrder", new
{
consignee,
purchaseOrderMode,
purchaseAccountList,
productParamList
}, null, HttpMethod.Post);
}
}
}

80
BBWY.Client/ViewModels/BatchPurchase/BatchPurchaseCreateNewOrderViewModel.cs

@ -19,6 +19,7 @@ namespace BBWY.Client.ViewModels
private GlobalContext globalContext;
private PurchaseProductAPIService purchaseProductAPIService;
private PurchaseService purchaseService;
private BatchPurchaseService batchPurchaseService;
private DelayTrigger delayTrigger;
private bool isLoading;
@ -34,6 +35,10 @@ namespace BBWY.Client.ViewModels
private string town;
private string prucahseRemark;
private PurchaseOrderMode purchaseOrderMode = PurchaseOrderMode.;
private string tradeMode;
private string extensions;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
public decimal ProductAmount { get => productAmount; set { Set(ref productAmount, value); } }
@ -70,11 +75,15 @@ namespace BBWY.Client.ViewModels
public ICommand SubtractQuantityCommand { get; set; }
public BatchPurchaseCreateNewOrderViewModel(PurchaseProductAPIService purchaseProductAPIService, PurchaseService purchaseService, GlobalContext globalContext)
public BatchPurchaseCreateNewOrderViewModel(PurchaseProductAPIService purchaseProductAPIService,
PurchaseService purchaseService,
GlobalContext globalContext,
BatchPurchaseService batchPurchaseService)
{
this.globalContext = globalContext;
this.purchaseProductAPIService = purchaseProductAPIService;
this.purchaseService = purchaseService;
this.batchPurchaseService = batchPurchaseService;
ProductSkuWithSchemeList = new ObservableCollection<ProductSkuWithScheme>();
FastCreateOrderCommand = new RelayCommand(FastCreateOrder);
@ -96,6 +105,15 @@ namespace BBWY.Client.ViewModels
return;
}
if (ProductSkuWithSchemeList.Count() == 0)
{
ProductAmount = 0;
FreightAmount = 0;
TotalAmount = 0;
IsLoading = false;
return;
}
if (string.IsNullOrEmpty(ContactName) ||
string.IsNullOrEmpty(Address) ||
string.IsNullOrEmpty(Mobile) ||
@ -108,45 +126,35 @@ namespace BBWY.Client.ViewModels
return;
}
if (ProductSkuWithSchemeList.Count() == 0)
IsLoading = true;
Task.Factory.StartNew(() => batchPurchaseService.PreviewOrder(ProductSkuWithSchemeList, new Consignee()
{
Address = Address,
City = City,
ContactName = ContactName,
County = County,
Mobile = Mobile,
Province = Province,
TelePhone = Mobile,
Town = Town
}, this.PurchaseOrderMode, globalContext.User.Shop.PurchaseAccountList))
.ContinueWith(t =>
{
ProductAmount = 0;
FreightAmount = 0;
TotalAmount = 0;
IsLoading = false;
var r = t.Result;
if (!r.Success)
{
ProductAmount = FreightAmount = TotalAmount = 0;
tradeMode = string.Empty;
App.Current.Dispatcher.Invoke(() => MessageBox.Show(r.Msg, "预览订单报价"));
return;
}
IsLoading = true;
//IsLoading = true;
//Task.Factory.StartNew(() => purchaseOrderService.PreviewPurchaseOrder(new Consignee()
//{
// Address = Address,
// City = City,
// ContactName = ContactName,
// County = County,
// Mobile = Mobile,
// Province = Province,
// TelePhone = Mobile,
// Town = Town
//}, PurchaseSchemeProductSkuList, purchaseAccount.PurchasePlatformId, purchaseAccount, PurchaseOrderMode))
// .ContinueWith(t =>
// {
// IsLoading = false;
// var r = t.Result;
// if (!r.Success)
// {
// ProductAmount = FreightAmount = TotalAmount = 0;
// tradeMode = string.Empty;
// App.Current.Dispatcher.Invoke(() => MessageBox.Show(r.Msg, "预览订单报价"));
// return;
// }
// ProductAmount = r.Data.ProductAmount;
// FreightAmount = r.Data.FreightAmount;
// TotalAmount = r.Data.TotalAmount;
// tradeMode = r.Data.OrderTradeType?.Code;
// extensions = r.Data.Extensions;
// });
ProductAmount = r.Data.ProductAmount;
FreightAmount = r.Data.FreightAmount;
TotalAmount = r.Data.TotalAmount;
tradeMode = r.Data.OrderTradeType?.Code;
extensions = r.Data.Extensions;
});
}
private void PreviewOrder()

4
BBWY.Server.API/Controllers/BatchPurchaseController.cs

@ -32,9 +32,9 @@ namespace BBWY.Server.API.Controllers
/// <param name="request"></param>
/// <returns></returns>
[HttpPost]
public PreviewOrderResponse PreviewOrderRequest([FromBody] BatchPurchasePreviewOrderRequest request)
public PreviewOrderResponse PreviewOrder([FromBody] BatchPurchasePreviewOrderRequest request)
{
return batchPurchaseBusiness.PreviewOrderRequest(request);
return batchPurchaseBusiness.PreviewOrder(request);
}
}
}

2
BBWY.Server.Business/PurchaseOrderV2/BatchPurchase/BatchPurchaseBusiness.cs

@ -104,7 +104,7 @@ namespace BBWY.Server.Business
return list;
}
public PreviewOrderResponse PreviewOrderRequest(BatchPurchasePreviewOrderRequest request)
public PreviewOrderResponse PreviewOrder(BatchPurchasePreviewOrderRequest request)
{
/*

Loading…
Cancel
Save