diff --git a/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQuery.cs b/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQuery.cs index 46e1e86..1e4966f 100644 --- a/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQuery.cs +++ b/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQuery.cs @@ -6,7 +6,7 @@ namespace CMSMicroservice.Application.DiscountShopCQ.Queries.GetOrderById; public class GetOrderByIdQuery : IRequest { public long OrderId { get; set; } - public long UserId { get; set; } + public long? UserId { get; set; } } public class OrderDetailDto diff --git a/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQueryHandler.cs b/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQueryHandler.cs index 1e55328..75a16da 100644 --- a/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQueryHandler.cs +++ b/src/CMSMicroservice.Application/DiscountShopCQ/Queries/GetOrderById/GetOrderByIdQueryHandler.cs @@ -15,8 +15,15 @@ public class GetOrderByIdQueryHandler : IRequestHandler Handle(GetOrderByIdQuery request, CancellationToken cancellationToken) { - var order = await _context.DiscountOrders - .Where(o => o.Id == request.OrderId && o.UserId == request.UserId) + var query = _context.DiscountOrders + .Where(o => o.Id == request.OrderId); + + if (request.UserId.HasValue && request.UserId.Value > 0) + { + query = query.Where(o => o.UserId == request.UserId.Value); + } + + var order = await query .Include(o => o.UserAddress) .Include(o => o.OrderDetails) .ThenInclude(od => od.Product) diff --git a/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_GetUserWeeklyBalances.sql b/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_GetUserWeeklyBalances.sql index 7d4af2b..d36bf8d 100644 --- a/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_GetUserWeeklyBalances.sql +++ b/src/CMSMicroservice.Infrastructure/Persistence/StoredProcedures/sp_GetUserWeeklyBalances.sql @@ -35,7 +35,7 @@ BEGIN n.WeeklyPoolContribution, n.CalculatedAt, n.IsExpired, - n.Created, + CAST(n.Created AS datetimeoffset) AS Created, n.PackageId, ISNULL(p.Title, '') AS PackageTitle, COUNT(*) OVER() AS TotalCount diff --git a/src/CMSMicroservice.WebApi/Services/DiscountOrderService.cs b/src/CMSMicroservice.WebApi/Services/DiscountOrderService.cs index 4a37621..db640c2 100644 --- a/src/CMSMicroservice.WebApi/Services/DiscountOrderService.cs +++ b/src/CMSMicroservice.WebApi/Services/DiscountOrderService.cs @@ -86,10 +86,15 @@ public class DiscountOrderService : DiscountOrderContract.DiscountOrderContractB public override async Task GetOrderById(GetOrderByIdRequest request, ServerCallContext context) { + var currentUserId = GetCurrentUserId(); + long? filterUserId = request.UserId > 0 + ? request.UserId + : (currentUserId > 0 ? currentUserId : null); + var query = new GetOrderByIdQuery { OrderId = request.OrderId, - UserId = GetCurrentUserId() + UserId = filterUserId }; var result = await _sender.Send(query); if (result == null)