Browse Source

Fix PaymentSynchronizer

pull/87/head v0.3.4
gdlcf88 6 years ago
parent
commit
131b64934f
  1. 2
      integration/EasyAbp.EShop/common.props
  2. 2
      modules/EasyAbp.EShop.Baskets/common.props
  3. 2
      modules/EasyAbp.EShop.Orders/common.props
  4. 2
      modules/EasyAbp.EShop.Payments/common.props
  5. 5
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/Payment.cs
  6. 23
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/PaymentSynchronizer.cs
  7. 4
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/PaymentsDomainAutoMapperProfile.cs
  8. 7
      modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/Payments/PaymentRepository.cs
  9. 2
      modules/EasyAbp.EShop.Products/common.props
  10. 2
      modules/EasyAbp.EShop.Stores/common.props

2
integration/EasyAbp.EShop/common.props

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

2
modules/EasyAbp.EShop.Baskets/common.props

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

2
modules/EasyAbp.EShop.Orders/common.props

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

2
modules/EasyAbp.EShop.Payments/common.props

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

5
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/Payment.cs

@ -56,5 +56,10 @@ namespace EasyAbp.EShop.Payments.Payments
{
StoreId = storeId;
}
public void SetPaymentItems(List<PaymentItem> paymentItems)
{
PaymentItems = paymentItems;
}
}
}

23
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/Payments/PaymentSynchronizer.cs

@ -1,4 +1,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using EasyAbp.PaymentService.Payments;
using Volo.Abp.Data;
@ -36,11 +38,32 @@ namespace EasyAbp.EShop.Payments.Payments
{
payment = _objectMapper.Map<PaymentEto, Payment>(eventData.Entity);
payment.SetPaymentItems(
_objectMapper.Map<List<PaymentItemEto>, List<PaymentItem>>(eventData.Entity.PaymentItems));
await _paymentRepository.InsertAsync(payment, true);
}
else
{
_objectMapper.Map(eventData.Entity, payment);
foreach (var item in eventData.Entity.PaymentItems)
{
var find = payment.PaymentItems.FirstOrDefault(i => i.Id == item.Id);
if (find == null)
{
payment.PaymentItems.Add(_objectMapper.Map<PaymentItemEto, PaymentItem>(item));
}
else
{
_objectMapper.Map(item, find);
}
var etoPaymentItemIds = eventData.Entity.PaymentItems.Select(i => i.Id).ToList();
payment.PaymentItems.RemoveAll(i => !etoPaymentItemIds.Contains(i.Id));
}
}
if (Guid.TryParse(eventData.Entity.GetProperty<string>("StoreId"), out var storeId))

4
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.Domain/EasyAbp/EShop/Payments/PaymentsDomainAutoMapperProfile.cs

@ -13,7 +13,9 @@ namespace EasyAbp.EShop.Payments
* Alternatively, you can split your mapping configurations
* into multiple profile classes for a better organization. */
CreateMap<PaymentEto, Payment>(MemberList.Source).Ignore(x => x.StoreId);
CreateMap<PaymentEto, Payment>(MemberList.Source)
.Ignore(x => x.StoreId)
.Ignore(x => x.PaymentItems);
CreateMap<PaymentItemEto, PaymentItem>(MemberList.Source);
}
}

7
modules/EasyAbp.EShop.Payments/src/EasyAbp.EShop.Payments.EntityFrameworkCore/EasyAbp/EShop/Payments/Payments/PaymentRepository.cs

@ -1,5 +1,7 @@
using System;
using System.Linq;
using EasyAbp.EShop.Payments.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Volo.Abp.Domain.Repositories.EntityFrameworkCore;
using Volo.Abp.EntityFrameworkCore;
@ -10,5 +12,10 @@ namespace EasyAbp.EShop.Payments.Payments
public PaymentRepository(IDbContextProvider<PaymentsDbContext> dbContextProvider) : base(dbContextProvider)
{
}
public override IQueryable<Payment> WithDetails()
{
return base.WithDetails().Include(x => x.PaymentItems);
}
}
}

2
modules/EasyAbp.EShop.Products/common.props

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

2
modules/EasyAbp.EShop.Stores/common.props

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

Loading…
Cancel
Save