Browse Source

Add distributed events for PaymentReqest result

pull/69/head
enisn 5 years ago
parent
commit
74d7ee923e
  1. 13
      modules/payment/src/Payment.Domain.Shared/PaymentRequests/PaymentRequestCompletedEto.cs
  2. 16
      modules/payment/src/Payment.Domain.Shared/PaymentRequests/PaymentRequestFailedEto.cs
  3. 24
      modules/payment/src/Payment.Domain/PaymentRequests/PaymentRequest.cs

13
modules/payment/src/Payment.Domain.Shared/PaymentRequests/PaymentRequestCompletedEto.cs

@ -0,0 +1,13 @@
using System;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities.Events.Distributed;
namespace Payment.PaymentRequests
{
[Serializable]
public class PaymentRequestCompletedEto : EtoBase, IHasExtraProperties
{
public Guid PaymentRequestId { get; set; }
public ExtraPropertyDictionary ExtraProperties { get; set; }
}
}

16
modules/payment/src/Payment.Domain.Shared/PaymentRequests/PaymentRequestFailedEto.cs

@ -0,0 +1,16 @@
using System;
using Volo.Abp.Data;
using Volo.Abp.Domain.Entities.Events.Distributed;
namespace Payment.PaymentRequests
{
[Serializable]
public class PaymentRequestFailedEto : EtoBase, IHasExtraProperties
{
public Guid PaymentRequestId { get; set; }
public string FailReason { get; set; }
public ExtraPropertyDictionary ExtraProperties { get; set; }
}
}

24
modules/payment/src/Payment.Domain/PaymentRequests/PaymentRequest.cs

@ -1,4 +1,5 @@
using System; using System;
using System.Linq;
using JetBrains.Annotations; using JetBrains.Annotations;
using Volo.Abp; using Volo.Abp;
using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.Domain.Entities.Auditing;
@ -49,14 +50,37 @@ namespace Payment.PaymentRequests
public virtual void SetAsCompleted() public virtual void SetAsCompleted()
{ {
if (State == PaymentRequestState.Completed)
{
return;
}
State = PaymentRequestState.Completed; State = PaymentRequestState.Completed;
FailReason = null; FailReason = null;
AddDistributedEvent(new PaymentRequestCompletedEto
{
PaymentRequestId = Id,
ExtraProperties = ExtraProperties
});
} }
public virtual void SetAsFailed(string failReason) public virtual void SetAsFailed(string failReason)
{ {
if (State != PaymentRequestState.Failed)
{
return;
}
State = PaymentRequestState.Failed; State = PaymentRequestState.Failed;
FailReason = failReason; FailReason = failReason;
AddDistributedEvent(new PaymentRequestFailedEto
{
PaymentRequestId = Id,
FailReason = failReason,
ExtraProperties = ExtraProperties
});
} }
} }
} }
Loading…
Cancel
Save