feat: update GetOrderByIdQuery to allow nullable UserId and adjust query handling in GetOrderByIdQueryHandler
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m43s
Build and Deploy to Kubernetes / build-and-deploy (push) Successful in 8m43s
This commit is contained in:
+1
-1
@@ -6,7 +6,7 @@ namespace CMSMicroservice.Application.DiscountShopCQ.Queries.GetOrderById;
|
||||
public class GetOrderByIdQuery : IRequest<OrderDetailDto?>
|
||||
{
|
||||
public long OrderId { get; set; }
|
||||
public long UserId { get; set; }
|
||||
public long? UserId { get; set; }
|
||||
}
|
||||
|
||||
public class OrderDetailDto
|
||||
|
||||
+9
-2
@@ -15,8 +15,15 @@ public class GetOrderByIdQueryHandler : IRequestHandler<GetOrderByIdQuery, Order
|
||||
|
||||
public async Task<OrderDetailDto?> 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)
|
||||
|
||||
@@ -86,10 +86,15 @@ public class DiscountOrderService : DiscountOrderContract.DiscountOrderContractB
|
||||
|
||||
public override async Task<GetOrderByIdResponse> 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)
|
||||
|
||||
Reference in New Issue
Block a user