diff --git a/services/ordering/src/EShopOnAbp.OrderingService.Application/Orders/OrderAppService.cs b/services/ordering/src/EShopOnAbp.OrderingService.Application/Orders/OrderAppService.cs index d86eeddb..7530e593 100644 --- a/services/ordering/src/EShopOnAbp.OrderingService.Application/Orders/OrderAppService.cs +++ b/services/ordering/src/EShopOnAbp.OrderingService.Application/Orders/OrderAppService.cs @@ -42,8 +42,8 @@ public class OrderAppService : ApplicationService, IOrderAppService public async Task GetByOrderNoAsync(int orderNo) { - Logger.LogInformation($"========== {orderNo} ============== "); var order = await _orderRepository.GetByOrderNoAsync(orderNo); + Logger.LogInformation($" Order recieved with order no:{orderNo}"); return CreateOrderDtoMapping(order); } diff --git a/services/ordering/src/EShopOnAbp.OrderingService.Domain/Orders/Order.cs b/services/ordering/src/EShopOnAbp.OrderingService.Domain/Orders/Order.cs index bb2f3679..f7d44dcd 100644 --- a/services/ordering/src/EShopOnAbp.OrderingService.Domain/Orders/Order.cs +++ b/services/ordering/src/EShopOnAbp.OrderingService.Domain/Orders/Order.cs @@ -23,12 +23,13 @@ public class Order : AggregateRoot { } - internal Order(Guid id, Buyer buyer, Address address, PaymentType paymentType, Guid? paymentRequestId = null) : base(id) + internal Order(Guid id, Buyer buyer, Address address, PaymentType paymentType, + Guid? paymentRequestId = null) : base(id) { _orderStatusId = OrderStatus.Placed.Id; _paymentTypeId = paymentType.Id; OrderDate = DateTime.UtcNow; - OrderNo = id.GetHashCode(); + OrderNo = GenerateOrderNo(id); Buyer = buyer; Address = address; PaymentRequestId = paymentRequestId; @@ -36,6 +37,18 @@ public class Order : AggregateRoot OrderItems = new List(); } + private int GenerateOrderNo(Guid id) + { + // Simple order no generation. Should be improved for uniqueness. + var code = Id.GetHashCode(); + if (code < 0) // Should be negative + { + code *= -1; + } + + return code; + } + internal Order SetOrderAccepted(Guid paymentRequestId, string paymentRequestStatus) { PaymentRequestId = paymentRequestId;