Browse Source

1.关联代发订单

qianyi
shanji 3 years ago
parent
commit
53396aff71
  1. 29
      BBWY.Client/APIServices/OrderService.cs
  2. 4
      BBWY.Client/App.xaml.cs
  3. 11
      BBWY.Client/BBWY.Client.csproj
  4. 19
      BBWY.Client/Models/APIModel/Response/Order/OrderDropShippingResponse.cs
  5. 5
      BBWY.Client/Models/APIModel/Response/Order/OrderResponse.cs
  6. 1
      BBWY.Client/Models/MappingProfile.cs
  7. 5
      BBWY.Client/Models/Order/Order.cs
  8. 22
      BBWY.Client/Models/Order/OrderDropShipping.cs
  9. 45
      BBWY.Client/Models/Order/RelationPurchaseOrderSku.cs
  10. 2
      BBWY.Client/ViewModels/MainViewModel.cs
  11. 75
      BBWY.Client/ViewModels/Order/OrderListViewModel.cs
  12. 55
      BBWY.Client/Views/Order/OrderList.xaml
  13. 141
      BBWY.Client/Views/Order/RelationPurchaseOrder.xaml
  14. 56
      BBWY.Client/Views/Order/RelationPurchaseOrder.xaml.cs
  15. 10
      BBWY.Server.API/Controllers/OrderController.cs
  16. 15
      BBWY.Server.API/Controllers/TestController.cs
  17. 193
      BBWY.Server.Business/Order/OrderBusiness.cs
  18. 32
      BBWY.Server.Model/Db/Order/Order.cs
  19. 58
      BBWY.Server.Model/Db/Order/OrderDropShipping.cs
  20. 8
      BBWY.Server.Model/Dto/Request/Order/OrderDropShippingRequest.cs
  21. 22
      BBWY.Server.Model/Dto/Request/Order/RelationPurchaseOrderRequest.cs
  22. 5
      BBWY.Server.Model/Dto/Request/Order/SearchOrderRequest.cs
  23. 8
      BBWY.Server.Model/Dto/Response/Order/OrderDropShippingResponse.cs
  24. 5
      BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs
  25. 10
      BBWY.Server.Model/MappingProfiles.cs

29
BBWY.Client/APIServices/OrderService.cs

@ -2,6 +2,7 @@
using BBWY.Common.Http;
using BBWY.Common.Models;
using System;
using System.Collections.Generic;
using System.Net.Http;
namespace BBWY.Client.APIServices
@ -21,8 +22,12 @@ namespace BBWY.Client.APIServices
string productNo,
string waybill,
string contactName,
int pageIndex, int pageSize,
long shopId)
int pageIndex,
int pageSize,
long shopId,
bool onlyDF,
bool excludeSD,
bool excludeCanceled)
{
return SendRequest<OrderListResponse>(globalContext.BBYWApiHost, "api/order/getOrderList", new
{
@ -36,7 +41,10 @@ namespace BBWY.Client.APIServices
sku,
productNo,
waybill,
contactName
contactName,
onlyDF,
excludeSD,
excludeCanceled
}, null, HttpMethod.Post);
}
@ -125,5 +133,20 @@ namespace BBWY.Client.APIServices
AppToken = globalContext.User.Shop.AppToken
}, null, HttpMethod.Post);
}
/// <summary>
/// 关联代发订单
/// </summary>
/// <param name="orderDropShipping"></param>
/// <param name="relationPurchaseOrderSkuList"></param>
/// <returns></returns>
public ApiResponse<object> RelationPurchaseOrder(OrderDropShipping orderDropShipping, IList<RelationPurchaseOrderSku> relationPurchaseOrderSkuList)
{
return SendRequest<object>(globalContext.BBYWApiHost, "api/order/RelationPurchaseOrder", new
{
orderDropShipping,
relationPurchaseOrderSkuList
}, null, HttpMethod.Post);
}
}
}

4
BBWY.Client/App.xaml.cs

@ -1,4 +1,5 @@
using BBWY.Client.Models;
using BBWY.Client.ViewModels;
using BBWY.Common.Extensions;
using BBWY.Common.Http;
using BBWY.Common.Models;
@ -42,9 +43,6 @@ namespace BBWY.Client
serviceCollection.AddHttpClient();
serviceCollection.AddSingleton<RestApiService>();
serviceCollection.AddSingleton(gl);
//serviceCollection.AddSingleton<MainViewModel>();
//serviceCollection.AddSingleton<WareManagerViewModel>();
//serviceCollection.AddSingleton<WareStockViewModel>();
serviceCollection.BatchRegisterServices(new Assembly[] { Assembly.Load("BBWY.Client") }, typeof(IDenpendency));
serviceCollection.AddMapper(new MappingProfile());

11
BBWY.Client/BBWY.Client.csproj

@ -15,6 +15,13 @@
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Extensions\**" />
<EmbeddedResource Remove="Extensions\**" />
<None Remove="Extensions\**" />
<Page Remove="Extensions\**" />
</ItemGroup>
<ItemGroup>
<None Remove="BBWYAppSettings.json" />
<None Remove="Resources\Images\defaultItem.png" />
@ -51,8 +58,4 @@
</Resource>
</ItemGroup>
<ItemGroup>
<Folder Include="Extensions\" />
</ItemGroup>
</Project>

19
BBWY.Client/Models/APIModel/Response/Order/OrderDropShippingResponse.cs

@ -0,0 +1,19 @@
namespace BBWY.Client.Models
{
public class OrderDropShippingResponse
{
public string OrderId { get; set; }
public string BuyerAccount { get; set; }
public decimal DeliveryFreight { get; set; }
public decimal PurchaseAmount { get; set; }
public string PurchaseOrderId { get; set; }
public Platform? PurchasePlatform { get; set; }
public string SellerAccount { get; set; }
}
}

5
BBWY.Client/Models/APIModel/Response/Order/OrderResponse.cs

@ -134,6 +134,11 @@ namespace BBWY.Client.Models
/// 订单成本明细列表
/// </summary>
public IList<OrderCostDetailResponse> OrderCostDetailList { get; set; }
/// <summary>
/// 代发信息
/// </summary>
public OrderDropShippingResponse OrderDropShipping { get; set; }
}
public class OrderListResponse

