From 698c044be680587ec9f53f1e59051c160cc390a0 Mon Sep 17 00:00:00 2001 From: masoodafar-web Date: Fri, 28 Nov 2025 04:03:12 +0330 Subject: [PATCH] Update payment status to enum and refactor update order handler --- .../UpdateUserOrderCommandHandler.cs | 51 ++++++++++--------- .../GetUserOrder/GetUserOrderResponseDto.cs | 4 +- .../BackOffice.BFF.Domain.csproj | 2 +- .../BackOffice.BFF.UserOrder.Protobuf.csproj | 2 +- .../Protos/userorder.proto | 2 +- 5 files changed, 32 insertions(+), 29 deletions(-) diff --git a/src/BackOffice.BFF.Application/UserOrderCQ/Commands/UpdateUserOrder/UpdateUserOrderCommandHandler.cs b/src/BackOffice.BFF.Application/UserOrderCQ/Commands/UpdateUserOrder/UpdateUserOrderCommandHandler.cs index e371e2e..f96648d 100644 --- a/src/BackOffice.BFF.Application/UserOrderCQ/Commands/UpdateUserOrder/UpdateUserOrderCommandHandler.cs +++ b/src/BackOffice.BFF.Application/UserOrderCQ/Commands/UpdateUserOrder/UpdateUserOrderCommandHandler.cs @@ -14,33 +14,34 @@ public class UpdateUserOrderCommandHandler : IRequestHandler Handle(UpdateUserOrderCommand request, CancellationToken cancellationToken) { - // ابتدا سفارش فعلی را از CMS می‌گیریم تا سایر فیلدها (مبلغ، پرداخت و ...) دست‌نخورده بمانند - var current = await _context.UserOrders.GetUserOrderAsync(new GetUserOrderRequest - { - Id = request.Id - }, cancellationToken: cancellationToken); - - if (current is null) - return Unit.Value; + // // ابتدا سفارش فعلی را از CMS می‌گیریم تا سایر فیلدها (مبلغ، پرداخت و ...) دست‌نخورده بمانند + // var current = await _context.UserOrders.GetUserOrderAsync(new GetUserOrderRequest + // { + // Id = request.Id + // }, cancellationToken: cancellationToken); + // + // if (current is null) + // return Unit.Value; // ساخت درخواست کامل برای UpdateUserOrder در CMS - var updateRequest = new UpdateUserOrderRequest - { - Id = current.Id, - Amount = current.Amount, - PackageId = current.PackageId, - TransactionId = current.TransactionId, - PaymentStatus = current.PaymentStatus, - PaymentDate = current.PaymentDate, - UserId = current.UserId, - UserAddressId = current.UserAddressId, - PaymentMethod = current.PaymentMethod, - DeliveryStatus = (CMSMicroservice.Protobuf.Protos.DeliveryStatus)request.DeliveryStatus, - TrackingCode = request.TrackingCode ?? string.Empty, - DeliveryDescription = request.DeliveryDescription ?? string.Empty - }; - - await _context.UserOrders.UpdateUserOrderAsync(updateRequest, cancellationToken: cancellationToken); + // var updateRequest = new UpdateUserOrderRequest + // { + // Id = current.Id, + // Amount = current.Amount, + // PackageId = current.PackageId, + // TransactionId = current.TransactionId, + // PaymentStatus = current.PaymentStatus, + // PaymentDate = current.PaymentDate, + // UserId = current.UserId, + // UserAddressId = current.UserAddressId, + // PaymentMethod = current.PaymentMethod, + // + // }; + var updatingRequest = request.Adapt(); + updatingRequest.DeliveryStatus = (CMSMicroservice.Protobuf.Protos.DeliveryStatus)request.DeliveryStatus; + updatingRequest.TrackingCode = request.TrackingCode ?? string.Empty; + updatingRequest.DeliveryDescription = request.DeliveryDescription ?? string.Empty; + await _context.UserOrders.UpdateUserOrderAsync(updatingRequest, cancellationToken: cancellationToken); return Unit.Value; } diff --git a/src/BackOffice.BFF.Application/UserOrderCQ/Queries/GetUserOrder/GetUserOrderResponseDto.cs b/src/BackOffice.BFF.Application/UserOrderCQ/Queries/GetUserOrder/GetUserOrderResponseDto.cs index 20794e0..78a2cd2 100644 --- a/src/BackOffice.BFF.Application/UserOrderCQ/Queries/GetUserOrder/GetUserOrderResponseDto.cs +++ b/src/BackOffice.BFF.Application/UserOrderCQ/Queries/GetUserOrder/GetUserOrderResponseDto.cs @@ -1,3 +1,5 @@ +using BackOffice.BFF.UserOrder.Protobuf.Protos.UserOrder; + namespace BackOffice.BFF.Application.UserOrderCQ.Queries.GetUserOrder; public class GetUserOrderResponseDto @@ -11,7 +13,7 @@ public class GetUserOrderResponseDto //شناسه تراکنش public long? TransactionId { get; set; } //وضعیت پرداخت (true برای Success) - public bool PaymentStatus { get; set; } + public PaymentMethod PaymentStatus { get; set; } //تاریخ پرداخت public DateTime? PaymentDate { get; set; } // روش پرداخت (0=IPG,1=Wallet) diff --git a/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj b/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj index 79c40f7..76be69e 100644 --- a/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj +++ b/src/BackOffice.BFF.Domain/BackOffice.BFF.Domain.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/BackOffice.BFF.UserOrder.Protobuf.csproj b/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/BackOffice.BFF.UserOrder.Protobuf.csproj index 11705f4..6acd91a 100644 --- a/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/BackOffice.BFF.UserOrder.Protobuf.csproj +++ b/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/BackOffice.BFF.UserOrder.Protobuf.csproj @@ -4,7 +4,7 @@ net9.0 enable enable - 0.0.113 + 0.0.114 None False False diff --git a/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto b/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto index 868f308..c900239 100644 --- a/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto +++ b/src/Protobufs/BackOffice.BFF.UserOrder.Protobuf/Protos/userorder.proto @@ -81,7 +81,7 @@ message UpdateUserOrderRequest int64 id = 1; // فیلدهای قدیمی (فعلاً برای سازگاری نگه داشته شده‌اند) int64 amount = 2; - int64 package_id = 3; + google.protobuf.Int64Value package_id = 3; google.protobuf.Int64Value transaction_id = 4; bool payment_status = 5; google.protobuf.Timestamp payment_date = 6;