Browse Source

payment service: added OrderNo

pull/56/head
Galip Tolga Erdem 5 years ago
parent
commit
1044a41da3
  1. 3
      services/payment/src/EShopOnAbp.PaymentService.Application.Contracts/PaymentRequests/PaymentRequestCreationDto.cs
  2. 2
      services/payment/src/EShopOnAbp.PaymentService.Application/PaymentRequests/PaymentRequestAppService.cs
  3. 8
      services/payment/src/EShopOnAbp.PaymentService.Application/PaymentRequests/PaymentRequestByPassAppService.cs
  4. 1
      services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/PaymentRequests/PaymentRequestCompletedEto.cs
  5. 1
      services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/PaymentRequests/PaymentRequestFailedEto.cs
  6. 5
      services/payment/src/EShopOnAbp.PaymentService.Domain/PaymentRequests/PaymentRequest.cs
  7. 2
      services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/EntityFrameworkCore/PaymentServiceDbContextModelCreatingExtensions.cs
  8. 140
      services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/Migrations/20220107135728_Added-OrderNo.Designer.cs
  9. 26
      services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/Migrations/20220107135728_Added-OrderNo.cs
  10. 3
      services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/Migrations/PaymentServiceDbContextModelSnapshot.cs

3
services/payment/src/EShopOnAbp.PaymentService.Application.Contracts/PaymentRequests/PaymentRequestCreationDto.cs

@ -16,6 +16,9 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
[MaxLength(PaymentRequestConsts.MaxOrderIdLength)]
public string OrderId { get; set; }
[Required]
public int OrderNo { get; set; }
public string BuyerId { get; set; }
public List<PaymentRequestProductCreationDto> Products { get; set; }
}

2
services/payment/src/EShopOnAbp.PaymentService.Application/PaymentRequests/PaymentRequestAppService.cs

@ -27,7 +27,7 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
public virtual async Task<PaymentRequestDto> CreateAsync(PaymentRequestCreationDto input)
{
var paymentRequest = new PaymentRequest(id: GuidGenerator.Create(), orderId: input.OrderId, currency: input.Currency, buyerId: input.BuyerId);
var paymentRequest = new PaymentRequest(id: GuidGenerator.Create(), orderId: input.OrderId, orderNo:input.OrderNo, currency: input.Currency, buyerId: input.BuyerId);
foreach (var paymentRequestProduct in input.Products
.Select(s => new PaymentRequestProduct(

8
services/payment/src/EShopOnAbp.PaymentService.Application/PaymentRequests/PaymentRequestByPassAppService.cs

@ -8,7 +8,11 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
[ExposeServices(typeof(PaymentRequestByPassAppService))]
public class PaymentRequestByPassAppService : PaymentRequestAppService
{
public PaymentRequestByPassAppService(IPaymentRequestRepository paymentRequestRepository, PayPalHttpClient payPalHttpClient) : base(paymentRequestRepository, payPalHttpClient)
public PaymentRequestByPassAppService(
IPaymentRequestRepository paymentRequestRepository,
PayPalHttpClient payPalHttpClient)
: base(paymentRequestRepository,
payPalHttpClient)
{
}
@ -31,4 +35,4 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
return ObjectMapper.Map<PaymentRequest, PaymentRequestDto>(paymentRequest);
}
}
}
}

1
services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/PaymentRequests/PaymentRequestCompletedEto.cs

@ -11,6 +11,7 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
{
public Guid PaymentRequestId { get; set; }
public string OrderId { get; set; }
public int OrderNo { get; set; }
public string Currency { get; set; }
public string BuyerId { get; set; }
public PaymentRequestState State { get; set; }

1
services/payment/src/EShopOnAbp.PaymentService.Domain.Shared/PaymentRequests/PaymentRequestFailedEto.cs

@ -11,6 +11,7 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
public Guid PaymentRequestId { get; set; }
public string OrderId { get; set; }
public int OrderNo { get; set; }
public string FailReason { get; set; }
public ExtraPropertyDictionary ExtraProperties { get; set; }
}

5
services/payment/src/EShopOnAbp.PaymentService.Domain/PaymentRequests/PaymentRequest.cs

@ -11,6 +11,7 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
{
[NotNull] public string Currency { get; protected set; }
[NotNull] public string OrderId { get; protected set; }
public int OrderNo { get; protected set; }
[CanBeNull] public string BuyerId { get; protected set; }
public PaymentRequestState State { get; protected set; }
[CanBeNull] public string FailReason { get; protected set; }
@ -22,12 +23,14 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
public PaymentRequest(Guid id,
[NotNull] string orderId,
int orderNo,
[NotNull] string currency,
[CanBeNull] string buyerId = null) : base(id)
{
OrderId = Check.NotNullOrWhiteSpace(orderId, nameof(orderId), minLength: PaymentRequestConsts.MinOrderIdLength, maxLength: PaymentRequestConsts.MaxOrderIdLength);
Currency = Check.NotNullOrWhiteSpace(currency, nameof(currency), maxLength: PaymentRequestConsts.MaxCurrencyLength);
BuyerId = buyerId;
OrderNo = orderNo;
}
public virtual void SetAsCompleted()
@ -44,6 +47,7 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
{
PaymentRequestId = Id,
OrderId = OrderId,
OrderNo = OrderNo,
BuyerId = BuyerId,
Currency = Currency,
State = State,
@ -66,6 +70,7 @@ namespace EShopOnAbp.PaymentService.PaymentRequests
{
PaymentRequestId = Id,
OrderId = OrderId,
OrderNo = OrderNo,
FailReason = failReason,
ExtraProperties = ExtraProperties
});

2
services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/EntityFrameworkCore/PaymentServiceDbContextModelCreatingExtensions.cs

@ -25,6 +25,8 @@ namespace EShopOnAbp.PaymentService.EntityFrameworkCore
.Property(p => p.OrderId)
.IsRequired()
.HasMaxLength(PaymentRequestConsts.MaxOrderIdLength);
entity.Property(q => q.OrderNo).IsRequired();
entity.HasIndex(o => o.OrderId);
});