1
BBWY.Client/Models/MappingProfile.cs

@ -6,6 +6,7 @@ namespace BBWY.Client.Models
{
public MappingProfile()
{
CreateMap<OrderDropShippingResponse, OrderDropShipping>();
CreateMap<OrderCostDetailResponse, OrderCostDetail>();
CreateMap<OrderCouponResponse, OrderCoupon>();
CreateMap<OrderCostResponse, OrderCost>();

5
BBWY.Client/Models/Order/Order.cs

@ -156,6 +156,11 @@ namespace BBWY.Client.Models
/// </summary>
public IList<OrderCostDetailGroup> OrderCostDetailGroupList { get; set; }
/// <summary>
/// 代发信息
/// </summary>
public OrderDropShipping OrderDropShipping { get; set; }
public void ConvertOrderCostDetailToGroup()
{
if (OrderCostDetailList == null || OrderCostDetailList.Count() == 0)

22
BBWY.Client/Models/Order/OrderDropShipping.cs

@ -0,0 +1,22 @@
namespace BBWY.Client.Models
{
public class OrderDropShipping : NotifyObject
{
public string OrderId { get; set; }
public string BuyerAccount { get => buyerAccount; set { Set(ref buyerAccount, value); } }
public string SellerAccount { get => sellerAccount; set { Set(ref sellerAccount, value); } }
public decimal DeliveryFreight { get => deliveryFreight; set { Set(ref deliveryFreight, value); } }
public string PurchaseOrderId { get => purchaseOrderId; set { Set(ref purchaseOrderId, value); } }
public Platform PurchasePlatform { get => purchasePlatform; set { Set(ref purchasePlatform, value); } }
public decimal PurchaseAmount { get => purchaseAmount; set { Set(ref purchaseAmount, value); } }
private string buyerAccount;
private string sellerAccount;
private decimal deliveryFreight;
private string purchaseOrderId;
private Platform purchasePlatform;
private decimal purchaseAmount;
}
}

45
BBWY.Client/Models/Order/RelationPurchaseOrderSku.cs

@ -0,0 +1,45 @@
using Newtonsoft.Json;
using System;
namespace BBWY.Client.Models
{
public class RelationPurchaseOrderSku : NotifyObject
{
private decimal singleSkuAmount;
private decimal skuAmount;
public string ProductId { get; set; }
public string SkuId { get; set; }
public string Logo { get; set; }
public int Quantity { get; set; }
public string Title { get; set; }
public decimal SingleSkuAmount
{
get => singleSkuAmount;
set
{
if (Set(ref singleSkuAmount, value))
SkuAmount = SingleSkuAmount * Quantity;
}
}
public decimal SkuAmount
{
get => skuAmount;
set
{
if (Set(ref skuAmount, value))
OnSkuAmountChanged?.Invoke();
}
}
[JsonIgnore]
public Action OnSkuAmountChanged { get; set; }
}
}

2
BBWY.Client/ViewModels/MainViewModel.cs

@ -124,7 +124,7 @@ namespace BBWY.Client.ViewModels
// Platform = Platform.京东,
// AppKey = "120EA9EC65AB017567D78CC1139EEEA5",
// AppSecret = "866a9877f5f24b03b537483b4defe75d",
// AppToken = "d8433fb2a4994484b5d9e5a5896a6dfdmyjj" //d202f5eaf1c041dbbe2630363c6151eadiwm,8241a17cb2ae4d0db88b47a399dce22edi0m
// AppToken = "d8433fb2a4994484b5d9e5a5896a6dfdmyjj" //10388155
// }
//};

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

@ -35,6 +35,9 @@ namespace BBWY.Client.ViewModels
private string searchProductNo;
private string searchContactName;
private string searchWaybill;
private bool onlyDF;
private bool excludeSD;
private bool excludeCanceled;
private Random random;
private GlobalContext globalContext;
@ -62,6 +65,10 @@ namespace BBWY.Client.ViewModels
public string SearchContactName { get => searchContactName; set { Set(ref searchContactName, value); } }
public string SearchWaybill { get => searchWaybill; set { Set(ref searchWaybill, value); } }
public bool OnlyDF { get => onlyDF; set { Set(ref onlyDF, value); } }
public bool ExcludeSD { get => excludeSD; set { Set(ref excludeSD, value); } }
public bool ExcludeCanceled { get => excludeCanceled; set { Set(ref excludeCanceled, value); } }
public ToDayOrderAchievement ToDayOrderAchievement { get; set; }
public ICommand SetOrderStateCommand { get; set; }
@ -137,7 +144,7 @@ namespace BBWY.Client.ViewModels
private void LoadOrder(int pageIndex)
{
IsLoading = true;
Thread.Sleep(random.Next(1000, 2000));
Thread.Sleep(random.Next(500, 2000));
var response = orderService.GetOrderList(SearchOrderId,
StartDate,
EndDate,
@ -148,7 +155,10 @@ namespace BBWY.Client.ViewModels
SearchContactName,
pageIndex,
pageSize,
globalContext.User.Shop.ShopId);
globalContext.User.Shop.ShopId,
OnlyDF,
ExcludeSD,
ExcludeCanceled);
if (!response.Success)
{
IsLoading = false;
@ -221,6 +231,41 @@ namespace BBWY.Client.ViewModels
sd.Closed += Sd_Closed;
sd.ShowDialog();
}
else if (storageType == StorageType.)
{
var relationPurchaseOrder = new RelationPurchaseOrder(orderId, null, order.ItemList.Select(osku => new RelationPurchaseOrderSku()
{
Logo = osku.Logo,
ProductId = osku.ProductId,
SkuId = osku.Id,
Quantity = osku.ItemTotal,
Title = osku.Title
}).ToList());
relationPurchaseOrder.Closed += RelationPurchaseOrder_Closed;
relationPurchaseOrder.ShowDialog();
}
}
private void RelationPurchaseOrder_Closed(object sender, EventArgs e)
{
var relationPurchaseOrder = sender as RelationPurchaseOrder;
if (relationPurchaseOrder.DialogResult != true)
return;
var orderDropShipping = relationPurchaseOrder.OrderDropShipping;
var relationPurchaseOrderSkuList = relationPurchaseOrder.RelationPurchaseOrderSkuList;
IsLoading = true;
Task.Factory.StartNew(() => orderService.RelationPurchaseOrder(orderDropShipping, relationPurchaseOrderSkuList))
.ContinueWith(r =>
{
var response = r.Result;
if (!response.Success)
{
IsLoading = false;
App.Current.Dispatcher.Invoke(() => MessageBox.Show(response.Msg, "关联采购订单"));
return;
}
LoadOrder(PageIndex); //手动计算成功刷新订单列表
});
}
private void Sd_Closed(object sender, EventArgs e)
@ -261,18 +306,32 @@ namespace BBWY.Client.ViewModels
{
if (order.StorageType == null)
return;
if (order.StorageType != StorageType.SD)
{
var calculationCostType = new ChooseCalculationCostType(order.Id, order.StorageType.Value, false);
calculationCostType.Closed += ChooseCalculationCostType_Closed;
calculationCostType.ShowDialog();
if (order.StorageType == StorageType.)
{
var relationPurchaseOrder = new RelationPurchaseOrder(order.Id, order.OrderDropShipping, order.ItemList.Select(osku => new RelationPurchaseOrderSku()
{
Logo = osku.Logo,
ProductId = osku.ProductId,
SkuId = osku.Id,
Quantity = osku.ItemTotal,
Title = osku.Title,
SingleSkuAmount = (order.OrderCostDetailList.FirstOrDefault(ocd => ocd.SkuId == osku.Id)?.SkuAmount / osku.ItemTotal) ?? 0
}).ToList());
relationPurchaseOrder.Closed += RelationPurchaseOrder_Closed;
relationPurchaseOrder.ShowDialog();
}
else
else if (order.StorageType == StorageType.SD)
{
var sd = new SD(order.Id, false);
sd.Closed += Sd_Closed;
sd.ShowDialog();
}
else
{
var calculationCostType = new ChooseCalculationCostType(order.Id, order.StorageType.Value, false);
calculationCostType.Closed += ChooseCalculationCostType_Closed;
calculationCostType.ShowDialog();
}
}
private void ChooseCalculationCostType_Closed(object sender, EventArgs e)

55
BBWY.Client/Views/Order/OrderList.xaml

@ -223,9 +223,9 @@
<Border Grid.Row="4" Background="{StaticResource Border.Background}">
<StackPanel Orientation="Horizontal" >
<CheckBox Content="仅显示代发订单" Margin="5,0,0,0"/>
<CheckBox Content="过滤SD订单" Margin="5,0,0,0"/>
<CheckBox Content="过滤已取消" Margin="5,0,0,0"/>
<CheckBox Content="仅显示代发订单" Margin="5,0,0,0" IsChecked="{Binding OnlyDF,Mode=OneWayToSource,UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox Content="过滤SD订单" Margin="5,0,0,0" IsChecked="{Binding ExcludeSD,Mode=OneWayToSource,UpdateSourceTrigger=PropertyChanged}"/>
<CheckBox Content="过滤已取消" Margin="5,0,0,0" IsChecked="{Binding ExcludeCanceled,Mode=OneWayToSource,UpdateSourceTrigger=PropertyChanged}"/>
</StackPanel>
</Border>
@ -438,6 +438,33 @@
</ListBox.ItemTemplate>
</ListBox>
<StackPanel x:Name="sp_df" Grid.Column="2" VerticalAlignment="Center"
HorizontalAlignment="Center" Margin="0,0,0,10" Visibility="Collapsed">
<TextBlock>
<Run Text="采购平台"/>
<Run Text="{Binding OrderDropShipping.PurchasePlatform}"/>
</TextBlock>
<TextBlock>
<Run Text="买家账号"/>
<Run Text="{Binding OrderDropShipping.BuyerAccount}"/>
</TextBlock>
<TextBlock>
<Run Text="卖家账号"/>
<Run Text="{Binding OrderDropShipping.SellerAccount}"/>
</TextBlock>
<StackPanel Orientation="Horizontal">
<TextBlock>
<Run Text="采购单号"/>
<Run Text="{Binding OrderDropShipping.PurchaseOrderId}"/>
</TextBlock>
<c:BButton Content="复制" Style="{StaticResource LinkButton}" VerticalAlignment="Center"/>
</StackPanel>
<TextBlock>
<Run Text="采购金额"/>
<Run Text="{Binding OrderDropShipping.PurchaseAmount}"/>
</TextBlock>
</StackPanel>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="2" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="3" HorizontalAlignment="Right"/>
<Border Width="1" Background="{StaticResource Border.Brush}" Grid.Column="4" HorizontalAlignment="Right"/>
@ -644,6 +671,16 @@
CommandParameter="{Binding }" Margin="5,0,0,0"/>
</StackPanel>
</StackPanel>
<c:BButton x:Name="btn_outStore" Content="出库" Grid.Column="5" VerticalAlignment="Bottom"
Foreground="{StaticResource Text.Color}"
HorizontalAlignment="Stretch"
Background="White"
Margin="0,0,1,0"
Height="25"
Visibility="Collapsed"/>
<Border Height="1" Background="{StaticResource Border.Brush}" Grid.Column="5" VerticalAlignment="Bottom" Margin="0,0,0,25"
Visibility="{Binding Visibility,ElementName=btn_outStore}"/>
<TextBlock Text="{Binding OrderState}" Grid.Column="6"
HorizontalAlignment="Center"
@ -700,6 +737,18 @@
<DataTrigger Binding="{Binding StorageType}" Value="SD">
<Setter TargetName="sp_purchaseAmount" Property="Visibility" Value="Collapsed"/>
</DataTrigger>
<DataTrigger Binding="{Binding StorageType}" Value="代发">
<Setter TargetName="sp_df" Property="Visibility" Value="Visible"/>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding StorageType}" Value="代发"/>
<Condition Binding="{Binding OrderState}" Value="待出库"/>
</MultiDataTrigger.Conditions>
<MultiDataTrigger.Setters>
<Setter TargetName="btn_outStore" Property="Visibility" Value="Visible"/>
</MultiDataTrigger.Setters>
</MultiDataTrigger>
</DataTemplate.Triggers>
</DataTemplate>
</ListBox.ItemTemplate>

141
BBWY.Client/Views/Order/RelationPurchaseOrder.xaml

@ -0,0 +1,141 @@
<c:BWindow x:Class="BBWY.Client.Views.Order.RelationPurchaseOrder"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:BBWY.Client.Views.Order"
xmlns:c="clr-namespace:BBWY.Controls;assembly=BBWY.Controls"
xmlns:cmodel="clr-namespace:BBWY.Client.Models"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
mc:Ignorable="d"
Title="关联采购订单"
Height="500" Width="500"
Style="{StaticResource bwstyle}"
MinButtonVisibility="Collapsed"
MaxButtonVisibility="Collapsed">
<c:BWindow.Resources>
<ObjectDataProvider x:Key="PlatformProvider" MethodName="GetValues" ObjectType="{x:Type sys:Enum}">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="cmodel:Platform"/>
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</c:BWindow.Resources>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="0.3*"/>
<RowDefinition Height="0.7*"/>
<RowDefinition Height="40"/>
</Grid.RowDefinitions>
<Border BorderThickness="0,0,0,1" BorderBrush="{StaticResource MainMenu.BorderBrush}"
Background="{StaticResource Border.Background}">
<TextBlock Text="关联采购订单" HorizontalAlignment="Center" VerticalAlignment="Center"/>
</Border>
<Grid Grid.Row="1" Margin="5,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.12*"/>
<ColumnDefinition Width="0.35*"/>
<ColumnDefinition Width="0.18*"/>
<ColumnDefinition Width="0.35*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<TextBlock Text="订单编号" HorizontalAlignment="Right" VerticalAlignment="Center"/>
<TextBlock Text="{Binding OrderDropShipping.OrderId}" Grid.Column="1" VerticalAlignment="Center" Margin="5,0,0,0"/>
<TextBlock Text="采购平台" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1"/>
<ComboBox ItemsSource="{Binding Source={StaticResource PlatformProvider}}"
Grid.Row="1" Grid.Column="1"
SelectedItem="{Binding OrderDropShipping.PurchasePlatform}"
DisplayMemberPath="."
Height="25"
Margin="5,0,0,0"
VerticalContentAlignment="Center"/>
<TextBlock Text="采购订单号" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="1" Grid.Column="2"/>
<c:BTextBox Text="{Binding OrderDropShipping.PurchaseOrderId}" Grid.Row="1" Grid.Column="3" Height="25" Margin="5,0,0,0"/>
<TextBlock Text="买家账号" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="2"/>
<c:BTextBox Text="{Binding OrderDropShipping.BuyerAccount}" Grid.Row="2" Grid.Column="1" Height="25" Margin="5,0,0,0"/>
<TextBlock Text="卖家账号" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="2" Grid.Column="2"/>
<c:BTextBox Text="{Binding OrderDropShipping.SellerAccount}" Grid.Row="2" Grid.Column="3" Height="25" Margin="5,0,0,0"/>
<TextBlock Text="采购金额" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="3"/>
<c:BTextBox Text="{Binding OrderDropShipping.PurchaseAmount,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Grid.Row="3" Grid.Column="1" Height="25" Margin="5,0,0,0" IsEnabled="false" DisableBgColor="{StaticResource TextBox.Disable.BgColor}"/>
<TextBlock Text="邮费" HorizontalAlignment="Right" VerticalAlignment="Center" Grid.Row="3" Grid.Column="2"/>
<c:BTextBox Text="{Binding OrderDropShipping.DeliveryFreight}" Grid.Row="3" Grid.Column="3" Height="25" Margin="5,0,0,0"/>
</Grid>
<Grid Grid.Row="2" Margin="5,0">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition/>
</Grid.RowDefinitions>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250"/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Grid.ColumnSpan="4" Background="{StaticResource Border.Background}"
BorderThickness="1" BorderBrush="{StaticResource Border.Brush}"/>
<TextBlock Text="商品信息" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="单价" Grid.Column="1" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="数量" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="金额" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
</Grid>
<ListBox x:Name="listbox_ordersku" Grid.Row="1"
ItemsSource="{Binding RelationPurchaseOrderSkuList}"
Style="{StaticResource NoScrollViewListBoxStyle}"
ItemContainerStyle="{StaticResource NoBgListBoxItemStyle}"
BorderBrush="{StaticResource Border.Brush}"
BorderThickness="1,0,1,1">
<ListBox.ItemTemplate>
<DataTemplate>
<Grid Height="90" Width="{Binding ActualWidth,ElementName=listbox_ordersku}">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="250"/>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="1"/>
<Border Width="1" HorizontalAlignment="Right" Background="{StaticResource Border.Brush}" Grid.Column="2"/>
<StackPanel Orientation="Horizontal">
<c:BAsyncImage UrlSource="{Binding Logo}"
Width="80" DecodePixelWidth="80" Margin="5,0,0,0"/>
<TextBlock Text="{Binding Title}" Grid.Column="1" VerticalAlignment="Center" Margin="5,0,0,0"
TextWrapping="Wrap"/>
</StackPanel>
<c:BTextBox Grid.Column="1" Margin="5,0" Text="{Binding SingleSkuAmount,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>
<TextBlock Text="{Binding Quantity}" Grid.Column="2" Style="{StaticResource middleTextBlock}"/>
<TextBlock Text="{Binding SkuAmount,Mode=OneWay,UpdateSourceTrigger=PropertyChanged}" Grid.Column="3" Style="{StaticResource middleTextBlock}"/>
<Border VerticalAlignment="Bottom" Height="1" Background="{StaticResource Border.Brush}" Grid.ColumnSpan="4"/>
</Grid>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
<c:BButton x:Name="btn_Save" Content="保存" Grid.Row="3" Width="60" HorizontalAlignment="Right" Margin="0,0,8,0"
Click="btn_Save_Click"/>
</Grid>
</c:BWindow>

56
BBWY.Client/Views/Order/RelationPurchaseOrder.xaml.cs

@ -0,0 +1,56 @@
using BBWY.Client.Models;
using BBWY.Controls;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
namespace BBWY.Client.Views.Order
{
/// <summary>
/// RelationPurchaseOrder.xaml 的交互逻辑
/// </summary>
public partial class RelationPurchaseOrder : BWindow
{
public OrderDropShipping OrderDropShipping { get; set; }
public IList<RelationPurchaseOrderSku> RelationPurchaseOrderSkuList { get; set; }
public RelationPurchaseOrder(string orderId, OrderDropShipping orderDropShipping, IList<RelationPurchaseOrderSku> relationPurchaseOrderSkuList)
{
InitializeComponent();
this.DataContext = this;
OrderDropShipping = new OrderDropShipping() { OrderId = orderId };
if (orderDropShipping != null)
{
OrderDropShipping.BuyerAccount = orderDropShipping.BuyerAccount;
OrderDropShipping.PurchaseAmount = orderDropShipping.PurchaseAmount;
OrderDropShipping.PurchaseOrderId = orderDropShipping.PurchaseOrderId;
OrderDropShipping.DeliveryFreight = orderDropShipping.DeliveryFreight;
OrderDropShipping.PurchasePlatform = orderDropShipping.PurchasePlatform;
OrderDropShipping.SellerAccount = orderDropShipping.SellerAccount;
}
this.RelationPurchaseOrderSkuList = relationPurchaseOrderSkuList;
foreach (var sku in RelationPurchaseOrderSkuList)
sku.OnSkuAmountChanged = OnSkuAmountChanged;
}
private void OnSkuAmountChanged()
{
OrderDropShipping.PurchaseAmount = RelationPurchaseOrderSkuList.Sum(sku => sku.SkuAmount);
}
private void btn_Save_Click(object sender, System.Windows.RoutedEventArgs e)
{
if (string.IsNullOrEmpty(OrderDropShipping.PurchaseOrderId) ||
string.IsNullOrEmpty(OrderDropShipping.SellerAccount) ||
string.IsNullOrEmpty(OrderDropShipping.BuyerAccount) ||
OrderDropShipping.PurchaseAmount == 0)
{
MessageBox.Show("关联订单信息不全", "提示");
return;
}
this.DialogResult = true;
this.Close();
}
}
}

10
BBWY.Server.API/Controllers/OrderController.cs

@ -68,6 +68,16 @@ namespace BBWY.Server.API.Controllers
orderBusiness.SDCalculationCost(sdCalculationCostRequest);
}
/// <summary>
/// 关联采购单
/// </summary>
/// <param name="relationPurchaseOrderRequest"></param>
[HttpPost]
public void RelationPurchaseOrder([FromBody] RelationPurchaseOrderRequest relationPurchaseOrderRequest)
{
orderBusiness.RelationPurchaseOrder(relationPurchaseOrderRequest);
}
/// <summary>
/// 订单同步
/// </summary>

15
BBWY.Server.API/Controllers/TestController.cs

@ -1,4 +1,5 @@
using Microsoft.AspNetCore.Http;
using BBWY.Server.Model.Db;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
@ -7,9 +8,10 @@ namespace BBWY.Server.API.Controllers
{
public class TestController : BaseApiController
{
public TestController(IHttpContextAccessor httpContextAccessor) : base(httpContextAccessor)
private IFreeSql fsql;
public TestController(IHttpContextAccessor httpContextAccessor, IFreeSql fsql) : base(httpContextAccessor)
{
this.fsql = fsql;
}
[HttpGet]
@ -22,5 +24,12 @@ namespace BBWY.Server.API.Controllers
DateTime.Now.ToString()
};
}
[HttpGet("{orderId}")]
public decimal SumNoExists([FromRoute] string orderId)
{
var a = fsql.Select<OrderCoupon>().Where(oc => oc.OrderId == orderId).ToAggregate(g => g.Sum(g.Key.CouponPrice) );
return a;
}
}
}

