Browse Source

对接采购

qianyi
shanji 3 years ago
parent
commit
28887d8c48
  1. 49
      BBWY.Client/APIServices/PurchaseOrderService.cs
  2. 5
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  3. 61
      BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs
  4. 14
      BBWY.Client/Views/Order/ChoosePurchaseScheme.xaml.cs
  5. 3
      BBWY.Client/Views/Purchase/1688Purchase.xaml
  6. 13
      BBWY.Client/Views/Purchase/1688Purchase.xaml.cs

49
BBWY.Client/APIServices/PurchaseOrderService.cs

@ -75,5 +75,54 @@ namespace BBWY.Client.APIServices
SaveResponseLog = true
}, null, HttpMethod.Post);
}
/// <summary>
/// 创建采购单
/// </summary>
/// <param name="consignee"></param>
/// <param name="purchaseSchemeProductSkuList"></param>
/// <param name="purchasePlatform"></param>
/// <param name="purchaseAccount"></param>
/// <param name="tradeMode"></param>
/// <param name="remark"></param>
/// <param name="orderId"></param>
/// <param name="shopId"></param>
/// <param name="buyerAccount"></param>
/// <param name="sellerAccount"></param>
/// <returns></returns>
public ApiResponse<object> FastCreateOrder(Consignee consignee,
IList<PurchaseSchemeProductSku> purchaseSchemeProductSkuList,
Platform purchasePlatform,
PurchaseAccount purchaseAccount,
string tradeMode,
string remark,
string orderId,
long shopId,
string buyerAccount,
string sellerAccount)
{
return SendRequest<object>(globalContext.BBYWApiHost, "api/purchaseOrder/FastCreateOrder", new
{
consignee,
CargoParamList = purchaseSchemeProductSkuList.Select(sku => new
{
ProductId = sku.PurchaseProductId,
SkuId = sku.PurchaseSkuId,
SpecId = sku.PurchaseSkuSpecId,
Quantity = sku.ItemTotal
}),
Platform = purchasePlatform,
AppKey = purchaseAccount.AppKey,
AppSecret = purchaseAccount.AppSecret,
AppToken = purchaseAccount.AppToken,
SaveResponseLog = true,
tradeMode,
remark,
orderId,
shopId,
buyerAccount,
sellerAccount
}, null, HttpMethod.Post);
}
}
}

5
BBWY.Client/ViewModels/Order/OrderListViewModel.cs

@ -159,6 +159,11 @@ namespace BBWY.Client.ViewModels
Task.Factory.StartNew(() => LoadOrder(1)); //选择状态查询订单
}
public void RefreshOrder()
{
Task.Factory.StartNew(() => LoadOrder(PageIndex));
}
private void LoadOrder(int pageIndex)
{
IsLoading = true;

61
BBWY.Client/ViewModels/Purchase/1688PreviewPurchaseViewModel.cs

@ -1,6 +1,7 @@
using BBWY.Client.APIServices;
using BBWY.Client.Models;
using BBWY.Common.Trigger;
using GalaSoft.MvvmLight.Command;
using Newtonsoft.Json.Linq;
using System;
using System.Collections.Generic;
@ -9,11 +10,14 @@ using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;
namespace BBWY.Client.ViewModels
{
public class _1688PreviewPurchaseViewModel : BaseVM
{
public ICommand FastCreateOrderCommand { get; set; }
public IList<PurchaseSchemeProductSku> PurchaseSchemeProductSkuList { get; set; }
public PurchaseScheme PurchaseScheme { get; set; }
@ -32,6 +36,8 @@ namespace BBWY.Client.ViewModels
public string Town { get => town; set { Set(ref town, value); } }
public string PrucahseRemark { get => prucahseRemark; set { Set(ref prucahseRemark, value); } }
private OrderListViewModel orderListViewModel;
private GlobalContext globalContext;
private string orderId;
private int skuItemCount;
private bool isLoading;
@ -53,13 +59,16 @@ namespace BBWY.Client.ViewModels
private string tradeMode;
public _1688PreviewPurchaseViewModel(OneBoundAPIService oneBoundAPIService, PurchaseOrderService purchaseOrderService)
public _1688PreviewPurchaseViewModel(OneBoundAPIService oneBoundAPIService, PurchaseOrderService purchaseOrderService, GlobalContext globalContext, OrderListViewModel orderListViewModel)
{
this.oneBoundAPIService = oneBoundAPIService;
this.purchaseOrderService = purchaseOrderService;
this.delayTrigger = new DelayTrigger();
this.delayTrigger.OnExecute = OnDelayTriggerExecute;
PurchaseSchemeProductSkuList = new ObservableCollection<PurchaseSchemeProductSku>();
FastCreateOrderCommand = new RelayCommand(FastCreateOrder);
this.globalContext = globalContext;
this.orderListViewModel = orderListViewModel;
}
public void SetData(string orderId, int skuItemCount, PurchaseScheme purchaseScheme, PurchaseAccount purchaseAccount, Consignee consignee)
@ -102,7 +111,11 @@ namespace BBWY.Client.ViewModels
PurchaseSchemeProductSkuList.Clear();
PurchaseScheme = null;
orderId = string.Empty;
tradeMode = string.Empty;
skuItemCount = 0;
ProductAmount = FreightAmount = TotalAmount = 0;
ContactName = Address = Mobile = Province = City = County = Town = PrucahseRemark = string.Empty;
}
private void LoadPurchaseProduct(PurchaseSchemeProduct purchaseSchemeProduct, ManualResetEvent ewh)
@ -221,5 +234,51 @@ namespace BBWY.Client.ViewModels
tradeMode = r.Data.OrderTradeType?.Code;
});
}
private void FastCreateOrder()
{
if (TotalAmount == 0)
{
MessageBox.Show("总金额为0不能提交订单", "提示");
return;
}
IsLoading = true;
Task.Factory.StartNew(() => purchaseOrderService.FastCreateOrder(new Consignee()
{
Address = Address,
City = City,
ContactName = ContactName,
County = County,
Mobile = Mobile,
Province = Province,
TelePhone = Mobile,
Town = Town
}, PurchaseSchemeProductSkuList,
Platform.,
PurchaseAccount,
tradeMode,
PrucahseRemark,
orderId,
globalContext.User.Shop.ShopId,
PurchaseAccount.AccountName,
PurchaseScheme.PurchaserName)).ContinueWith(t =>
{
IsLoading = false;
var r = t.Result;
if (!r.Success)
{
App.Current.Dispatcher.Invoke(() => MessageBox.Show(r.Msg, "下单"));
return;
}
//刷新订单列表
orderListViewModel.RefreshOrder();
//关闭当前窗口
GalaSoft.MvvmLight.Messaging.Messenger.Default.Send<object>(null, "OnlinePurchase_Close");
});
}
}
}