140
services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/Migrations/20220107135728_Added-OrderNo.Designer.cs

@ -0,0 +1,140 @@
// <auto-generated />
using System;
using EShopOnAbp.PaymentService.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Infrastructure;
using Microsoft.EntityFrameworkCore.Migrations;
using Microsoft.EntityFrameworkCore.Storage.ValueConversion;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
using Volo.Abp.EntityFrameworkCore;
#nullable disable
namespace EShopOnAbp.PaymentService.Migrations
{
[DbContext(typeof(PaymentServiceDbContext))]
[Migration("20220107135728_Added-OrderNo")]
partial class AddedOrderNo
{
protected override void BuildTargetModel(ModelBuilder modelBuilder)
{
#pragma warning disable 612, 618
modelBuilder
.HasAnnotation("_Abp_DatabaseProvider", EfCoreDatabaseProvider.PostgreSql)
.HasAnnotation("ProductVersion", "6.0.0")
.HasAnnotation("Relational:MaxIdentifierLength", 63);
NpgsqlModelBuilderExtensions.UseIdentityByDefaultColumns(modelBuilder);
modelBuilder.Entity("EShopOnAbp.PaymentService.PaymentRequests.PaymentRequest", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uuid");
b.Property<string>("BuyerId")
.HasColumnType("text");
b.Property<string>("ConcurrencyStamp")
.IsConcurrencyToken()
.HasMaxLength(40)
.HasColumnType("character varying(40)")
.HasColumnName("ConcurrencyStamp");
b.Property<DateTime>("CreationTime")
.HasColumnType("timestamp with time zone")
.HasColumnName("CreationTime");
b.Property<Guid?>("CreatorId")
.HasColumnType("uuid")
.HasColumnName("CreatorId");
b.Property<string>("Currency")
.IsRequired()
.HasMaxLength(3)
.HasColumnType("character varying(3)");
b.Property<string>("ExtraProperties")
.HasColumnType("text")
.HasColumnName("ExtraProperties");
b.Property<string>("FailReason")
.HasColumnType("text");
b.Property<bool>("IsDeleted")
.ValueGeneratedOnAdd()
.HasColumnType("boolean")
.HasDefaultValue(false)
.HasColumnName("IsDeleted");
b.Property<string>("OrderId")
.IsRequired()
.HasMaxLength(36)
.HasColumnType("character varying(36)");
b.Property<int>("OrderNo")
.HasColumnType("integer");
b.Property<int>("State")
.HasColumnType("integer");
b.HasKey("Id");
b.HasIndex("OrderId");
b.ToTable("PaymentRequests");
});
modelBuilder.Entity("EShopOnAbp.PaymentService.PaymentRequests.PaymentRequestProduct", b =>
{
b.Property<Guid>("Id")
.HasColumnType("uuid");
b.Property<string>("Code")
.IsRequired()
.HasMaxLength(32)
.HasColumnType("character varying(32)");
b.Property<string>("Name")
.IsRequired()
.HasMaxLength(256)
.HasColumnType("character varying(256)");
b.Property<Guid>("PaymentRequestId")
.HasColumnType("uuid");
b.Property<int>("Quantity")
.HasColumnType("integer");
b.Property<string>("ReferenceId")
.HasColumnType("text");
b.Property<decimal>("TotalPrice")
.HasColumnType("numeric");
b.Property<decimal>("UnitPrice")
.HasColumnType("numeric");
b.HasKey("Id");
b.HasIndex("PaymentRequestId");
b.ToTable("PaymentRequestProduct");
});
modelBuilder.Entity("EShopOnAbp.PaymentService.PaymentRequests.PaymentRequestProduct", b =>
{
b.HasOne("EShopOnAbp.PaymentService.PaymentRequests.PaymentRequest", null)
.WithMany("Products")
.HasForeignKey("PaymentRequestId")
.OnDelete(DeleteBehavior.Cascade)
.IsRequired();
});
modelBuilder.Entity("EShopOnAbp.PaymentService.PaymentRequests.PaymentRequest", b =>
{
b.Navigation("Products");
});
#pragma warning restore 612, 618
}
}
}

26
services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/Migrations/20220107135728_Added-OrderNo.cs

@ -0,0 +1,26 @@
using Microsoft.EntityFrameworkCore.Migrations;
#nullable disable
namespace EShopOnAbp.PaymentService.Migrations
{
public partial class AddedOrderNo : Migration
{
protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<int>(
name: "OrderNo",
table: "PaymentRequests",
type: "integer",
nullable: false,
defaultValue: 0);
}
protected override void Down(MigrationBuilder migrationBuilder)
{
migrationBuilder.DropColumn(
name: "OrderNo",
table: "PaymentRequests");
}
}
}

3
services/payment/src/EShopOnAbp.PaymentService.EntityFrameworkCore/Migrations/PaymentServiceDbContextModelSnapshot.cs

@ -69,6 +69,9 @@ namespace EShopOnAbp.PaymentService.Migrations
.HasMaxLength(36)
.HasColumnType("character varying(36)");
b.Property<int>("OrderNo")
.HasColumnType("integer");
b.Property<int>("State")
.HasColumnType("integer");

Loading…
Cancel
Save