193
BBWY.Server.Business/Order/OrderBusiness.cs

@ -43,11 +43,15 @@ namespace BBWY.Server.Business
public OrderListResponse GetOrderList(SearchOrderRequest searchOrderRequest)
{
var select = fsql.Select<Order, OrderConsignee, OrderCost>().LeftJoin((o, ocs, oct) => o.Id == ocs.OrderId)
.LeftJoin((o, ocs, oct) => o.Id == oct.OrderId);
if (searchOrderRequest.OrderState == Enums.OrderState.)
searchOrderRequest.ExcludeCanceled = false;
var select = fsql.Select<Order, OrderConsignee, OrderCost, OrderDropShipping>().LeftJoin((o, ocs, oct, ods) => o.Id == ocs.OrderId)
.LeftJoin((o, ocs, oct, ods) => o.Id == oct.OrderId)
.LeftJoin((o, ocs, oct, ods) => o.Id == ods.OrderId);
if (!string.IsNullOrEmpty(searchOrderRequest.OrderId))
{
select = select.Where((o, ocs, oct) => o.Id == searchOrderRequest.OrderId);
select = select.Where((o, ocs, oct, ods) => o.Id == searchOrderRequest.OrderId);
}
else
{
@ -56,24 +60,27 @@ namespace BBWY.Server.Business
var childSelect = fsql.Select<OrderSku>().As("osku")
.WhereIf(string.IsNullOrEmpty(searchOrderRequest.Sku) == false, osku => osku.SkuId == searchOrderRequest.Sku)
.WhereIf(string.IsNullOrEmpty(searchOrderRequest.ProductNo) == false, osku => osku.ProductNo == searchOrderRequest.ProductNo);
select = select.Where((o, ocs, oct) => childSelect.Where(osku => osku.OrderId == o.Id).Any());
select = select.Where((o, ocs, oct, ods) => childSelect.Where(osku => osku.OrderId == o.Id).Any());
}
select = select.WhereIf(searchOrderRequest.OrderState != null, (o, ocs, oct) => o.OrderState == searchOrderRequest.OrderState)
.WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct) => o.StartTime >= searchOrderRequest.StartDate)
.WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct) => o.StartTime <= searchOrderRequest.EndDate)
.WhereIf(string.IsNullOrEmpty(searchOrderRequest.ContactName) == false, (o, ocs, oct) => ocs.ContactName == searchOrderRequest.ContactName)
.WhereIf(string.IsNullOrEmpty(searchOrderRequest.Waybill) == false, (o, ocs, oct) => o.WaybillNo.Contains(searchOrderRequest.Waybill)); //这一步可能比较慢
select = select.WhereIf(searchOrderRequest.OrderState != null, (o, ocs, oct, ods) => o.OrderState == searchOrderRequest.OrderState)
.WhereIf(searchOrderRequest.StartDate != null, (o, ocs, oct, ods) => o.StartTime >= searchOrderRequest.StartDate)
.WhereIf(searchOrderRequest.EndDate != null, (o, ocs, oct, ods) => o.StartTime <= searchOrderRequest.EndDate)
.WhereIf(searchOrderRequest.OnlyDF, (o, ocs, oct, ods) => o.StorageType == Enums.StorageType.)
.WhereIf(searchOrderRequest.ExcludeCanceled, (o, ocs, oct, ods) => o.OrderState != Enums.OrderState.)
.WhereIf(searchOrderRequest.ExcludeSD && !searchOrderRequest.OnlyDF, (o, ocs, oct, ods) => o.StorageType == null || o.StorageType != Enums.StorageType.SD)
.WhereIf(string.IsNullOrEmpty(searchOrderRequest.ContactName) == false, (o, ocs, oct, ods) => ocs.ContactName == searchOrderRequest.ContactName)
.WhereIf(string.IsNullOrEmpty(searchOrderRequest.Waybill) == false, (o, ocs, oct, ods) => o.WaybillNo == searchOrderRequest.Waybill);
}
select = select.Where((o, ocs, oct) => o.ShopId == searchOrderRequest.ShopId)
.OrderByDescending((o, ocs, oct) => o.StartTime)
select = select.Where((o, ocs, oct, ods) => o.ShopId == searchOrderRequest.ShopId)
.OrderByDescending((o, ocs, oct, ods) => o.StartTime)
.Count(out var total)
.Page(searchOrderRequest.PageIndex, searchOrderRequest.PageSize);
var sql = select.ToSql();
var orderSourceList = select.ToList((o, ocs, oct) => new Order()
var orderSourceList = select.ToList((o, ocs, oct, ods) => new Order()
{
Id = o.Id,
BuyerRemark = o.BuyerRemark,
@ -114,7 +121,13 @@ namespace BBWY.Server.Business
Profit = oct.Profit,
PurchaseAmount = oct.PurchaseAmount,
IsManualEdited = oct.IsManualEdited,
SDCommissionAmount = oct.SDCommissionAmount
SDCommissionAmount = oct.SDCommissionAmount,
BuyerAccount = ods.BuyerAccount,
DeliveryFreight = ods.DeliveryFreight,
PurchaseOrderId = ods.PurchaseOrderId,
PurchasePlatform = ods.PurchasePlatform,
SellerAccount = ods.SellerAccount,
});
var orderList = orderSourceList.Map<IList<OrderResponse>>();
@ -194,7 +207,9 @@ namespace BBWY.Server.Business
var orderSkus = fsql.Select<OrderSku>().Where(osku => osku.OrderId == autoCalculationCostRequest.OrderId).ToList();
var orderSkuIds = orderSkus.Select(osku => osku.SkuId).ToList();
var purchaserOrders = fsql.Select<PurchaseOrder>().Where(po => po.RemainingQuantity != 0 && orderSkuIds.Contains(po.SkuId)).ToList();
var purchaserOrders = fsql.Select<PurchaseOrder>().Where(po => po.StorageType == autoCalculationCostRequest.StorageType &&
po.RemainingQuantity != 0 &&
orderSkuIds.Contains(po.SkuId)).ToList();
if (purchaserOrders.Count() == 0)
throw new BusinessException("库存为零不能自动计算成本");
@ -465,6 +480,155 @@ namespace BBWY.Server.Business
});
}
/// <summary>
/// 关联外部订单
/// </summary>
/// <param name="relationPurchaseOrderRequest"></param>
public void RelationPurchaseOrder(RelationPurchaseOrderRequest relationPurchaseOrderRequest)
{
var dbOrder = fsql.Select<Order>(relationPurchaseOrderRequest.OrderDropShipping.OrderId).ToOne();
if (dbOrder == null)
throw new BusinessException($"订单号{relationPurchaseOrderRequest.OrderDropShipping.OrderId}不存在");
IInsert<OrderDropShipping> insertOrderDropShipping = null;
IUpdate<OrderDropShipping> updateOrderDropShipping = null;
IInsert<OrderCost> insertOrderCost = null;
IUpdate<OrderCost> updateOrderCost = null;
IDelete<PurchaseOrder> deletePurchaseOrder = null;
IDelete<OrderCostDetail> deleteOrderCostDetail = null;
List<PurchaseOrder> insertPurchaseOrderList = new List<PurchaseOrder>();
List<OrderCostDetail> insertOrderCostDetailList = new List<OrderCostDetail>();
#region 代发信息表
var orderDropShipping = relationPurchaseOrderRequest.OrderDropShipping.Map<OrderDropShipping>();
if (fsql.Select<OrderDropShipping>(relationPurchaseOrderRequest.OrderDropShipping.OrderId).Any())
updateOrderDropShipping = fsql.Update<OrderDropShipping>().SetSource(orderDropShipping);
else
{
orderDropShipping.CreateTime = DateTime.Now;
insertOrderDropShipping = fsql.Insert(orderDropShipping);
}
#endregion
#region 采购单表
var oldPourchaseIdList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == relationPurchaseOrderRequest.OrderDropShipping.OrderId)
.ToList(ocd => ocd.PurchaseOrderPKId);
deletePurchaseOrder = fsql.Delete<PurchaseOrder>().Where(po => oldPourchaseIdList.Contains(po.Id));
insertPurchaseOrderList.AddRange(relationPurchaseOrderRequest.RelationPurchaseOrderSkuList.Select(x => new PurchaseOrder()
{
Id = idGenerator.NewLong(),
CreateTime = DateTime.Now,
ProductId = x.ProductId,
PurchaseMethod = Enums.PurchaseMethod.线,
StorageType = Enums.StorageType.,
PurchaseOrderId = relationPurchaseOrderRequest.OrderDropShipping.PurchaseOrderId,
PurchasePlatform = relationPurchaseOrderRequest.OrderDropShipping.PurchasePlatform,
PurchaseQuantity = x.Quantity,
RemainingQuantity = 0,
ShopId = dbOrder.ShopId,
SkuId = x.SkuId,
SingleConsumableAmount = 0,
SingleFirstFreight = 0,
SingleFreight = 0,
SingleOperationAmount = 0,
SingleStorageAmount = 0,
SingleSkuAmount = x.SingleSkuAmount,
SingleDeliveryFreight = 0
}));
#endregion
#region 订单成本表
var orderCost = fsql.Select<OrderCost>(relationPurchaseOrderRequest.OrderDropShipping.OrderId).ToOne();
if (orderCost != null)
{
orderCost.DeliveryExpressFreight = relationPurchaseOrderRequest.OrderDropShipping.DeliveryFreight;
orderCost.PurchaseAmount = relationPurchaseOrderRequest.OrderDropShipping.PurchaseAmount;
orderCost.Profit = dbOrder.OrderSellerPrice +
dbOrder.FreightPrice -
orderCost.PurchaseAmount -
orderCost.DeliveryExpressFreight -
orderCost.PlatformCommissionAmount;
updateOrderCost = fsql.Update<OrderCost>().SetSource(orderCost).IgnoreColumns(oc => new
{
oc.CreateTime,
oc.SDCommissionAmount,
oc.PlatformCommissionAmount,
oc.PlatformCommissionRatio
});
}
else
{
var preferentialAmount = fsql.Select<OrderCoupon>().Where(oc => oc.OrderId == relationPurchaseOrderRequest.OrderDropShipping.OrderId)
.ToAggregate(g => g.Sum(g.Key.CouponPrice));
orderCost = new OrderCost()
{
OrderId = relationPurchaseOrderRequest.OrderDropShipping.OrderId,
CreateTime = DateTime.Now,
DeliveryExpressFreight = relationPurchaseOrderRequest.OrderDropShipping.DeliveryFreight,
PlatformCommissionRatio = 0.05M,
SDCommissionAmount = 0,
PurchaseAmount = relationPurchaseOrderRequest.RelationPurchaseOrderSkuList.Sum(s => s.SingleSkuAmount * s.Quantity),
PlatformCommissionAmount = dbOrder.OrderSellerPrice * 0.05M,
PreferentialAmount = preferentialAmount,
IsManualEdited = true
};
orderCost.Profit = dbOrder.OrderSellerPrice +
dbOrder.FreightPrice -
orderCost.PurchaseAmount -
orderCost.DeliveryExpressFreight -
orderCost.PlatformCommissionAmount;
insertOrderCost = fsql.Insert(orderCost);
}
#endregion
#region 订单成本明细表
var oldOrderCostDetailIdList = fsql.Select<OrderCostDetail>().Where(ocd => ocd.OrderId == relationPurchaseOrderRequest.OrderDropShipping.OrderId)
.ToList(ocd => ocd.Id);
deleteOrderCostDetail = fsql.Delete<OrderCostDetail>().Where(ocd => oldOrderCostDetailIdList.Contains(ocd.Id));
insertOrderCostDetailList.AddRange(relationPurchaseOrderRequest.RelationPurchaseOrderSkuList.Select(x => new OrderCostDetail()
{
Id = idGenerator.NewLong(),
ConsumableAmount = 0,
CreateTime = DateTime.Now,
DeductionQuantity = x.Quantity,
DeliveryExpressFreight = 0,
FirstFreight = 0,
OperationAmount = 0,
OrderId = relationPurchaseOrderRequest.OrderDropShipping.OrderId,
ProductId = x.ProductId,
PurchaseFreight = 0,
SkuAmount = x.SingleSkuAmount * x.Quantity,
SkuId = x.SkuId,
StorageAmount = 0,
TotalCost = x.SingleSkuAmount * x.Quantity,
UnitCost = x.SingleSkuAmount,
PurchaseOrderPKId = insertPurchaseOrderList.FirstOrDefault(po => po.SkuId == x.SkuId).Id
}));
#endregion
fsql.Transaction(() =>
{
deletePurchaseOrder?.ExecuteAffrows();
deleteOrderCostDetail?.ExecuteAffrows();
insertOrderDropShipping?.ExecuteAffrows();
updateOrderDropShipping?.ExecuteAffrows();
insertOrderCost?.ExecuteAffrows();
updateOrderCost?.ExecuteAffrows();
fsql.Insert(insertPurchaseOrderList).ExecuteAffrows();
fsql.Insert(insertOrderCostDetailList).ExecuteAffrows();
if (dbOrder.StorageType != Enums.StorageType.)
{
fsql.Update<Order>(relationPurchaseOrderRequest.OrderDropShipping.OrderId)
.Set(o => o.StorageType, Enums.StorageType.)
.SetIf(dbOrder.OrderState == Enums.OrderState., o => o.OrderState, Enums.OrderState.)
.ExecuteAffrows();
}
});
}
public void SyncOrder(long shopId, string orderId)
{
#region 获取店铺信息;
@ -774,6 +938,7 @@ namespace BBWY.Server.Business
#region 扣减库存, 计算成本
if (dbOrder.StorageType != null &&
dbOrder.StorageType != Enums.StorageType.SD &&
dbOrder.StorageType != Enums.StorageType. &&
orderState != null &&
orderState != Enums.OrderState. &&
orderState != Enums.OrderState.)

32
BBWY.Server.Model/Db/Order/Order.cs

@ -212,6 +212,38 @@ namespace BBWY.Server.Model.Db
[Column(IsIgnore = true)]
public bool? IsDecode { get; set; }
#endregion
#region 代发信息
/// <summary>
/// 买家账号
/// </summary>
[Column(IsIgnore = true)]
public string BuyerAccount { get; set; }
/// <summary>
/// 发货运费
/// </summary>
[Column(IsIgnore = true)]
public decimal DeliveryFreight { get; set; } = 0.00M;
/// <summary>
/// 采购单号
/// </summary>
[Column(IsIgnore = true)]
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购平台
/// </summary>
[Column(IsIgnore = true)]
public Enums.Platform? PurchasePlatform { get; set; }
/// <summary>
/// 卖家账号
/// </summary>
[Column(IsIgnore = true)]
public string SellerAccount { get; set; }
#endregion
}
}

