set order status as paid after wallet payment

This commit is contained in:
2025-12-18 19:14:09 +03:30
parent 0362540875
commit add2127998
5 changed files with 28 additions and 41 deletions
@@ -37,8 +37,7 @@ export class OrdersService {
private readonly logger = new Logger(OrdersService.name);
private static readonly STATUS_TRANSITIONS: Record<OrderStatus, readonly OrderStatus[]> = {
[OrderStatus.NEW]: [OrderStatus.PENDING_PAYMENT, OrderStatus.CONFIRMED, OrderStatus.CANCELED],
[OrderStatus.PENDING_PAYMENT]: [OrderStatus.PAID, OrderStatus.FAILED, OrderStatus.CANCELED],
[OrderStatus.PENDING_PAYMENT]: [OrderStatus.PAID, OrderStatus.FAILED, OrderStatus.CANCELED, OrderStatus.CONFIRMED],
[OrderStatus.PAID]: [OrderStatus.CONFIRMED, OrderStatus.REFUNDED],
[OrderStatus.CONFIRMED]: [OrderStatus.PREPARING, OrderStatus.CANCELED],
[OrderStatus.PREPARING]: [OrderStatus.READY, OrderStatus.SHIPPED, OrderStatus.CANCELED],
@@ -56,7 +55,7 @@ export class OrdersService {
private readonly orderRepository: OrderRepository,
private readonly paymentsService: PaymentsService,
private readonly inventoryService: InventoryService,
) { }
) {}
async checkout(userId: string, restaurantId: string) {
const cart = await this.cartService.findOneOrFail(userId, restaurantId);
@@ -80,8 +79,7 @@ export class OrdersService {
totalItems: cart.totalItems || 0,
description: cart.description,
tableNumber: cart.tableNumber,
status: OrderStatus.NEW,
paymentStatus: PaymentStatusEnum.Pending,
status: OrderStatus.PENDING_PAYMENT,
});
em.persist(order);
@@ -35,7 +35,6 @@ export class OrderRepository extends EntityRepository<Order> {
page = 1,
limit = 10,
status,
paymentStatus,
search,
startDate,
endDate,
@@ -57,11 +56,6 @@ export class OrderRepository extends EntityRepository<Order> {
where.user = { id: userId };
}
// Filter by payment status
if (paymentStatus) {
where.paymentStatus = paymentStatus;
}
// Filter by date range
if (startDate || endDate) {
where.createdAt = {};