Browse Source

Add orderExtraProperties param to INewOrderGenerator.GenerateAsync()

pull/87/head v0.4.4
gdlcf88 6 years ago
parent
commit
3f0e7ce1cd
  1. 2
      common.props
  2. 3
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/INewOrderGenerator.cs
  3. 7
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs
  4. 4
      modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs

2
common.props

@ -1,7 +1,7 @@
<Project>
<PropertyGroup>
<LangVersion>latest</LangVersion>
<Version>0.4.3</Version>
<Version>0.4.4</Version>
<NoWarn>$(NoWarn);CS1591</NoWarn>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>EasyAbp Team</Authors>

3
modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/INewOrderGenerator.cs

@ -8,6 +8,7 @@ namespace EasyAbp.EShop.Orders.Orders
{
public interface INewOrderGenerator
{
Task<Order> GenerateAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict);
Task<Order> GenerateAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict,
Dictionary<string, object> orderExtraProperties);
}
}

7
modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/NewOrderGenerator.cs

@ -37,7 +37,7 @@ namespace EasyAbp.EShop.Orders.Orders
_productSkuDescriptionProvider = productSkuDescriptionProvider;
}
public virtual async Task<Order> GenerateAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict)
public virtual async Task<Order> GenerateAsync(CreateOrderDto input, Dictionary<Guid, ProductDto> productDict, Dictionary<string, object> orderExtraProperties)
{
var orderLines = new List<OrderLine>();
@ -60,6 +60,11 @@ namespace EasyAbp.EShop.Orders.Orders
refundedAmount: 0,
customerRemark: input.CustomerRemark);
foreach (var orderExtraProperty in orderExtraProperties)
{
order.ExtraProperties.Add(orderExtraProperty.Key, orderExtraProperty.Value);
}
order.SetOrderLines(orderLines);
order.SetOrderNumber(await _orderNumberGenerator.CreateAsync(order));

4
modules/EasyAbp.EShop.Orders/src/EasyAbp.EShop.Orders.Application/EasyAbp/EShop/Orders/Orders/OrderAppService.cs

@ -105,7 +105,9 @@ namespace EasyAbp.EShop.Orders.Orders
await _purchasableCheckManager.CheckAsync(input, productDict);
var order = await _newOrderGenerator.GenerateAsync(input, productDict);
var orderExtraProperties = new Dictionary<string, object>();
var order = await _newOrderGenerator.GenerateAsync(input, productDict, orderExtraProperties);
await _orderDiscountManager.DiscountAsync(order, input.ExtraProperties);

Loading…
Cancel
Save