58
BBWY.Server.Model/Db/Order/OrderDropShipping.cs

@ -0,0 +1,58 @@
using FreeSql.DataAnnotations;
using System;
namespace BBWY.Server.Model.Db
{
/// <summary>
/// 代发信息表
/// </summary>
[Table(Name = "orderdropshipping", DisableSyncStructure = true)]
public partial class OrderDropShipping
{
[Column(StringLength = 50, IsPrimary = true, IsNullable = false)]
public string OrderId { get; set; }
/// <summary>
/// 买家账号
/// </summary>
[Column(StringLength = 50)]
public string BuyerAccount { get; set; }
[Column(DbType = "datetime")]
public DateTime? CreateTime { get; set; }
/// <summary>
/// 发货运费
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal DeliveryFreight { get; set; } = 0.00M;
/// <summary>
/// 采购金额
/// </summary>
[Column(DbType = "decimal(20,2)")]
public decimal PurchaseAmount { get; set; } = 0.00M;
/// <summary>
/// 采购单号
/// </summary>
[Column(StringLength = 50)]
public string PurchaseOrderId { get; set; }
/// <summary>
/// 采购平台
/// </summary>
[Column(DbType = "int(1)", MapType = typeof(int?))]
public Enums.Platform? PurchasePlatform { get; set; }
/// <summary>
/// 卖家账号
/// </summary>
[Column(StringLength = 50)]
public string SellerAccount { get; set; }
}
}

