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 spu
}, null, HttpMethod.Post); }, 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 GlobalContext globalContext;
private PurchaseProductAPIService purchaseProductAPIService; private PurchaseProductAPIService purchaseProductAPIService;
private PurchaseService purchaseService; private PurchaseService purchaseService;
private BatchPurchaseService batchPurchaseService;
private DelayTrigger delayTrigger; private DelayTrigger delayTrigger;
private bool isLoading; private bool isLoading;
@ -34,6 +35,10 @@ namespace BBWY.Client.ViewModels
private string town; private string town;
private string prucahseRemark; private string prucahseRemark;
private PurchaseOrderMode purchaseOrderMode = PurchaseOrderMode.; private PurchaseOrderMode purchaseOrderMode = PurchaseOrderMode.;
private string tradeMode;
private string extensions;
public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } } public bool IsLoading { get => isLoading; set { Set(ref isLoading, value); } }
public decimal ProductAmount { get => productAmount; set { Set(ref productAmount, 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 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.globalContext = globalContext;
this.purchaseProductAPIService = purchaseProductAPIService; this.purchaseProductAPIService = purchaseProductAPIService;
this.purchaseService = purchaseService; this.purchaseService = purchaseService;
this.batchPurchaseService = batchPurchaseService;
ProductSkuWithSchemeList = new ObservableCollection<ProductSkuWithScheme>(); ProductSkuWithSchemeList = new ObservableCollection<ProductSkuWithScheme>();
FastCreateOrderCommand = new RelayCommand(FastCreateOrder); FastCreateOrderCommand = new RelayCommand(FastCreateOrder);
@ -96,6 +105,15 @@ namespace BBWY.Client.ViewModels
return; return;
} }
if (ProductSkuWithSchemeList.Count() == 0)
{
ProductAmount = 0;
FreightAmount = 0;
TotalAmount = 0;
IsLoading = false;
return;
}
if (string.IsNullOrEmpty(ContactName) || if (string.IsNullOrEmpty(ContactName) ||
string.IsNullOrEmpty(Address) || string.IsNullOrEmpty(Address) ||
string.IsNullOrEmpty(Mobile) || string.IsNullOrEmpty(Mobile) ||
@ -108,45 +126,35 @@ namespace BBWY.Client.ViewModels
return; 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; 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; return;
} }
ProductAmount = r.Data.ProductAmount;
IsLoading = true; FreightAmount = r.Data.FreightAmount;
//IsLoading = true; TotalAmount = r.Data.TotalAmount;
//Task.Factory.StartNew(() => purchaseOrderService.PreviewPurchaseOrder(new Consignee() tradeMode = r.Data.OrderTradeType?.Code;
//{ extensions = r.Data.Extensions;
// 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;
// });
} }
private void PreviewOrder() private void PreviewOrder()

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

@ -32,9 +32,9 @@ namespace BBWY.Server.API.Controllers
/// <param name="request"></param> /// <param name="request"></param>
/// <returns></returns> /// <returns></returns>
[HttpPost] [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; return list;
} }
public PreviewOrderResponse PreviewOrderRequest(BatchPurchasePreviewOrderRequest request) public PreviewOrderResponse PreviewOrder(BatchPurchasePreviewOrderRequest request)
{ {
/* /*

Loading…
Cancel
Save