14
BBWY.Client/Views/Order/ChoosePurchaseScheme.xaml.cs

@ -1,4 +1,5 @@
using BBWY.Controls;
using GalaSoft.MvvmLight.Messaging;
namespace BBWY.Client.Views.Order
{
@ -10,7 +11,18 @@ namespace BBWY.Client.Views.Order
public ChoosePurchaseScheme()
{
InitializeComponent();
GalaSoft.MvvmLight.Messaging.Messenger.Default.Register<object>(this, "ChoosePurchaseScheme_Close", (x) => this.Close());
this.Loaded += ChoosePurchaseScheme_Loaded;
this.Unloaded += ChoosePurchaseScheme_Unloaded;
}
private void ChoosePurchaseScheme_Unloaded(object sender, System.Windows.RoutedEventArgs e)
{
Messenger.Default.Unregister(this);
}
private void ChoosePurchaseScheme_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
Messenger.Default.Register<object>(this, "ChoosePurchaseScheme_Close", (x) => this.Close());
}
}
}

3
BBWY.Client/Views/Purchase/1688Purchase.xaml

@ -122,6 +122,7 @@
<Run Text="{Binding TotalAmount,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Foreground="#EC808D"/>
<Run Text="元"/>
</TextBlock>
<c:BButton Content="提交订单" Grid.Row="4" Width="80" HorizontalAlignment="Right" Margin="0,0,5,0"/>
<c:BButton Content="提交订单" Grid.Row="4" Width="80" HorizontalAlignment="Right" Margin="0,0,5,0"
Command="{Binding FastCreateOrderCommand}"/>
</Grid>
</c:BWindow>

13
BBWY.Client/Views/Purchase/1688Purchase.xaml.cs

@ -1,6 +1,7 @@
using BBWY.Client.Models;
using BBWY.Client.ViewModels;
using BBWY.Controls;
using GalaSoft.MvvmLight.Messaging;
namespace BBWY.Client.Views.Purchase
{
@ -13,6 +14,18 @@ namespace BBWY.Client.Views.Purchase
{
InitializeComponent();
(this.DataContext as _1688PreviewPurchaseViewModel).SetData(orderId, skuItemCount, purchaseScheme, purchaseAccount, consignee);
this.Loaded += _1688Purchase_Loaded;
this.Unloaded += _1688Purchase_Unloaded;
}
private void _1688Purchase_Unloaded(object sender, System.Windows.RoutedEventArgs e)
{
Messenger.Default.Unregister(this);
}
private void _1688Purchase_Loaded(object sender, System.Windows.RoutedEventArgs e)
{
Messenger.Default.Register<object>(this, "OnlinePurchase_Close", (x) => this.Close());
}
}
}

Loading…
Cancel
Save