8
BBWY.Server.Model/Dto/Request/Order/OrderDropShippingRequest.cs

@ -0,0 +1,8 @@
using BBWY.Server.Model.Db;
namespace BBWY.Server.Model.Dto
{
public class OrderDropShippingRequest : OrderDropShipping
{
}
}

22
BBWY.Server.Model/Dto/Request/Order/RelationPurchaseOrderRequest.cs

@ -0,0 +1,22 @@
using System.Collections.Generic;
namespace BBWY.Server.Model.Dto
{
public class RelationPurchaseOrderRequest
{
public OrderDropShippingRequest OrderDropShipping { get; set; }
public IList<RelationPurchaseOrderSkuRequest> RelationPurchaseOrderSkuList { get; set; }
}
public class RelationPurchaseOrderSkuRequest
{
public string ProductId { get; set; }
public string SkuId { get; set; }
public decimal SingleSkuAmount { get; set; }
public int Quantity { get; set; }
}
}

5
BBWY.Server.Model/Dto/Request/Order/SearchOrderRequest.cs

@ -47,5 +47,10 @@ namespace BBWY.Server.Model.Dto
/// 排除刷单
/// </summary>
public bool ExcludeSD { get; set; }
/// <summary>
/// 过滤已取消
/// </summary>
public bool ExcludeCanceled { get; set; }
}
}

8
BBWY.Server.Model/Dto/Response/Order/OrderDropShippingResponse.cs

@ -0,0 +1,8 @@
using BBWY.Server.Model.Db;
namespace BBWY.Server.Model.Dto
{
public class OrderDropShippingResponse: OrderDropShipping
{
}
}

5
BBWY.Server.Model/Dto/Response/Order/OrderResponse.cs

@ -148,6 +148,11 @@ namespace BBWY.Server.Model.Dto
/// 订单成本明细列表
/// </summary>
public IList<OrderCostDetailResponse> OrderCostDetailList { get; set; }
/// <summary>
/// 代发信息
/// </summary>
public OrderDropShippingResponse OrderDropShipping { get; set; }
}
public class OrderListResponse

10
BBWY.Server.Model/MappingProfiles.cs

@ -24,6 +24,7 @@ namespace BBWY.Server.Model
CreateMap<AddPurchaseOrderRequest, PurchaseOrder>();
CreateMap<PurchaseOrder, PurchaseOrderResponse>();
CreateMap<OrderDropShippingRequest, OrderDropShipping>();
CreateMap<OrderCostDetail, OrderCostDetailResponse>();
CreateMap<OrderConsignee, ConsigneeResponse>();
CreateMap<OrderCost, OrderCostResponse>();
@ -49,7 +50,14 @@ namespace BBWY.Server.Model
.ForPath(t => t.OrderCost.PlatformCommissionRatio, opt => opt.MapFrom(f => f.PlatformCommissionRatio ?? 0))
.ForPath(t => t.OrderCost.PreferentialAmount, opt => opt.MapFrom(f => f.PreferentialAmount))
.ForPath(t => t.OrderCost.IsManualEdited, opt => opt.MapFrom(f => f.IsManualEdited))
.ForPath(t => t.OrderCost.SDCommissionAmount, opt => opt.MapFrom(f => f.SDCommissionAmount));
.ForPath(t => t.OrderCost.SDCommissionAmount, opt => opt.MapFrom(f => f.SDCommissionAmount))
.ForPath(t => t.OrderDropShipping.PurchaseAmount, opt => opt.MapFrom(f => f.PurchaseAmount))
.ForPath(t => t.OrderDropShipping.PurchaseOrderId, opt => opt.MapFrom(f => f.PurchaseOrderId))
.ForPath(t => t.OrderDropShipping.OrderId, opt => opt.MapFrom(f => f.Id))
.ForPath(t => t.OrderDropShipping.DeliveryFreight, opt => opt.MapFrom(f => f.DeliveryFreight))
.ForPath(t => t.OrderDropShipping.PurchasePlatform, opt => opt.MapFrom(f => f.PurchasePlatform))
.ForPath(t => t.OrderDropShipping.BuyerAccount, opt => opt.MapFrom(f => f.BuyerAccount))
.ForPath(t => t.OrderDropShipping.SellerAccount, opt => opt.MapFrom(f => f.SellerAccount));
}
}

Loading…
Cancel
Save